COMP 401, Spring 2008
Course schedule

 
 
Class number Date Reading due
S&W == Stanat & Weiss
Homework due
at the beginning of class
Class content
(approximate)
1 Jan. 10
     Red tape; why Java?
2 Jan. 15
 S&W Chap 1 Write 3 abstractions and
one contract.
 Java: rules for good programs
3 Jan. 17
   Program 0 (optional)  Java review 2: Classes, objects & references
4. Jan. 22 (Previous day is holiday)
     Java review 3: Exceptions
5 Jan. 24      Java review 4: Building new
 classes from old
6 Jan. 29
 S&W: Chap 2;     Logic, assertions
7 Jan. 31

   Quantifiers
8 Feb. 5
     Axiom of assignment
9 Feb. 7
   Program 1  4:30 pm  Loop invariants
10 Feb. 12  S&W Chap 3     More invariants; Dutch flag
11 Feb. 14      Recursion
12 Feb. 19
   Written assignment 1 (S&W chapter 2)  Hanoi; Chinese rings
13 Feb. 21
     Exam 1 (see below)
14 Feb. 26
 S&W: Chap 4, 5, & 6  Payroll program, part 1, 4:30 pm
 Recursion; files
15 Feb. 28
 S&W Chap 7     Algorithm analysis 
16 Mar. 4
 S&W Chap 8    Q(n2) sorting
17 Mar. 6 (break follows; ACC Tour.
                 Mar 13-16)
   Program 2 (assertions), 4:30 pm  Q(n log n) sorting
18 Mar. 18
 S&W Chap. 9  Written assignment 2
(S&W chapter 3)
 Q(n) sorting
19 Mar. 20 (Good Friday follows)  S&W Chap. 10  Payroll program part 2, 4:30 pm
 State tax
20 Mar. 25
   
 Linked structures 
21 Mar. 27
   Program 3 (recursion) 4:30 pm  Linked structures, options 
22 Apr. 1
 S&W Chap 11    Brute force, backtracking
23 Apr. 3 (Final 4, Apr 5, 7)
   Written assignment 3 (optional)
 Backtracking with pruning
24 Apr. 8
   Payroll program part 3, 4:30 pm
 Backtracking with pruning
25 Apr. 10

   Exam 2 (see below)
26 Apr. 15
 S&W Chap 13    Trees (Joyce Kilmer)
27 Apr. 17
   Program 4 (linked lists), 4:30 pm  Finite state machines (FSM)
28 Apr. 22   S&W Chap 14  Payroll program part 4, 4:30 pm
 Limits on computing
29 Apr. 24      Review for final
         
         
  Apr. 25    Program 5 (backtracking), 4:30 pm  
 Final exam May 6
 
  8:00-11:00am

Programs    Submit your programs as follows:
                    1. Create a JAR file of all the .java files in your program.
                    2. Submit the JAR file through the course electronic Blackboard
                        drop box.

                    3. Some time before 4:30pm on the due date, drop off a printed
                        copy of your program
source at the Computer Science front
                        desk.  Print on one side only, stapled in the upper
left corner. 

Homework   Write your assignment using MS word.  In most cases, you can just edit your answers into the assignment.  Submit your Word file to the Blackboard drop box for your section.  If you choose not to use Word and Blackboard, write your homework on 8 1/2 x 11 paper, unfolded, and stapled in the upper left corner.  If you turn in larger paper, I reserve the right to trim it to 8 1/2 x 11 and grade what's left.

Exams    Dates: Please note the exam dates now.
                 Content: Each exam will cover everything covered in the course so far.
             Exam 1: everything up to, but not including, recursion.
             Exam 2: everything up to, but not including linked lists.
             Format: Closed book, notes, computers, etc.  You will write on the exam
             itself. 
All you need to bring is something to write with.   Exams will take
             the full 75 minutes.

Final exam  Content: the entire course, but with slight emphasis on material that was
                  not covered on previous
exams.  Note that finite state machines
                 (Chapter 14) may not be covered in class, but a
general understanding
                 of FSMs will be assumed on the final.

                 Format: closed books, notes, etc.  You will write directly on the exam
                 paper, so you need bring only something to write with.  The exam will be
                 designed
for about 150 minutes, but you will have the full 180 minutes.

Grades        You will be able to check your progress in the course through
                  Blackboard.  After every
program, assignment, and exam, please
                  verify that the grade we have recorded for you agrees
with what's
                  on your paper. 
                  Save all your graded work until the end of the semester.

Course grades  Course grades will be turned in to the Registrar's office within 72
                       hours of the
end of the final exam.  The Registrar will post the
                       grades to the web where you
can see them.  The Department
                       of Computer Science cannot give out grades.