Computer Science 245

Programming II: Object-Oriented Design
Fall 2013
Thomas VanDrunen



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

Office hours: MWThF 3:15-4:45 pm; Th 11:00 am--12:00 noon.
Contact: Sci 163 ; 752-5692; Thomas.VanDrunen@wheaton.edu
http://csnew.wheaton.edu/~tvandrun/cs245


Syllabus
Style and documentation requirements


Final exam: Wednesday, Dec 18, 1:30 pm


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

Aug 26

NO CLASS

Aug 28

Introduction to C

Aug 29

Trying out C

Lab 1

Aug 30

C functions, compiling, linking, the C preprocessor

Sept 2

NO CLASS

Sept 4

Loop invariants

Sept 5

Counting comparisons

Pre-lab reading
Lab2

Sept 6

First try at analysis

Sept 9

Recursive sorting and analysis

Project 1; due 9/19

Sept 11

Structs

Sept 12

Structs

Lab 3

Sept 13

Review of OOP concepts

Sept 16

More review of OOP concepts

Sept 18

Review of linked lists

Sept 19

Revision control systems

Pre-lab reading
Lab 4
Project 1 due.

Sept 20

Javadoc and documentation; review of Java GUI components; introduction of abstract data types

Project 2, due 10/2

Sept 23

More on ADTs; review of Java Collections

Sept 25

More on Java Collections; UML
Slide

Sept 26

Adventure game

Lab 5

Sept 27

OO design goals; class extension

Sept 30

More class extension

Oct 2

Refactoring

Project 2 due

Oct 3

Adventure game II

Project 3 assigned; due 10/19

Oct 4

More refactoring

Oct 7

Computer memory

Oct 9

Pointers

Oct 10

Dynamic allocation

Lab 7

Oct 11

Nested classes

Project 4, due Oct 28

Oct 14

Generics

Oct 16

Generics

Oct 17

Generics

Pre-lab reading
Lab 8

Oct 18

For each loops; enum types

Project 3 due

Oct 21

NO CLASS

Oct 23

Stacks and queues

Oct 24

Stacks and queues

Pre-lab reading
Lab 9

Oct 25

Stacks and queues
Slides

Project 5; due 11/6

Oct 28

Binary trees

Project 4 due

Oct 30

Binary trees

Oct 31

Priority queues

Pre-lab reading
Lab 10

Nov 1

Binary trees

Nov 4

Concurrency concepts

Nov 6

Concurrency in Java

Project 5 due

Nov 7

Concurrency

Lab 11

Nov 8

GUIs and event-driven programming

Project 6 due 12/3

Nov 11

Bit operations

Nov 13

Review

Nov 14

Bit vectors

Pre-lab reading
Lab 12

Nov 15

TEST

Nov 18

Intro to design patterns; Strategy

Nov 20

State

Project 7; due 12/11

Nov 21

Strategy

Lab 13

Nov 22

Hashing

Nov 25

Hashing

Lab 14

Nov 27

NO CLASS

Nov 28

NO LAB

Nov 29

NO CLASS

Dec 2

Adaptor and Decorator
Slides

Project 6 due

Dec 4

Model of execution
Language description

Dec 5

Adaptor

Lab 15

Dec 6

Pseudo-assembly

Project 8; due 12/16

Dec 9

Function call and return

Dec 11

Function pointers

Project 7 due

Dec 12

C-OO

Pre-lab reading
Lab 16

Dec 13

Review

Project 8 due on reading day