Compsci 108, Fall 2005, Syllabus

Course Syllabus for Fall 2005.

For the readings given below, please do the readings before class. Occassionally there will be quizzes pertaining to the readings that must be finished (online) before class or (written) at the beginning of class. The quizzes will be about superficial, basic understanding, not indepth comprehension.

Readings in Head First Design Patterns are labeled HFDP, readings in The Pragmatic Programmer are labeled PP.

Monday Wednesday Friday
8/29
Introduction to the course

notes for viewing
notes for printing

nanoGoogle out

8/31
Overview, Java Review

notes for viewing
notes for printing

refactored nanoGoogle code from today

Reading: HFDP, Chapter 1 (intro/Strategy)

9/2
Coupling, Cohesion, java.io.* java.util.* notes for viewing
notes for printing

Reading: HFDP, Chapter 2 (Observer)

9/5
Reading from files, websites, archives, java.net.*

Mastery 1, code due

UrlFileTracker.java

Reading: HFDP, Chapter 3 (Decorator)
Reading: HFDP, Chapter 9 (Iterator, Composite)

9/7
Java Exceptions, runtime and checked

notes for viewing
notes for printing

student code for refactoring

9/9
Catch up, Code Review

Nanoogle Part 2 out.

9/12
Toward GUI programming: events and widgets

Reading: HFDP, Chapter 4 (Factory)

notes for viewing
notes for printing

Gui code for Nanogoogle
Refactored-in-class version

9/14
Nanogoogle Part 2 discussion

Benchmark code

9/16
Benchmark code continued.

9/19
java.awt.* and javax.swing.*, inner classes

From Menus to MVC, building programs and GUIs

Reading: HFDP, Chapter 6 (Command)
Reading: HFDP, Chapter 7 (Adapter/Facade)

ExplorerTools out
notes for viewing
notes for printing

9/21
Toward MVC

Tell, Don't Ask I
Enbug/Tell, Don't Ask II

notes for viewing
notes for printing

9/23
Threads, swing workers, timers and tasks

Explorer Questions
Explorer Code

9/26
MVC: Model View Controller

Reading: HFDP, Chapter 11 (Proxy)
Reading: HFDP, Chapter 12 (MVC)

MVC/Explorer Questions

9/28
Catch up, Code Review

Markov Code

9/30
Exam I, takehome test handouts
10/3
Guest Lecture, Ben Pollack
10/5
Guest Lecture, Drew Todd
10/7
Patterns in the Java API

Reading: HFDP, Chapter 8 (Template)
Reading: HFDP, Chapter 10 (State)

10/10
Fall Break
10/12
Begin C++

Anatomy of a C++ program and a C++ class

notes for viewing
notes for printing

10/14
C++, Arrays, Pointers, Performance, Java comparison

Class work
related code

notes for viewing
notes for printing
midterm grades due

10/17
Compiling, makefiles, Code Review

Understanding C++, headers, libraries

<iostream>, <string>, <vector>, <map>,

10/19
More C++, also Freecell Design Questions
10/21
C++ Templates, Java Generics, Inheritance compared

Catch up, Code Review C++ Cards/Decks...

10/24
From C++ to C, DIY programming

code and questions

Freecell estimates

10/26
Understanding C and paradigms
10/28
Catch up, Code Review
10/31
From constructors to char *** and back again.

11/2
new, delete, malloc, free

Managing memory

C++ Questions

11/4
Exam II

C++ projects done

11/7
How teams work

notes for viewing
notes for printing

puzzle code and questions Begin Final Project

11/9
Technologies: from XML to Big-endian
11/11
Catch up, Code Review

11/14
Technologies: from http to sockets

notes for viewing
notes for printing

network code

11/16
More network game: refactoring

refactored network code

11/18
Open source, alternatives

opensource.org, Apache, GPL, MIT, Eclipse licenses.

11/21
notes for viewing
notes for printing

Testing

undone yahtzee code

11/23
Thanksgiving
11/25
Thanksgiving
11/28
XML, Projects

notes for viewing
notes for printing

xml code
more xml code

11/30
XLST and XML

notes for viewing
notes for printing

xml code

12/2
AI in game playing

notes for printing

alpha-beta code

12/5
Work on Projects.

12/7
108 summarized

notes for viewing
notes for printing

12/9
Review, all questions answered last day of class
Monday Tuesday Wednesday Thursday Friday
12/12
Release 1.0 Party, 7:00-10:00 pm

Final Exam 7:00-10:00 pm

12/13
12/14
12/15
12/16

Owen L. Astrachan
Last modified: Wed Dec 7 23:28:29 EST 2005