Computer Science 394

Advanced Programming
Spring 2005
Thomas VanDrunen



Meeting time: MWF 12:45-1:50 pm
Meeting place: Armerding 123
Office hours: Tuesday and Thursday 1:30-3 pm or whenever my door is open.
Contact: 112 Armerding; 752-5692; Thomas.VanDrunen@wheaton.edu
http://cslab.wheaton.edu/~tvandrun/previous/spring05/cs394

Syllabus: ps pdf

Project specification


Resources:
Java API
CVS home and documentation
Make documentation
Javadoc documentation
Java coding conventions
Vince Huston's design patterns page


Color codes:

TopicsReadings
Magenta: Object-oriented theory and practice Orange: skim sometime
Brown: Software methodologies Red: read sometime
Green: Design patterns Blue: read before class
Moon's dayWoden' s dayFrigga's day

Jan 10

Indroduction and course overview. Slides.

Jan 12

Principles of OO; introduction to patterns

DP pg 1-31

Jan 14

Visitor. Slides.

DP pg 331-344. Exercise for Wednesday.

Jan 17

NO CLASS

Jan 19

eXtreme Programming. Slides.

Jan 21

Interpreter. Slides.
Spread sheet example.

DP pg 243-255.

Jan 24

eXtreme Programming

Jan 26

Style

"How to Write Unmaintainable Code,"available here

Jan 28

Chat about project

Jan 31

State. Slides.

DP pg 305-314.

Feb 2

Style

Feb 4

Flyweight. Slides.

DP pg 195-206. Exercise for Wednesday.

Feb 7

OO theory

Feb 9

Documentation and Javadoc

Feb 11

Strategy. Slides.

DP pg 315-324. Exercise for Friday.

Feb 14

OO theory

Feb 16

OO theory

"An Aristotelian Understanding of Object-Oriented Programming,"available here

Feb 18

Singleton and Prototype

DP pg 117-134.

Feb 21

NO CLASS

Feb 23

Testing. Slides.

Feb 25

Abstract Factory and Factory Method. Slides.

DP pg 87-96, 107-116, 135-136.

Feb 28

UML. Slides.

Mar 2

Perspectives on Software

"The Cathedral and the Bazaar,"long version available here

Mar 4

Composite and Bridge. Slides.

DP pg 151-173.

Mar 7

NO CLASS

Mar 9

NO CLASS

Mar 11

NO CLASS

Mar 14

Java. Slides.

Mar 16

Perspectives on software

"The Erotic Life of Code,"available here

Mar 18

Adapter. Slides.

DP pg 139-150.

Mar 21

Java

Mar 23

Decorator. Slides.

DP pg 175-184.

Mar 25

NO CLASS

Mar 28

Java

Mar 30

Refactoring. Slides.

For next Wednesday.

Apr 1

Command Slides.

DP pg 233-242.

Apr 4

Java

Apr 6

Refactoring

Apr 8

Memento

DP pg 283-291.

Apr 11

Java

Apr 13

JVM. Slides.

Apr 15

Facade and Mediator

Apr 18

.NET

Apr 20

Perspectives on software

The Mythical Man-Month

Apr 22

Proxy and Template Method

Apr 25

.NET

Apr 27

Perspectives on software

"No Silver Bullet,"available here

Apr 29

Observer and Chain of Responsibility