Readings

Day 1

For the first class, read all of Chapter 1 and all of Chapter 2. It will be useful to refer to section 4.12 of Chapter 4.

Day 2

For the second class, read sections 4.1, 4.2, 4.4 - 4.7, and 4.12 of Chapter 4.

Day 3

For the third class, read all of Chapter 3.

Day 4

For the fourth class, read all of Chapter 7 and 6.1 and 6.2.

For more on functions and return statements, review 4.8 and 5.1-5.4.

Day 5

For the fifth class, read sections 7.1 - 7.9, sections 8.1 - 8.8 and sections 9.1 - 9.3.

Day 6

For Day 6, catch up on any reading you've missed and read Chapter 10.1-10.3 and 10.7.

Day 7

For Day 7, read all of Chapter 12.

Day 8

For Day 8, read all of Chapter 13 and Chapter 14.

Day 9

For Day 9, read all of Chapter 16.

Day 10

No readings today!

Day 11

No readings today!

Day 12

For Day 12, read the "List Comprehensions" section of Chapter 2 of the 6.01 Course Notes.

Day 13

For Day 13, read 4.9-4.11 and 5.5-5.7.

Exercises/Labs and Solutions

Homework 1: Checkoffs 1 & 2 due Wed Jan 8 at 5 PM

Here is a digital copy of the checkoff exercises for homework 1, as well as a digital copy of the optional homework 1 problems. For Homework 1, you'll need the homework_1.py template.

Solutions

Homework 2: Checkoffs 3, 4 & 5 due Fri Jan 10 at 5 PM

Here is a digital copy of the checkoff exercises for homework 2, as well as a digital copy of the optional homework 2 problems. For Homework 2, you'll need the homework_2a.py and homework_2b.py templates, as well as strings_and_lists.py and nims.py

Solutions

Project 1: Hangman - Due Wed Jan 15

Handouts

Solutions

Homework 3: Checkoffs 6 and 7 due Fri Jan 17 at 5 PM

Homework 4: Checkoffs 8 and 9 due Wed Jan 22 at 5 PM

Project 2: Simulating Robots - Due dates Wed Jan 22 at 5 PM through Fri Jan 24 at 5 PM

Take-Home Mini Quiz (OPTIONAL)

This mini quiz is totally and entirely optional. You don't need to turn it in, it is all for your benefit. You are, however, more than welcome to go over your solutions with the teaching staff, or get help if you are having trouble with any of the problems. However, do try to give this an honest shot, as it'll help you get a feel for your programming skills.

Handouts

Handouts and Code Used in Lecture

Day 1

The syllabus (PDF) explains the course and details the grading policy.
Getting Started explains how to get Python installed on your machine, and includes a few sample exercises to get you up and off the ground with Python!

Day 2

In lecture, we gave a handout on how to properly comment your code.
There is also some sample code and associated lecture notes.
You can also review the example we did in lecture.

Day 3

Here is some sample code from material covered in class.

Day 4

Here is the code we wrote today.

Day 5

Here is the loops code and strings, tuples and lists code we looked at today.

Day 6

Here is lecture6.py, which contains information on dictionaries and checking if all items of a list satisfy a certain condition.

Day 7

Here is point.py, which contains the Point class we defined in lecture today.

Day 8

Here is the code from Day 8.

Day 9

Here is the code from Day 9.

Day 10

Here is lecture10.py, which contains examples of common mistakes we've seen.

Day 11

Here is lecture11.py, which contains examples of simulations, including an example using classes that should help with your second project.

Day 12

Here is monte_carlo_pi.py, which contains the example of using monte carlo simulation to estimate the value of pi. Here is comprehension_examples.py which shows some sample usage of list comprehensions.

Day 13

Here is lecture13.py, which contains two simple recursive functions.