Computer Science 245

Programming II: Object-Oriented Design
Spring 2007
Thomas VanDrunen



Meeting time: MWF 8:00-9:05 am
Meeting place: Armerding 123
Lab time: Th 1:15-3:05 pm
Lab place: Armerding 131
Office hours: MWF 2:00-3:00 pm. Tu 9:00 am -12:00 pm, 3:10-4:10 pm.
Contact: 112 Armerding; 752-5692; Thomas.VanDrunen@wheaton.edu
http://cslab.wheaton.edu/~tvandrun/previous/spring07/cs245/

Syllabus: ps pdf


Resources:
â Style and documentation requirements
Java API
Lab intro
Lab Unix documentation
How to get in-class code examples and old handouts



Moon's dayWoden's dayThor's dayFrigga's day

Jan 8

Algorthims and analysis. Introduction, sorting algorithms

Jan 10

Sorting and invariants

Jan 11

Sorting, counting comparisons

lab 1.

Jan 12

Sorting and analysis

proj 1.

Jan 15

NO CLASS

Jan 17

Analysis and instrumentation

Jan 18

Instrumentation

lab 2.

Jan 19

Searching

Jan 22

Software development. Methodology.How to write unmaintainable code

proj 2. due 1/31

Jan 24

Subversion. Manual

Jan 25

Subversion, Javadoc, OO review

lab 3.

Jan 26

Object-Oriented Programming. Review-- classes, interfaces, and subtyping

Jan 29

Review and filling out (static initializers, final)

Jan 31

Abstract classes, inheritance, and overriding; Example: meal plans

Feb 1

More OO review

lab 4.

Feb 2

Meal plans example

Feb 5

Class hierarchies example: college enrollment and payroll system

proj 3

Feb 7

Biological simulation example

Feb 8

Subclassing

lab 5.

Feb 9

Biological simulation example

Feb 12

Responsibility, coupling, and cohesion

Feb 14

UML; aggregation and acquaintance

Feb 15

OO design practice

lab 6.

Feb 16

Reuse; refactoring

Feb 19

NO CLASS

Feb 21

Review. review sheet

Feb 22

Refactoring practice

lab 7.

Feb 23

TEST

Feb 26

Finalizers, String interning

Feb 28

Generics

Mar 1

Generics

lab 8.

Mar 2

Private and inner classes

Mar 5

NO CLASS

Mar 6

NO CLASS

Mar 7

NO CLASS

Mar 8

NO CLASS

Mar 12

Data structures. Abstract data types

proj 4

Mar 14

Stacks and queues

Mar 15

Stacks and queues

lab 9.

Mar 16

Binary trees

Mar 19

More binary trees

proj 5

Mar 21

Traversals on binary trees

Mar 22

Heaps and priority queues

lab 10.

Mar 23

Hash tables

Mar 26

Patterns. Patterns intro; the delegate patterns

Mar 28

The factory method pattern; the strategy patternSlides.

Mar 29

Strategy

lab 11.

Mar 30

The State patternSlides.

Apr 2

The Strategy pattern

proj 6 due 4/13

Apr 4

The Adaptor and Decorator patterns

Apr 5

Adaptor and Decorator

lab 12.

Apr 6

NO CLASS

Apr 9

Finishing adaptor and decorator

Apr 11

Review

Apr 12

NO LAB

Apr 13

TEST

Apr 16

Systems. From Java to C

proj 7 due 4/26

Apr 18

C: pointers and structs

Apr 19

C

lab 13.

Apr 20

C: strings

Apr 23

Representation of information and bit operations.

Apr 25

Apr 26

More C

lab 14.

Apr 27

Review