Computer Science 245

Programming II : Object-Oriented Design
Spring 2009
Thomas VanDrunen



Meeting time: MWF 12:45 - 1:50 pm.
Meeting place: Armerding 123
Lab time: Tu 1:15-3:05pm
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

Syllabus: ps pdf


Resources:
Style and documentation requirements
Java API
Subversion documentation



Moon's dayTiw's dayWoden's dayFrigga's day

Jan 12

Algorithms and analysis. Introduction, review of algorithms, sorting

Jan 13

Counting comparisons

lab 1

Jan 14

Sorting on lists; recursive sort

Jan 16

Algorithm analysis--first try

proj 1. Due 1/28

Jan 19

NO CLASS

Jan 20

Instrumentation

lab 2

Jan 21

Analysis

Jan 23

Analysis; searching

Jan 26

Software development. Revision control (intro to SVN); API generation (intro to Javadoc)

Jan 27

Revision control and object-oriented review

lab 3

Jan 28

Good programming practices (documentation and style, etc)

Jan 30

Object-oriented programming. Review: classes and subtyping

proj 2. Due 2/13

Feb 2

Abstract classes and inheritance

Feb 3

NO LAB

Feb 4

More inheritance; overriding

Feb 6

Pred/prey simulation

Feb 9

More simulation

Feb 10

Object-oriented design

lab 4

Feb 11

UML; aggregation and acquantaince; reuse and refactoring
Slides

Feb 13

NO CLASS

Feb 16

NO CLASS

Feb 17

Refactoring

lab 5

Feb 18

Responsibility, coupling, and cohesion

Feb 20

Finalizers; String interning; for-each loop; enumerations

Feb 23

Review

Feb 24

More adventure game

lab 6

Feb 25

TEST

Feb 27

Private and inner classes

Mar 2

Generics

Mar 3

Generics

lab 7

Mar 4

Data structures. Concrete vs abstract data types; linked vs. array-based

Mar 6

Stacks and queues

Mar 9

NO CLASS

Mar 10

NO CLASS

Mar 11

NO CLASS

Mar 13

NO CLASS

Mar 16

More stacks and queues
Slides

proj 4, due 3/20

Mar 17

Stacks and queues

lab 8

Mar 18

Binary trees

proj 5, due 4/1

Mar 20

More binary trees

Mar 23

Traversing binary trees

Mar 24

Heaps and priority queues

pre-lab reading
lab 9

Mar 25

Hash tables

Mar 27

Design patterns. Review patterns so far

Mar 30

The Strategy pattern

Mar 31

Strategy

lab 10

Apr 1

The State pattern

proj 6, due 4/15

Apr 3

The Adaptor and Decorator patterns

Apr 6

Review
Review sheet

Apr 7

Adaptor and Decorator

lab 11

Apr 8

TEST

Apr 10

NO CLASS

Apr 13

Systems. Introduction to C; types, basic I/O, functions

Apr 14

Managing a C project

lab 12

Apr 15

Computer memory; C types; structs and arrays

Apr 17

Bit operations

Apr 20

Pointers; dynamic allocation of memory

proj 7, due 3/29

Apr 21

Playing with bits

pre-lab reading
lab 13

Apr 22

Strings

Apr 24

Computer architecture
pseudo-assembly language

Apr 27

Function pointers

Apr 28

Object-oriented programming in C

lab 14

Apr 29

More computer architecture

May 1

Review
Practice final