4.2-4.3 Boolean expressions & logical operators
4.12 Keyboard input
7.4-7.6 String slices, comparisons, immutability
8.4, 8.6-8.9 List membership, operations, slices, mutability, deletion
8.11-8.12 Aliasing & cloning lists
8.14-8.15 Nested lists
6.2 The while statement
7.3 Traversal and the for loop
1.3 What is debugging?
Appendix A Debugging
10 intro - 10.3 Dictionaries
4.9, 5.1 return
Review Appendix A - debugging
11 intro, 11.1, 11.3-11.4 File input/output
3.4 Math functions
9.4 Random numbers
9.5 List of random numbers
12, 13 Object Oriented Programming
Chapters 14 - 16 - Object Oriented Programming and Inheritance
Review 12-16 - OOP
4.9-4.10, 5.5, 17.4 - Recursion
Homework and projects
Checkoff 1, due Mon Jan 12 at 5 p.m.
Install Python and the matplotlib and numpy libraries by following the Getting started guide. Next, check that your installation works by running pkgtest.py. Running the file produces should produce a graph.
For your checkoff, you will run this file for an LA and demonstrate how to create a new Python file. Our goal is to make sure everyone is ready to get coding and understands office hours procedures.
Thanks to 6.0001 for letting us use the installation guide and test file.
Checkoff 2, due Wed Jan 14 at 5 p.m. ***updated 1/13 @ 10:18AM**
Checkoff 3, due Fri Jan 16 at 5 p.m.
Checkoff 4, due Tue Jan 20 at 5 p.m. **updated 1/19 @ 5:17PM**
Checkoff 5 has been updated. If you already started on the old 5.2 and 5.3 (math and random), don't worry! They'll be on Checkoff 6. Sorry for the confusion! This change makes the checkoff closer to what we covered in lecture, and cuts the amount of code you have to write by 60%.
Checkoff 5, due Thu Jan 22 at 5 p.m.
Project 1, due Fri Jan 23 at 5 p.m.
Checkoff 6, due Mon Jan 26 at 5 p.m.
Project 2, due Fri Jan 30 at 5 p.m.
Checkoff 7, due Wed Jan 28 at 5 p.m.
Lecture materials and code
Review the syllabus (PDF) before the first day of class.
The lecture notes cover some FAQs and organizational concerns, as well as variables, mathematical operations, and a high-level overview of where we're going with the class.
The lecture 3 notes cover string methods and introduce a new type, lists. We learn about mutability, and how it can cause unexpected results in our programs.
lecture 4 notes: lec04.py
If you think the pace of class is too slow, work on one of the boredom busters when we're discussing a topic you understand.
Here are lecture notes. The following are pieces of example code we may or may not have gotten to in class that day: style, basic functions, common mistakes, an example to debug, and an example using pdb
attribute_vs_subclass.py Note: minor changes may have been made to this file for lecture