Announcements

Welcome!

All assignments, labs, and information will appear here by week, in chronological order. I originally had them in reverse order, but I changed my mind. I realized that if I want to put a bunch of assignments up at a time (and encourage people to work ahead), then reverse order makes that more confusing.

Week 1

Introduction Assignment
Due by 11:55 pm on Tuesday, March 28.
The Scheme Programming Language Chapters 1-2
Skim this material before you work on the Scheme lab.
Lab: Scheme
Work through this entire lab before class on Wednesday, March 29. Submit your answer to Part 2 #2 by 11:55 PM on Tuesday, March 28.
Reading: Scott, Chapter 1
Read by 11:55 pm on Wednesday, March 29.
Reading: All I Needed To Know About Pair Programming I Learned in Kindergarten
Read by 11:55 pm on Thursday, March 30.
Lab: Scheme
Submit your answer to Part 6 #4 by 11:55 PM on Saturday, April 1.
Presentation signup
Sign up with a partner for your presentation, or email me and tell me that you're looking for a partner. One or the other should be done by Saturday, April 1, at 11:55 PM.

Week 2

Scheme: Warmup
Individual assignment. Due by 11:55 PM on Monday, April 3.
Reading: Scott, Chapter 10
Skim this chapter by 11:55 PM on Tuesday, April 4: it contains much of the same material you have now seen elsewhere.
Reading: Scott, Chapter 2.1
Read this section by 11:55 PM on Tuesday, April 4.
Scheme: Binary Search Trees
Team assignment. Due by 11:55 PM on Wednesday, April 5.
Reading: Scott, Chapter 3
Read this chapter by 11:55 PM on Thursday, April 7.
Scheme: Lazy Lists
Individual assignment. Due by 11:55 PM on Saturday, April 8.

Week 3

Scheme: Converting Numbers to Words
Team assignment. Due by 11:55 PM on Monday, April 10.
Scheme: Set Operations
Individual assignment. Due by 11:55 PM on Wednesday, April 12.
Peer Evaluations
Due by 11:55 PM on Thursday, April 13.

Week 4

Scheme: Sieve of Eratosthenes
Team assignment. Due by 11:55 PM on Monday, April 17.
Scheme: Currying
Individual assignment. Due by 11:55 PM on Wednesday, April 19.
Written Assignment #1
Individual assignment. Due in Dan Lew's department mailbox by the end of class on Friday, April 21.
I'll be out of town, but appoint someone to take the homework to Dan Lew's department mailbox at the end of class.
Reading: Scott, Chapter 6
Read this chapter by 11:55 PM on Saturday, April 22.

Week 5

Scheme: Mergesort
Team assignment. Due by 11:55 PM on Monday, April 24.
Exam 1
Wednesday, April 26, in class.
Scheme: Memoization
Individual assignment. Due by 11:55 PM on Saturday, April 29. Feel free to turn this in earlier if this interferes with break (I originally had it due on Friday instead of Saturday).

Week 6

Scheme: Nested Sets
Team assignment. Due by 11:55 PM on Wednesday, May 3.
Peer Evaluations
Due by 11:55 PM on Thursday, May 4.
Java Warmup (Optional)
Individual assignment. Due by 11:55 PM on Saturday, May 6. Nothing to turn in. Do this lab if you are new to Java, new to Java 1.5, or if you wish to brush up on your Java skills.

Week 7

Java: Sorting
Individual assignment. Due by 11:55 PM on Monday, May 8.
Java: Sieve of Eratosthenes
Individual assignment. Due by 11:55 PM on Saturday, May 13.
Reading: Scott, Chapter 7

Week 8

Written Assignment #2
Individual assignment. Due at the beginning of class on Monday, May 15.
Reading: Scott, Sections 8.3 and 8.4
Lab: Prolog
To be done in class in teams on Monday, May 15, and completed afterwards. Submit your answer to Part 3 #6 by 11:55 PM on Wednesday.
Prolog: Warmup
Team assignment. Due by 11:55 PM on Saturday, May 20.

Week 9

Prolog: Median
Team assignment. Due by 11:55 PM on Monday, May 22.
Prolog: Send More Money
Individual assignment. Due by 11:55 PM on Wednesday, May 24.
Prolog: Subsets
Team assignment. Due by 11:55 PM on Saturday, May 27.

Week 10

Prolog: Set Equality
Individual assignment. Due by 11:55 PM on Wednesday, May 31.

Finals Weeks

Exam 2
Self-scheduled.
Peer Evaluations
Due by 5:00 PM on Monday, May 5.

Other Info

The Carleton Sentinel is our departmental email newsletter. It contains news about job opportunities in computer science, courses you may want to take, departmental events, and whatever else we think may be relevant. If you're not a subscriber, please subscribe! Go to the email list home page, click Subscribe, and enter your email address. Make sure that you aren't using some fancy spam filtering mechanism that looks for brackets in the subject line: you'll miss both this newsletter and course emails.