CPS 108, Spring 2004, Syllabus

See the notes directory for pdf and powerpoint versions of the slides used in class.

Design/Explained is Design Patterns Explained, by Alan Shalloway and James Trott

Pragmatic is The Pragmatic Programmer by Andrew Hunt and David

Monday Wednesday Friday
1/5
1/7
Overview, Object-orientation, Inheritance in C++

Notes 1 (view)
Notes 1 (print)

wordlines code

1/9
Coupling, Cohesion, Design

Notes 2 (view)
Notes 2 (print)

1/12
Model, View, Controller

Design/Explained, Chapter 1 pp 1-28
Pragmatic, pp 25-43 (chapter 2, part I)

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

1/14
STL, C, and C++: high to low-level review

Notes 3 (view)
Notes 3 (print)

Open Closed

1/16
Review, Catch up

1/19
ML King Day
1/21
OOLS, Patterns, Getopt

getopt code

1/23
OOLS explained, Adapters, Decorators

C++ Templates and Inheritance

Notes 4 (view)
Notes 4 (print)

reading code
getopt code

1/26
Snow Day

Design/Explained, Chapter 1 pp 69-86,95-122

1/28
From Design Patterns to memcmp
Profiling, Optimizing, Simplicity

C++ Optimization Strategies
comparing/proxy code

1/30
Catch up, review

wordlines2.0 critique

Design/Explained, pp 43-68

2/2
Battleship Design Review

Towards Freecell

Notes 5 (view)
Notes 5 (print)
mvc, freecell code

Pragmatic, pp 53-69 (chapter 2)

2/4
CVS and other groupwork tools

Notes 6 (view)
Notes 6 (print)

Pragmatic, Chapter 3, pp 71-106

2/6
Code Review, Design Pattern Review

yahtzee code/wxwindows

Design/Explained, Ch 9, pp 123-161

2/9
From C++ to Java

Notes 7 (view)
Notes 7 (print)

wordlines in Java
take home test/code out

2/11
From arrays to Collections in Java

2/13
Battleship Design

take home test/code due

2/16
MVC/Battleship

Notes 8 (view)
Notes 8 (print)

pingcontroller

2/18
Java intro
2/20
GUIs, widgets, events, swing

Notes 9 (view)
Notes 9 (print)

Puzzle code and questions

2/23
MVC in Java Games, from theory to practice

paper to read

2/25
More widgets and events

2/27
3/1
Notes 10 (view)
Notes 10 (print)

3/3
JExplore Discussion

3/5
No Class

3/8
Spring Break
3/10
Spring Break
3/12
Spring Break
3/15
MVC, Towards a Model for Games

Notes 11 (view)
Notes 11 (print)

3/17
Code Examples of MVC for OOGA

Qubic
same game

3/19
MVC: Notes 12 (view)
Notes 12 (print)

(half) baked ooga code from class

3/22
Reading on Use Cases

overview
Cockburn's Article

Interactive Entertainment from wired

3/24
Threads, Interfaces, OOGA Notes 13 (view)
Notes 13 (print)

GUIPlayer
other ooga code
thread code

3/26
Network Communication Basics

Notes 14 (view)
Notes 14 (print)

chat/client/server code

3/29
More Client/Server examples and refactoring

simple client/server code

3/31
Finishing up Client/Server examples

4/2
More network/thread code
4/5
Towards an XML/game standard ZRF specs
(DUKE IP only, see zillions of games
gamexml.org ABG

4/7
Threads and Timers and Events

timer code
event code
How to Interrupt a Thread and
article code

4/9
Applets and Appliations

Notes 15 (view)
Notes 15 (print)

click applet code

4/12
Review
4/14
Alpha/Beta, Games, Code

slides for printing slides for viewing

ooga code

4/16
Resources, Locales, Reflection, Serialization

Notes 16 (view)
Notes 16 (print)

old code

4/19
4/21
Last Day of Class

4/23

Monday Tuesday Wednesday Thursday Friday
4/26
4/27
Final Presentations/Exam
7-10 pm
4/28
4/29
4/30

Owen L. Astrachan
Last modified: Wed Dec 17 11:25:49 EST 2003