Computer Science 245

Programming II: Object-Oriented Design
Fall 2012
Thomas VanDrunen



Meeting time: MWF 12:45-1:50 pm.
Meeting place: Science 131

Office hours: MThF 3:15-5:00 pm; Th 9:15-11:00 am.
Contact: Sci 163 ; 752-5692; Thomas.VanDrunen@wheaton.edu
http://csnew.wheaton.edu/~tvandrun/cs245


Syllabus
Style and documentation requirements


Final exam: Thursday, Dec 20, 8:00 AM


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

Aug 27

NO CLASS

Aug 29

Introduction to C
Slides

Aug 30

Trying out C

Lab 1

Aug 31

C functions, compiling, linking, the C preprocessor

Sept 3

NO CLASS

Sept 5

Loop invariants

Sept 6

Counting comparisons

Lab 2
Pre-lab reading

Sept 7

First try at analysis

Sept 10

Recursive sorting and analysis

Project 1; due 9/19

Sept 12

Structs

Sept 13

Structs

Lab 3

Sept 14

Review OOP

Sept 17

Review linked lists

Sept 19

Software life cycle; Javadoc; Eclipse; Mercurial

Project 1 due.
Project 2; due 10/1

Sept 20

Revision control systems

Pre-lab reading
Lab 4

Sept 21

Review Java GUI components; introduce abstract data types

Sept 24

Review Java Collections; introduce OO design goals and UML
Slide

Sept 26

Class extension

Sept 27

Adventure game

Lab 5

Sept 28

Refactoring

Oct 1

More refactoring

Project 2 due

Oct 3

Review

Oct 4

Adventure game II

Project 3 assigned; due 10/19

Oct 5

TEST

Oct 8

Computer memory

Oct 10

Pointers

Oct 11

Dynamic allocation

Lab 7

Oct 12

Nested classes

Oct 15

Generics

Project 4; due 10/29

Oct 17

Generics

Oct 18

Generics

Lab 8
Pre-lab reading

Oct 19

For each loops; enum types

Project 3 due

Oct 22

NO CLASS

Oct 24

Stacks and queues

Oct 25

Stacks and queues

Pre-lab reading
Lab 9

Oct 26

Stacks and queues
Slides

Project 5; due 11/7

Oct 29

Binary trees

Project 4 due

Oct 31

Binary trees

Nov 1

Priority queues

Prelab reading
Lab 10

Nov 2

Binary trees

Nov 5

Concurrency concepts

Nov 7

Concurrency in Java

Project 5 due

Nov 8

Concurrency

Lab11

Nov 9

GUIs and event-driven programming

Project 6; due 12/3

Nov 12

Bit operations

Nov 14

Review

Nov 15

Bit vectors

Prelab reading
Lab 12

Nov 16

TEST

Nov 19

Hashing

Nov 21

NO CLASS

Nov 22

NO LAB

Nov 23

NO CLASS

Nov 26

Hashing

Nov 28

Intro to design patterns; Strategy

Nov 29

Strategy

Lab 13

Nov 30

State
Slides

Project 7; due 12/12

Dec 3

Adaptor and Decorator

Project 6 due

Dec 5

Model of execution
Language description

Dec 6

Adaptor

Lab 14

Dec 7

Pseudo-assembly

Project 8; due 12/14

Dec 10

Function call and return

Dec 12

Function pointers

Project 7 due

Dec 13

C-OO

Pre-lab reading
Lab 15

Dec 14

Review

Project 8 due