Course Outline

Syllabus and Learning Outcomes


Week 1: Intro and Thinking Like a Programmer Week 2: Programming Languages and Python Basics Week 3: Types, Lists and Dictionaries Week 4: While loops and For loops Week 5: Functions, and import Week 6: File I/O and String Manipulation Week 7: Datascience Pt. I - Numpy, Fitting and Prediction Week 8: Datascience Pt. II - Matplotlib, Data Visualization -- Easter Break -- Week 9: Introductory machine learning with SciKit learn Week 10: Programming in the Real World

Learning Outcomes

Students with little to no prior exposure to programming or python should feel comfortable with all concept covered in the class, and be able to apply the techniques discussed to problems they face in university courses or research.

Once equipped with a foundational understanding of programming, students will be able to independently build upon this by learning new languages, or increasing the sophistication of their python knowledge.


Many of the topics and exercises are heavily inspired by other courses which teach introductory programming and/or python, and we have made no effort to thoroughly cite sources.

However, Harvard's CS50 ( was the source of much inspiration for the early parts of the course, and for some of the exercises.

Last updated