This course will use problems selected from ACM programming competitions and the field of artificial intelligence in order to provide a fun and practical motivation for the study of intermediate level data structures and algorithms.
By the end of this course, you should be able to solve many types of problems that require an intermediate level understanding of data structures and algorithms using the Java programming language. The topics covered will include:
You may either do the assignment on your own or with one other person who is taking this course. If you work with one other person, submit only one solution with both of your names on it.
In order to foster your learning of the material, you are not allowed to submit a solution that you (and your partner if you worked with a partner) did not develop.
Each laboratory assignment must be e-mailed to John by 23:59:59 on the Monday preceding the next lecture period. For example, the graded laboratory on 11.10 is due no later than 23:59:59 on 16.10. Submissions received after this time will not receive any credit. Assignments will typically be graded before the next lecture.
The subject line of the e-mail should read as follows: Submission for Name-1, Name-2 where Name-1 is replaced by your name and Name-2 is replaced by the name of your partner if you worked with a partner. Attach your java solution (all files should be in plaintext and have a .java extension) to the message. Please do not attach input files or output files.
Each week's laboratory assignment is worth three points. The grading will work something like this:
It is also important to match the specified output format exactly, read from the specified input source and write to the specified output source.
There will be no required textbook for this course. There are many useful resources freely available on the web.
Last modified: January 16, 2007.