intro to
scientific computing

Welcome!

This course was taught during a previous DSEER summer bootcamp and is now available for independent learners and teachers! The lessons are split into nine days, but feel free to go at the pace that is most comfortable for you. The course is designed for beginners to programming and/or Python, and was taught by Amanda Farah, Maria Hernandez, and Katie Dixon. 

Course description:

Introduction to Scientific Programming: For students new to programming, a crash course in the basics to get you up to speed: variables, arrays, list, for loops, if statements, and functions, and how to work with NumPy, Pandas, and Matplotlib for basic data sciences purposes in Python.

Let’s get started! Open the PDF linked under ‘Day 1’ and follow the instructions to begin the course.

DAY 1: Introduction

Python Notebook PDF

  • Outline goals for the bootcamp, learn how to navigate the course
  • Discussion on what programming is, how its useful, and what languages to use for what purposes
  • Installation/how to use the tools of the trade

Day 2: Data types

Python Notebook PDF

  • Data types in python: variables, booleans, ints, floats, strings
  • Data storage: Lists, indexing, dictionaries, and string manipulation
  • Built-in functions: min, len, print, range, who

DAY 3: If/else and loops

Python Notebook PDF

  • Go over an introduction to for loops
  • Begin using if/else statements for multiple conditions, learn elif statements
  • Additional tools: dictionaries and f strings                                                 

DAY 4: Functions

Python Notebook PDF

  • Define functions, create functions that print outputs and return statements
  • Learn how to use lists and dictionaries as arguments        
  • Learn how to pass an arbitrary number of arguments to the function                              

Day 5: Numpy

Python Notebook PDF

  • Numpy arrays: the basic building block of scientific computing in python
  • Do array-wise operations and math for 2D and n-dimensional arrays
  • Load data in numpy, use various numpy functions     

Day 6: Plotting

Python Notebook PDF

  • Get used to plotting basic plots in Matplotlib, introduction to defining functions with different arguments
  • Make multiple subplots and plot multiple lines in one figure
  • Make scatterplots and histograms, learn to plot using a function

Day 7: Pandas

Python Notebook PDF

  • Importing & exporting CSVs in Pandas
  • First glances at the data: Head, keys, sort
  • Indexing, adding, and removing data within a dataset: (.iloc, loc), set_index

Day 8: Visualization

Python Notebook PDF

  • Simple math and string manipulation
  • Combine data and work with multiple tables: merge, concatenate, append
  • Intro to pivot tables and groupby

DAY 9: Conclusion

Python Notebook PDF

  • Pandas – Plotting, Stats, and Seaborn
  • More understanding of groupby
  • Introduction to graph automation
  • Scatterplots, heatmaps, density plots, violinplots

Reference PDF

Cheat sheet including functions covered each in each day, their definitions, and additional resources for learners.

Resources for Instructors

Supplementary materials for instructors planning on teaching this bootcamp in their classrooms/departments/programs.

Feedback

See what previous generations of students have to say about our bootcamps and contribute your own feedback.

This page was contributed to by Katerina Levi, Jess Senger, Hunter Kuhlemeier and Hannah Maidman.