Computer Science 245

Programming II: Object-Oriented Design
Spring 2016
Thomas VanDrunen



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

Office hours: MWF 9:15-10:15 pm; Tu 1:30-3:30.
Contact: Meyer 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)
Screencast demo for setting up a Java project in Eclipse
Inventory of practice problems for Programming I and II


Final exam: Wednesday, May 4, 8:00 am


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

Jan 11

Introduction to C
Slides

Jan 13

C functions, compiling, linking

Jan 14

Trying out C

Pre-lab reading
Lab 1

Jan 15

Loop invariants

Jan 18

NO CLASS

Jan 20

First try at analysis

Jan 21

Counting comparisons

Pre-lab reading
Lab 2

Jan 22

More on analysis; review of recursion

Project 1, due Feb 3

Jan 25

Recursive sorting and analysis

Jan 27

Structs

Jan 28

Structs

Lab 3

Jan 31

Review of OOP concepts

Feb 1

More review of OOP concepts

Project 2, due Feb 17.

Feb 3

Review of linked lists

Project 1 due

Feb 4

Revision control systems

Pre-lab reading
Lab 4

Feb 5

Javadoc and documentation; review of Java GUI components


Project 3, due Feb 17.

Feb 8

Introduction to abstract data types; review of Java Collections

Feb 10

More ADTs and Java Collections; UML
Slide

Feb 11

Adventure game

Lab 5

Feb 12

OO design goals; class extension

Feb 15

NO CLASS

Feb 17

Class extension

Projects 2 and 3 due

Feb 18

Adventure game II

Project 4 assgined; due Mar 4

Feb 19

Refactoring

Feb 22

More refactoring

Feb 24

Review

Feb 25

Adventure game III

Feb 26

TEST

Feb 29

Computer memory and pointers

Mar 2

Work on adventure game

Mar 3

Work on adventure game

Mar 4

Dynamic allocation

Project 4 due.

Mar 7

NO CLASS

Mar 9

NO CLASS

Mar 10

NO LAB

Mar 11

NO CLASS

Mar 14

Dynamic allocation

Mar 16

Bit operations

Project 5, due March 28

Mar 17

Dynamic allocation

Pre-lab reading
Lab 7

Mar 18

Nested classes

Mar 21

Generics

Mar 23

Generics

Mar 24

Generics


Lab 8

Mar 25

NO CLASS

Mar 28

Stacks and queues

Project 5 due.
Project 6, due Apr 6.

Mar 30

Stacks and queues
Slides

Mar 31

Stacks and queues

Pre-lab reading
Lab 9

Apr 1

Hashing

Apr 4

Hashing

Apr 6

Review

Project 6 due.

Apr 7

Hashing

Pre-lab reading
Lab 11

Apr 8

TEST

Apr 11

Intro to design patterns; Strategy

Apr 13

State
Slides

Project 8, due Apr 27

Apr 14

Strategy


Lab 12

Apr 15

Adapter and Decorator
Slides

Apr 18

Model of execution

Apr 20

Pseudo-assembly

Apr 21

Adapter

Lab 14.

Apr 22

Function call and return

Project 9, due Apr 29

Apr 25

More function call and return

Apr 27

Function pointers

Project 8 due.

Apr 28

C-OO


Lab 14

Apr 29

Review

Project 9 due.