Documentation and HandoutsTopLectures and ReadingsProgramming Assignments and Laboratories

Programming Assignments and Laboratories

Labs for this course will be held on Wednesday afternoons from 1:15 p.m to 2:30 p.m. and from 2:45 p.m. to 4 p.m. in 229 Edmunds. The room is equipped with iMac computers.

Attendance at these lab sessions is mandatory. Please arrive well prepared for the lab or you will waste your time and ours.

Unlike in CS 51 at Pomona, lab work will generally be distinct from the weekly programming assignments, though the lab work will generally be relevant to those longer assignments. Instead we will often use lab time to introduce you to new software tools and techniques that require more hands-on experience to understand. You will usually need to submit your results from the lab by end of the lab period.

There will be two types of weekly programming assignments: individual programs and team programs. All programs assigned during the semester should be completed following the guidelines in the Academic Honesty Policy .

There will be 10 to 12 weekly programs due. All programs will be graded on design, documentation and style, correctness, and efficiency. The elements of a good program are very much like the elements of a good paper. It must be correct, but it should also be written in a style that is clear and elegant. You will receive written comments on all of your programs.

Weekly assignments will generally be due on Sunday evenings at 11:59 p.m. There will be a penalty assessed of 3n % for a program that is n days late. Programs will not be accepted more than four days late. It is usually better to turn in a correct and well-documented program one or two days late than a non-functioning or non-documented program on time.

All assignments should be submitted electronically. The procedure will be explained in laboratory.

Teaching assistants for the class will be available in the lab on Wednesday, Thursday, and Sunday evenings, as well as Sunday afternoons.

Wednesday     

Laboratory Title           Weekly Assignment         

Jan. 30

Eclipse & Silver Dollar Graphic Silver Dollar Game
Feb 6 Timing Vector Additions Word Frequency (Sample output for assignment 2)
Feb. 13 Analysis of Algorithms Disk sort
Feb. 20 Two Towers Compression

Feb. 27

Eclipse debugging Calculator (Calculator demo)
March 6 JUnit Darwin
March 13 Binary Trees Darwin, cont.

March 27

Binary Search Trees Hex-A-Pawn
April 3 Parallelism Census Data

April 10

C++ Priority Queue in C++
April 17 Linked Lists in C++ Animals in C++: Part 1

April 24

C++ Memory Management Animals in C++: Part 2
May 1 Dijkstra's algorithm Graph Algorithms in C++: Part 2

May 8

No lab!


Documentation and HandoutsTopLectures and ReadingsProgramming Assignments and Laboratories