Home
Teaching
 
CS 2510 Su '10
General
Readings
Syllabus
Assignments
Communication
Blog
Labs
Office Hours
Advice

Assignments

Assignments and projects: Work with your partner and hand in one joint program.

Assignments: Some weekly programming assignments that lead to a larger program. You will build on the solution(s) from the previous week(s) as you go on.

Work on the assignment with your partner. If you follow the design recipe carefully, the assignments should be straightforward.

Work on the project with your partner. Here you have the opportunity to be creative and engage in the design process from the beginning. Make sure you follow the instructions carefully. Just writing a program that works does not guarantee even a passing grade for the project!

DUE DATES: Homework assignments must be submitted by 10:00 pm on Tuesdays and Thursdays unless otherwise specified.

Turn in each assignment with a Java comment on the top of the assignment that specifies the following pieces of information:

  • Assignment: (number)
  • Name:
  • ID: (last 4 digits only)
  • Name:
  • ID:
Omission of this information leads to immediate loss of all credit for the homework.

Program style matters. Make your programs readable. Include white space, use indentations, and, of course, do not forget the purpose statements. Additionally, make sure your program never exceeds 80 characters per line. Programs that do not follow these guidelines will loose points.

WeekAssignmentsDue Date
1     

Review HtDP: Loops, Accumulator style programs, World

5/13
2     

Data definitions and class diagrams to represent classes; containment, union, mutual reference.

5/18
3     

Methods for classes. Designing methods for containment, unions, mutually referential data.

5/20
4     

More methods for data; Abstract class, subclasses. Using libraries: The World Teachpack.

5/25
5     

Equality. Methods as Objects. Traversals.

5/27
6     

Graph traversals: BFS, DFS; Linked lists.

6/1
7     

ArrayList-based implementation of Stack vs. Queue, Set vs. Bag; Binary Search.

6/3
8     

Image processing; Sorting algorithms.

6/8
9     

Image processing; Sorting algorithms.

6/10
10     

Dynamic programming: seam carving; Sorting algorithms stress tests; Programming to interfaces: musical game.

6/15
11     

Using libraries (Maps, hash tables, trees, priority queues); JUnit (Hamlet and others)

6/18
12     

Final Project: Universe game.

6/24
13     

Final Project

6/24
14     

Final Project

6/24

last updated on Mon May 10 17:48:21 EDT 2010generated with PLT Scheme