Date |
Topics |
Readings |
Notes and Resources |
Week 0: Jan 24-27 |
Course introduction and Administrivia
Installing and running Python and Jupyter
|
Jupyter notebook documentation (required)
|
HW00
Administrivia slides
|
Week 1: Jan 30 - Feb 3 |
Basic Python: types, variables and functions
Basic Python: conditionals and iteration
|
Either A. B. Downey, Chapters 1 through 3 or Severance, Chapters 1, 2 and 4 (required)
Either A. B. Downey, Chapter 5 or Severance, Chapters 3 and 5
|
Playlist: types, variables and functions; Slides; Demo code
Lec01 in-class exercises
Playlist: conditionals and iteration; Slides; Demo code
Lec02 in-class exercises
|
Week 2: Feb 6-10 |
Sequence data: strings, lists and tuples
List comprehensions
Python dictionaries and hashing
|
|
|
Week 3: Feb 13-15 |
Files and I/O
Python on the Command Line
|
|
|
Week 4: Feb 20-24 |
Basics of object-oriented programming
Classes and instances
Methods and attributes
|
|
|
Week 5: Feb 27-Mar 3 |
Basic concepts in functional programming
Map, reduce and filter
|
|
|
Week 6: Mar 6-10 |
numpy, scipy and matplotlib
|
|
|
Week 7: Mar 13-17 |
Spring Break. No lecture.
|
|
|
Week 8: Mar 20-24 |
Python pandas
|
|
|
Week 9: Mar 27-Mar 31 |
Markup languages: HTML, XML and JSON
|
|
|
Week 10: Apr 3-5 |
Databases and SQL
Retrieving data with APIs
|
|
|
Week 11: Apr 10-14 |
Introduction to Hadoop and MapReduce
MapReduce using mrjob
|
|
|
Week 12: Apr 17-21 |
MapReduce using PySpark |
|
|
Week 13: Apr 24-28 |
Google TensorFlow and Keras |
|
|
Week 14: May 1-5 |
Google TensorFlow and Keras, cont'd |
|
|