Fall 2009 — Professor Markstrum


Course Information

Labs (These are all Collaborative Discussion, Individual Writeup)

Lab 1 — Eclipse

Lab 2 — Subversion

Lab 3 — Debugging

Lab 4 — UML and Violet

Lab 5 — Exceptions and Javadoc

Lab 6 — Recursion

Lab 7 — Quicksort and Analysis

Lab 8 — Linked List
A text copy of the list in case eclipse messes up the spacing in the examples.

Lab 9 — Stack

Lab 10 — Queue

Lab 11 — Priority Queue

Programming Assignments (These are marked Group Work or Individual Work below)

The last step of each team project is to email me an evaluation of the team work. I have access to the log files from SVN submissions which gives me further information. If I determine that there was an issue, I may shift up to 10% of credit from one partner to the others.

How to work effectively as a team:

  1. Avoid the temptation to do all the work yourself.
  2. Avoid the temptation to let your partners do all the work.
  3. Initially meet up as a team and discuss the work to be done and your strategy.
  4. Schedule meeting times when you can do work together or at least discuss what has been done.
  5. As a team, set goals for seperate work if you plan to do any. It will keep you from repeating work that one team mate is already doing.
  6. When ever you sit down with the project, all of you should do an update to get the latest version of the files.
  7. When you do work seperately, remember to commit it so that your partners can also see this work and my logs let me know you have contributed to the project.
  8. When ever you do a commit, give a good comment. "Did stuff" is pointless. "Fixed a problem where the arrays were too small (me and Joe)" is very informative.

1: HighLife (Group Work) (Updated with phase 4 instructions!)
Files: Cell.java, TestRandomArray.java
Phase 1 Due Date: 09/14/09
Phase 2 Due Date: 09/23/09
Phase 3 Due Date: 09/24/09
Phase 4 Due Date: 09/28/09 (Individual Work)

2: Robot Maze (Group Work)
Files: Mazes Tar Repository (look up tar to open it), A version of the Maze GUI I showed in class, with the two necessary Maze and Robot interfaces required to use it (again, look up tar to open it)
Phase 1 Due Date: 10/05/09
Phase 2 Due Date 10/19/09
Phase 3 Due Date 10/20/09
Grading Guidelines: Phase 1, Phase 2

3: BO (Group Work)
Files: BO.jar
Links: GUI Javadoc
Phase 0 Due Date: 10/21/09
Phase 1 Due Date: 10/28/09 Extended: 10/30/09
Phase 2 Due Date: 11/09/09 Extended: 11/10/09
Phase 3 Due Date: 11/10/09 Extended: 11/11/09
Grading Guidelines: Phase 1, Phase 2.

4: Web Server Simulation (Individual Work)
See my notes on the previous projects for general design and coding guidelines.
Grading Guidelines: Phase 1 (coming soon)

Extra Credit Opportunities (These are marked Group Work or Individual Work below)

All (normal) EC is due by midnight on the last Monday of classes in Subversion. Each (normal) EC is worth .5 on your overall grade. All EC must be accompanied by an email to the professor with "EC" as the subject.

Quiz Answers

Exam Study Guides

Exam 2 officially (unanimously) moved to Monday 11/2/09. Exam 2 study guide

Code Examples and Handouts