Schedule
Lecture Schedule
The following schedule is preliminary. Lecture topics and due dates for homeworks and MPs will be updated throughout the term.
Week 1
- Lecture 1: Course Introduction Wednesday, January 22
- HW 1 - Syllabus Released Wednesday, January 22
Week 2
- Lab 1 - Intro
- Lecture 2: Types Monday, January 27
- Lecture 3: Logic Wednesday, January 29
- HW 1 - Syllabus DUE Wednesday, January 29
- HW 2 - Types and Logic Released Wednesday, January 29
Week 3
- Lab 2 - Python as an Expensive Calculator
- Lecture 4: Loops Monday, February 3
- Lecture 5: Functions Wednesday, February 5
- Quiz 1 Open for Registration (Thursday, February 6)
- HW 2 - Types and Logic DUE Wednesday, February 5
- HW 3 - Loops and Functions Released Wednesday, February 5
Week 4
- Lab 3 - Loops and range
- Lecture 6: Functions 2 Monday, February 10
- Lecture 7: Dictionaries Wednesday, February 12
- HW 3 - Loops and Functions DUE Wednesday, February 12
- HW 4 - Functions and Dictionaries Released Wednesday, February 12
- MP 1 Released Friday, February 14
Week 5
- Lab 4 - Functions
- Lecture 8: Files Monday, February 17
- Lecture 9: Pseudocode Wednesday, February 19
- Quiz 1 Starts Friday, February 21 -- Monday, February 24
- Quiz 2 Open for Registration (Thursday, February 20)
- HW 4 - Functions and Dictionaries DUE Wednesday, February 19
- HW 5 - Files and Pseudocode Released Wednesday, February 19
Week 6
- Lab 5 - DNA Sequencing
- Lecture 10: Debugging Monday, February 24
- Lecture 11: Exceptions Wednesday, February 26
- HW 5 - Files and Pseudocode DUE Wednesday, February 26
- HW 6 - Debugging and Exceptions Released Wednesday, February 26
- MP 1 DUE Friday, February 28
- MP 2 Released Friday, February 28
Week 7
- Lab 6 - Debugging Skills
- Lecture 12: Classes 1 Monday, March 3
- Lecture 13: Classes 2 Wednesday, March 5
- Quiz 2 Starts Friday, March 7 -- Monday, March 10
- Quiz 3 Open for Registration (Thursday, March 6)
- HW 6 - Debugging and Exceptions DUE Wednesday, March 5
- HW 7 - Unit Tests and Libraries Released Wednesday, March 5
Week 8
- Lecture 14: Inheritance Monday, March 10
- Lecture 15: Unit Testing Wednesday, March 12
- Final Open for Registration (Friday, March 14)
- HW 7 - Unit Tests and Libraries DUE Wednesday, March 12
- HW 8 - Memory Released Wednesday, March 12
- MP 2 DUE Friday, March 14
Week 9
Week 10
Week 11
- Lecture 18: Matplotlib 1 Monday, March 31
- Lecture 19: Matplotlib 2 Wednesday, April 2
- HW 10 - Numpy Released Wednesday, April 2
- HW 9 - Classes DUE Wednesday, April 2
- MP 3 Released Friday, April 4
Week 12
- Lab 8 - Enigma with Unit Tests
- Lecture 20: Numpy 1 Monday, April 7
- Lecture 21: Numpy 2 Wednesday, April 9
- Quiz 4 Starts Friday, April 11 -- Monday, April 14
- Quiz 5 Open for Registration (Thursday, April 10)
- HW 10 - Numpy DUE Wednesday, April 9
- HW 11 - Matrices and Plotting Released Wednesday, April 9
Week 13
- Lab 9 - Censorship
- Lecture 22: Numpy 3 Monday, April 14
- Lecture 23: Pandas 1 Wednesday, April 16
- HW 11 - Matrices and Plotting DUE Wednesday, April 16
- HW 12 - Data Cleaning and Filtering Released Wednesday, April 16
- MP 3 DUE Friday, April 18
- MP 4 Released Friday, April 18
Week 14
- Lab 10 - Sympy, Scipi, and fun libraries to use
- Lecture 24: Pandas 2 Monday, April 21
- Lecture 25: Pandas 3 Wednesday, April 23
- Quiz 5 Starts Friday, April 25 -- Monday, April 28
- HW 12 - Data Cleaning and Filtering DUE Wednesday, April 23
Week 15
- Lab 11 - Pandas
- Lecture 26: Cool Problem 1 Monday, April 28
- Lecture 27: Cool Problem 2 Wednesday, April 30
- MP 4 DUE Friday, May 2
Week 16
- Lecture 28: Cool Problem 3 Monday, May 5
- Lecture 29: Review Session Wednesday, May 7
- Final Starts Friday, May 9 -- Thursday, May 15