Computer Science 335

Software Development
Spring 2010
Thomas VanDrunen



Meeting time: MWF 11:30 am -12:45 pm.
Meeting place: Armerding 123

Office hours: MWF 3:15-4:45 pm; Th 9:00-11:30 am.
Contact: 112 Armerding; 752-5692; Thomas.VanDrunen@wheaton.edu
http://cslab.wheaton.edu/~tvandrun/cs335

Syllabus

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



Final exam: Wednesday, May 5, 1:30 pm


Color codes:
Magenta: Methodologies, tools, and architectures
Brown: Design Patterns and other OO topics
Green: Readings
Orange: Topic modules

Where "topics modules" include languages, user-interfaces, concurrency, and databases.
Moon's dayWoden' s dayFrigga's day

Jan 11

Introduction; the need for software development
Slides

Jan 13

Engineering problems
Slides

Jan 15

Review of OO concepts[DP pg 13-20]
Slides

Jan 18

NO CLASS

Jan 20

Introduction to Design Patterns[DP pg 1-31]
Slides

Short exercise

Jan 22

Design Patterns, continued

Jan 25

Life cycle models (Kendall); Eclipse

Phase 1 Due Feb 26

Jan 27

Reflection.Testing concepts; JUnit

Jan 29

Abstract Factory; Builder

Short exercise

Feb 1

Specifications; use cases

Feb 3

User interfaces
Slides

Feb 5

Prototype; Proxy

Feb 8

Memento

Feb 10

Concurrency and threads

Feb 12

Command

Short exercise

Feb 15

NO CLASS

Feb 17

Software architecture; pipe and filter(Michael)

Feb 19

MVC (John Charles); client-server(Daniel)

Feb 22

Refactoring
Slides

Feb 24

eXtreme Programming(Neile)

Feb 26

Observer

Mar 1

Databases

Phase 2 Due March 26

Mar 3

Databases

Mar 5

Databases

Mar 8

NO CLASS

Mar 10

NO CLASS

Mar 12

NO CLASS

Mar 15

Langauges and automata

Short exercise

Mar 17

Regular expressions.State

Short exercise

Mar 19

Grep, Sed, Awk

Mar 22

Grammars

Mar 24

Compilers

Mar 26

Composite; Interpreter

Mar 29

ML: Functional programming
Slides

Phase 3 Due April 28

Mar 31

Meet about the project

Apr 2

NO CLASS

Apr 5

Visitor

Apr 7

Python: Scripting(Suzanne)
Occam: Concurrent programming(Lily)

Apr 9

Flyweight; Bridge

Apr 12

Chain of Responsibility; Facade

Apr 14

PHP: Web programming.Open-source development
Slides

Apr 16

XML: Structured data

Apr 19

"The Cathedral and the Bazaar"
Postscript version of essay

Apr 21

Career paths; professional issues

Apr 23

The Mythical Man-Month
Chapters 1-6

Apr 26

The Mythical Man-Month
Chapters 7-15

Apr 28

The Mythical Man-Month
Chapters 16-19, skip 18

Apr 30

Review