Computer Science 335

Software Development
Spring 2009
Thomas VanDrunen



Meeting time: MWF 12:45 - 1:50 pm.
Meeting place: Armerding 123
Lab time: Tu 8:30 - 10:20 pm
Lab place: Armerding 131
Office hours: MWF 2:00-4:00 pm; Tu 10:30-11:30 am.
Contact: 112 Armerding; 752-5692; Thomas.VanDrunen@wheaton.edu
http://cslab.wheaton.edu/~tvandrun/cs245

Resources:
Java coding conventions
Javadoc documentation
Java API
JUnit API
Subversion documentation



Color codes:
Magenta: Methodologies, tools, etc
Brown: Design Patterns
Green: Readings
Orange: Sundry Topics

Where "sundry topics" are languages, user-interfaces, and databases.
Moon's dayWoden' s dayFrigga's day

Jan 12

Introduction
Slides

Jan 14

UML, composition, polymorphism, and other OO concepts.
Slides

Jan 16

Introduction to patterns
Slides

Jan 19

NO CLASS

Jan 21

Introduction to design patterns (Singleton, Iterator, Strategy, Adaptor, Decorator, Template Method, Factory Method)

Short exercise

Jan 23

Engineering and communication problems
Slides

Jan 26

Reflection, Javadoc, revision control, JUnit

Short exercise
Project phase 1

Jan 28

Make files

Jan 30

Abstract Factory; Builder

Short exercise

Feb 2

User interfaces
Slides

Feb 4

Graphical user interfaces

Feb 6

Prototype

Feb 9

Event-driven programming

Short exercise

Feb 11

Memento

Feb 13

Command

Short exercise

Feb 16

NO CLASS

Feb 18

Refactoring
Slides

Feb 20

Observer

Project phase 2

Feb 23

eXtreme Programming
Slides

Feb 25

Catch up on grading... no class

Feb 27

Proxy; Mediator; Bridge; Facade

Mar 2

Review
Sample questions

Mar 4

MIDTERM

Mar 6

Flyweight

Mar 9

NO CLASS

Mar 11

NO CLASS

Mar 13

NO CLASS

Mar 16

Databases
Slides

Mar 18

Databases

Mar 20

Databases

Mar 23

Languages and automata

Short exercise

Mar 25

State,
Regular expressions

Short exercise

Mar 27

grep, sed, and awk

Mar 30

Grammars

Apr 1

Compilers and language systems

Apr 3

Composite, Interpreter

Apr 6

ML: functional programming
Slides

Project phase 3

Apr 8

Visitor

Short exercise

Apr 10

NO CLASS

Apr 13

Chain of responsibility
Slides

Apr 15

Python: Scripting

Apr 17

PHP: Web programming

Apr 20

Career paths, professional issues

Apr 22

"The Cathedral and the Bazaar"
To read for class

Apr 24

The Mythical Man-Month
Chapters 1-6

Apr 27

The Mythical Man-Month
Chapters 7-15

Apr 29

The Mythical Man-Month
Chapters16-19, skip 18.

May 1

Review