CSE 332 Projects

The course will have three programming assignments. These are based on homework assignments used in previous quarters for CSE 332 with some important differences. This quarter, all programming assignments will be done individually, so the assignments have been scaled back from the previous quarters. The deadlines are strict, there are no late days.


If you run into difficulties on the assignments, you are encouraged to contact the TAs and the instructor.

One of the ugly truths about programming, is that in general, you spend far more time debugging, than writing new code, and it will only get worse as you progress to working on larger software systems. Adam Blank has written a debugging guide that may prove useful. The programming assignments have been written to utilize Java generics. The generics in Java are controversial, as they were added after the language was designed, and many consider them to be "broken". We have provides some notes on generics to help you through. You should ask for help if you run into problems on generics, and not spend an excessive amount of time beating your head a against the wall.

You should use Eclipse for programming in Java, and the department Gitlab for assignment submission. This handout provides important background.

  • Project 1, Due Wednesday, April 13, Project specification: PDF.
  • Project 2, Due Monday, May 9, Project specification: PDF.
  • Project 3, Due Wednesday, June 1, Project specification: PDF, Games handout: PDF, Google Compute Engine Handout: PDF.