Source: http://www.cs.carleton.edu/faculty/dlibenno/old/cs111-spring08/
Timestamp: 2019-04-25 18:50:30+00:00

Document:
Lecture: 4a (MW 12:30--1:40p, F 1:10--2:10p), CMC 210.
Prefecting sessions: Thursdays 8:00–9:00p in CMC 210, Sundays 8:00–9:00p in CMC 210.
Part I of PS1, on some general logistical stuff and some familiarization with the tools we'll use in the course, is due on Wednesday. Be sure the bring back the background survey on Wednesday. You should complete this lab to introduce you to the Linux and the CS computing environment by Wednesday, too.
Part II of PS1, on Romeo and Juliet, is due on Friday.
Read this description of pair programming and its benefits, and this description of how to deal with partners who aren't pulling their weight. Always remember that you have my permission to split up with your assigned partner if the team isn't working out.
Prefecting sessions have been scheduled. They'll be on Thursdays and Sundays, both 8:00–9:00p in CMC 210.
Part I of PS2, on some simple Python and figuring out who you can date, is due on Sunday, 6 April 2008.
31 March 2008 (M): introduction to computer science; course overview.
Reading: §1.1–1.5, and the above readings on pair programming.
2 April 2008 (W): algorithms; algorithms for addition (plus subtraction, multiplication, division) and card sorting.
4 April 2008 (F): basic Python, pair programming, and dating protocols.
PS3, on writing out numbers, is due on Thursday, 8 April 2008 Sunday, 13 April 2008.
7 April 2008 (M): how computers work, data and data types, and why 0.64 - 0.635 - 0.05 is not zero.
Reading: §2.6, 3.6, 4.1–4.3, 4.4.4, 7.1–7.2.
9 April 2008 (W): Joe Tennis on the semantic web, recap of things you already know, control structures (if, while, for).
Reading: §3.3, 4.6, 7.3, 8.1–8.2.
11 April 2008 (F): strings, slices, Lake Chargoggagoggmanchauggagoggchaubunagungamaugg, and some fun with words.
Reading: review §4.3, 4.6, 7.1–7.3, 8.1–8.2; read 8.3–8.4.
Part I of PS4, on LiveJournal, is due on Wednesday, 16 April 2008.
Part II of PS4 is due on Thursday, 17 April 2008.
If you're looking for python documentation, you can take a look at docs.python.org.
14 April 2008 (M): variables as names, how for loops work, and a few more games with words.
16 April 2008 (W): a little on debugging code, and how functions work.
18 April 2008 (F): more on functions; pretty printing.
Reading: §3.2, 4.4, 4.5, 7.4.
Peer evaluations for PS4 are due on Sunday, 20 April 2008.
I will be shuffling partnerships early next week. If you would like to opt out of having a partner, please let me know. Also, if you're neutral about having a partner, please let me know that as well. Having a few people who don't care either way is helpful in dealing with odd numbers. Please email me by Sunday, 20 April 2008, if you are either opting out or neutral; if I haven't heard from you, I'll assume that you want a partner.
Part I of PS5, on Scrabble, is due on Sunday, 20 April 2008.
Part II of PS5 is due on Monday, 21 April 2008.
The first midterm will be held on Wednesday, 23 April 2008. Any material that we've discussed in the class is fair game, which means anything in class through Monday, 21 April; problem sets 1–5, and Chapters 1–4 and 6–8 (except for a few isolated sections). I've gotten a request to pull together some exercises from the book that would be good practice for the exam. Here are some that I've identified. Certainly don't feel like you have to do all of them, but these are good ones to try.
The utterly optional part III of PS5 is due on Thursday, 24 April 2008.
The documentation for the graphics class is here.
21 April 2008 (M): prime numbers, review of bits/bytes/data representation.
Reading: Arthur C. Clarke, "The Nine Billion Names of God"
23 April 2008 (W): midterm #1!
25 April 2008 (F): nine billion names and the objects/graphics lab.
PS6, on some practice with graphics, faces, and objects, is due on Monday, 28 April 2008.
Part I of PS7, on cities, classes, and objects, is due on Sunday, 4 May 2008.
My office hours on Wednesday, 30 April, are rescheduled. They will be held 3:30–5:00p.
28 April 2008 (M): objects and classes.
30 April 2008 (W): objects and classes: circles, eyeballs, and baseball.
2 May 2008 (F): objects and classes: baseball and auctions.
Part II of PS7 is due on Tuesday, 6 May 2008.
Part I of PS8, on image processing, is due on Friday, 9 May 2008, before class.
The documentation for images.py can be found here.
If you're working on your home computer, you'll also need to install the Python Imaging Library (PIL), which images.py uses. Follow these instructions for installing PIL under Windows XP or Mac OS X. We already have PIL installed on the department Linux machines.
5 May 2008 (M): midterm break!
7 May 2008 (W): auctions, lists of lists, and an introduction to image processing.
9 May 2008 (F): more on nested loops and image processing.
Instead of my usual office hours on Tuesday, 13 May 2008, I'll have office hours from 3:00p to 4:00p on Monday, 12 May 2008, and from 9:45a to 10:45a on Tuesday, 13 May 2008.
The second midterm will be held on Wednesday, 14 May 2008. Any material that we've discussed in the class, that you've read, or that has been on the assignments is fair game, though you can expect a heavier emphasis on more recent material. I will try to pull together some practice problems over the weekend.
Part II of PS8 is due on Monday, 12 May 2008, before class.
Peer evaluations for the second block of partnerships are due by Friday, 16 May 2008.
12 May 2008 (M): wrapup of crossword word list generation and rotation/doubling/halving of images, variable scope, and aliasing.
Reading (for Friday): §12.1–12.4, §6.6, §7.4–7.5.
14 May 2008 (W): midterm #2!
16 May 2008 (F): recommender systems.
Part I of PS9, on some more image processing, is due on Wednesday, 21 May 2008, before class.
Part II of PS9 is due on Friday, 23 May 2008, before class.
19 May 2008 (M): recommender systems, palindromes, and recursion.
21 May 2008 (W): recursion ("Nine Billion Names"), search, and computational complexity.
23 May 2008 (F): linear search and binary search.
Part I of PS10, on recursion, is due on Wednesday, 28 May 2008, before class.
Part II of PS10, on fractals, is due on Friday, 30 May 2008 Monday, 2 June 2008, before class.
Because of Ron Rivest's visit to Carleton this week, both my office hours and Elizabeth's prefect sessions will be shuffled around. Keep an eye on your email for updates, and, as always, feel free to contact me if you have questions or if you want to make an appointment. Please include times that you are free if you're requesting an appointment.
26 May 2008 (M): binary search recap and sorting lists.
28 May 2008 (W): more on sorting (animation #1), analysis of running time, more on recursion.
30 May 2008 (F): Ron Rivest: cryptography and secret sharing.
2 June 2008 (M): sorting wrapup (animation #2), course review, course evaluations, and social networks.
4 June 2008 (W): midterm #3!
Final projects are due on the last day of finals, 9 June 2008.

References: §1
 §2
 §3
 §4
 §3
 §12
 §6
 §7