The goal of this course is to read through Brian Kernighan and Rob Pike's book "The Practise of Programming" and thereby gain an understanding of techniques that make individual programmers more effective and productive.
IMPORTANT: I've been told that the summer session technically starts on June 1, 2006, and students are still choosing sections. In view of this, it seems I'll have to push the due dates out a bit. I haven't decided yet, but the first HW will likely be due June 7.
IMPT Put POP in the subject line to ensure my spam filter doesn't drop your mail.
There is an official website for the book, but Kernighan and Pike maintain a far superior site, which includes source code for examples.
Kernighan teaches a class based on the PoP text; he has links to some wonderful readings.
I will assign 9 assignments consisting of exercises from PoP. The homeworks will not be programming intensive-their goal is to make you read PoP in an organized manner.
Grades will be assigned on the basis of performance on the homework.
Some comments on Chapter 1.
Star credit: Comment a given C library that implements a bitvector type in the doxygen style. Details: Star 1
Due June 7.
Some comments on Chapter 2.
Star credit: Write code to group the vertices in an undirected graph into two disjoint sets A and B of equal size while minimizing the number of edges that have one endpoint in A and one in B. Apply your algorithm to the given examples. Details: Star 2
Due June 18.
Some comments on Chapter 3.
Due June 25.
Some comments on Chapter 4.
Due July 2.
Some comments on Chapter 5-6.
Due July 9.
Star credit: Write a set of tests for a generic array package that will be provided. Details: Star 3
Some comments on Chapter 7-8.
Star credit: You will be provided code implementing hashing, and will be required to identify the performance bottlenecks in the code. Details: Star 4
Due July 23.
Due July 30.