Computer Science 245

Programming II: Object-Oriented Design
Fall 2014
Thomas VanDrunen



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

Office hours: MTuWThF 9:00-10:00 am; Th 1:30-3:30 pm.
Contact: Sci 163 ; 752-5692; Thomas.VanDrunen@wheaton.edu
http://cs.wheaton.edu/~tvandrun/cs245


Syllabus
Style and documentation requirements
How to use the CS Lab computers remotely (thanks to Dr Gray)


Final exam: Wednesday, Dec 17, 10:30 am


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

Aug 25

NO CLASS

Aug 26

NO LAB

Aug 27

Introduction to C
Slides

Aug 29

C functions, arrays, and strings

Sept 1

NO CLASS

Sept 2

Introduction to the lab; trying out C

Lab 1

Sept 3

Compiling, linking, and the C preprocessor

Sept 5

Loop invariants

Sept 8

First try at analysis

Project 1, due 9/22

Sept 9

Counting comparisons

Pre-lab reading
Lab 2

Sept 10

More on analysis; review of recursion
Slides

Sept 12

Recursive analysis

Sept 15

Structs

Sept 16

Structs

Lab 3

Sept 17

Review OOP of concepts

Sept 19

More review of OOP concepts

Project 2, due Oct 8.

Sept 22

Review of linked lists

Project 1 due.

Sept 23

Revision control

Pre-lab reading
Lab 4

Sept 24

Javadoc and documentation; Java GUI components; introduction to abstract data types

Project 3, due Oct 8.

Sept 26

More on ADTs; review of Java collections

Sept 29

Design goals; UML; class extension
Slide

Sept 30

Adventure game

Lab 5

Oct 1

More on class extension

Oct 3

Refactoring

Oct 6

Refactoring

Oct 7

Adventure game II

Project 4 assigned.

Oct 8

Review

Projects 2 and 3 due.

Oct 10

TEST

Oct 13

Nested classes

Oct 14

Generics

Oct 15

Generics

Pre-lab reading
Lab 7

Oct 17

Generics

Oct 20

NO CLASS

Oct 21

NO LAB

Oct 22

Computer memory

Oct 24

Pointers

Oct 27

Dynamic allocation

Project 4 due. Project 5, due Nov 5

Oct 28

Dynamic allocation

Pre-lab reading
Lab 8

Oct 29

Bit operations

Oct 31

Enum types

Nov 3

Stacks and queues

Project 6, due Nov 14.

Nov 4

Stacks and queues

Pre-lab reading
Lab 9

Nov 5

More stacks and queues
Slides

Project 5 due.

Nov 7

Concurrency concepts

Nov 10

Concurrency in Java

Nov 11

Concurrency

Lab 10

Nov 12

GUI and event-driven programming

Project 7, due Nov 25

Nov 14

Hashing

Project 6 due.

Nov 17

Review

Nov 18

Hashing

Lab 11

Nov 19

TEST

Nov 21

Introduction to design patterns; Strategy

Nov 24

State
Slides

Project 8, due 12/10

Nov 25

Strategy

Lab 12
Project 7 due.

Nov 26

NO CLASS

Nov 28

NO CLASS

Dec 1

Adapter and Decorator
Slides

Dec 2

Adapter

Lab 13

Dec 3

Model of execution

Dec 5

Pseudo-assembly

Project 9, due 12/12

Dec 8

Function call and return

Dec 9

Function pointers

Dec 10

C-OO

Lab 14. Project 8 due.

Dec 12

Review

Project 9 due.