Computer Science 245

Programming II: Object-Oriented Design
Spring 2014
Thomas VanDrunen



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

Office hours: MWThF 8:45--10:15 am; Th 8:45--11:15.
Contact: Sci 163 ; 752-5692; Thomas.VanDrunen@wheaton.edu
http://cs.wheaton.edu/~tvandrun/cs245


Syllabus
Style and documentation requirements


Final exam: Thursday, May 8, 8:00 am


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

Jan 13

Introduction to C

Jan 15

C functions, compiling, linking

Jan 16

Sorting

Lab 1

Jan 17

Loop invariants

Jan 20

NO CLASS

Jan 22

Managing a C project

Jan 23

More on sorting and comparing algorithms

Pre-lab reading
Lab 2

Jan 24

First try at analysis

Project 1; due 2/3.

Jan 27

Recursive sorting and analysis

Jan 29

Structs
Slides

Jan 30

Structs

Lab 3

Jan 31

Review of OOP concepts

Feb 3

More review of OOP concepts

Project 2; due 3/19

Feb 5

Review of linked lists

Project 1 due

Feb 6

Revision control systems

Pre-lab reading
Lab 4

Feb 7

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

Feb 10

More on ADTs; review of Java Collections

Feb 12

OO design goals; UML; class extension
Slide

Feb 13

Adventure game

Lab 5

Feb 14

More on class extension

Feb 17

NO CLASS

Feb 19

Refactoring

Project 2 due

Feb 20

Adventure game II

Project 3 assgined; due 3/7

Feb 21

More refactoring

Feb 24

Review

Feb 26

TEST

Feb 27

Adventure game III

Feb 28

Computer memory

Mar 3

Pointers

Mar 5

Dynamic allocation

Mar 6

Dynamic allocation

Lab 8

Mar 7

Nested classes

Project 3 due.

Mar 10

NO CLASS

Mar 12

NO CLASS

Mar 13

NO CLASS

Mar 14

NO CLASS

Mar 17

Bit operations

Project 4; due 3/26.

Mar 19

Generics

Mar 20

Generics

Pre-lab reading
Lab 9

Mar 21

Generics

Mar 24

For each loops; enum types

Mar 26

Stacks and queues

Project 4 due. Project 5; due 4/4

Mar 27

Stacks and queues

Pre-lab reading
Lab 10

Mar 28

Stacks and queues
Slides

Mar 31

Concurrency concepts

Apr 2

Concurrency in Java

Project 6; due 4/16

Apr 3

Concurrency

Lab 11

Apr 4

GUIs and event-driven programming

Project 5 due

Apr 7

Hashing

Apr 9

Review

Apr 10

Hashing

Lab 12

Apr 11

TEST

Apr 14

Intro to design patterns; Strategy

Apr 16

State

Project 7; due 4/30.

Apr 17

Strategy

Lab 13

Apr 18

NO CLASS

Apr 21

Adapter and Decorator
Slides

Apr 23

Model of execution
Description of pseduo-assembly language

Apr 24

Adapter

Lab 14.

Apr 25

Pseudo-assembly

Project 8; due 5/2.

Apr 28

Function call and return

Apr 30

Function pointers

Project 7 due.

May 1

C-OO

Pre-lab reading
Lab 15

May 2

Review

Project 8 due.