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., vpn 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

Runnable copies of programs for 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.

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.

I prefer to receive copies of all problems, whether program or not, in the web-based dropbox. 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 turn in printouts of all problems (including the programs), but also turn in programs in the dropbox. All items turned in must have your name on them (e.g., as comments for programs), as I 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 I 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 the beginning of class on Fridays. 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     

Jan 28

Hmwk 1 hmwk1.tex solution
Feb 4 Hmwk 2 hmwk2.tex solution
Feb 11 Hmwk 3 hmwk3.tex solution
Feb 18 Hmwk 4 hmwk4.tex solution

Feb 25

Hmwk 5 hmwk5.tex solution
March 4 Hmwk 6 hmwk6.tex solution
March 11 Hmwk 7 hmwk7.tex solution
April 1 Hmwk 8 hmwk8.tex solution
April 8 Hmwk 9 hmwk9.tex solution
April 15 Hmwk 10 hmwk10.tex solution
April 22 Hmwk 11 hmwk11.tex solution
April 29 Hmwk 12 hmwk12.tex solution

Links to useful informationTopPrograms from LectureHomework and Programming Assignments