Links to useful informationTopPrograms from LectureHomework and Programming Assignments

Homework and Programming Assignments


Programs for this course will be run on the Pomona College Computer Science department's lab facilities, based in Edmunds 227. You are welcome to use other computers to write and test your programs, but they must run on our facilities. You may log in remotely to any of the lab machines using ssh. Please do not log into any of our servers (e.g., project or xserv) to do homework.

If you do not have an account on the Pomona College Computer Science network, please go to immediately to request an account.

Turning in Homework

All homework should be turned in via the web page at If you have more than one file for an assignment, please put all associated files in a directory, zip up the directory, and then turn in the zipped directory. Programs should be submitted in separate files that we can run directly without editing or other modification

If you are running your programs on other computers, please make sure that you are using compatible versions of software. I will specify in class the versions that we have loaded on the Pomona College computers. Different versions of compilers or interpreters often use slightly different libraries that are incompatible with other versions. You are responsible for making sure that your program, as turned in, will run successfully without any extra work on my part. Include instructions on how to run your programs either at the top of the program file or in a separate README.

Non-program solutions can be turned in either as plain text or pdf (preferably generated by LaTeX). If you would prefer to write your solutions by hand, please scan them in so that they can be turned in electronically. Scanned papers must have sufficient contrast so that they can be read easily by the graders. A scanner is available in the small room between the two CS computer labs on the second floor of Edmunds. All items turned in must have your name on them (e.g., as comments for programs), as we will normally be looking at printouts, and will not know who to give credit to if there are no names printed.

An important criterion in grading homework will be clarity of solution. Thus you should attempt to explain your solutions, program or not, as clearly as possible. This also means that programs should be carefully documented so that we can understand them. At a minimum, each function defined should include a comment on what it does. The comment should explain what each input parameter stands for and how the output depends on the input.

Late policy

Problems involving analysis of programming language features will be assigned and due most weeks during the term. Homework will generally be due at midnight on Thursday nights until Thanksgiving, when the due date will shift to Tuesday nights. Each student may use a maximum of three late days during the course of the semester (note that weekend days count). Once those late days are used up, late homework will not be accepted.

Due Date     

Homework      LaTex      Solutions     

Sept. 12

Hmwk 1
Sept. 19 Hmwk 2
Sept. 26 Hmwk 3
Oct. 3 Hmwk 4
Oct. 10 Hmwk 5
Oct. 17 Hmwk 6
Oct. 31 Hmwk 7
Nov. 7 Hmwk 8
Nov. 14 Hmwk 9
Nov. 21 Hmwk 10
Dec. 3 Hmwk 11
Dec. 10 Hmwk 12

Links to useful informationTopPrograms from LectureHomework and Programming Assignments