Computer Science 245

Programming II: Object-Oriented Design
Spring 2015
Thomas VanDrunen



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

Office hours: 9:15-10:15 MWThF (not Tu); 10:30-11:30 Tu; 1:30-3:30 Th
Contact: Sci 163 ; 752-5692; Thomas.VanDrunen@wheaton.edu
http://cs.wheaton.edu/~tvandrun/cs245


Syllabus
Style and documentation requirements


Final exam: Thursday, May 7, 1:30 pm


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

Jan 12

Intro to C

Jan 13

Trying out C

Lab 1

Jan 14

C functions, arrays, and strings

Jan 16

Compiling, linking, and the C pre-processor

Jan 19

NO CLASS

Jan 20

Counting comparisons

Pre-lab reading
Lab 2

Jan 21

Loop invariants

Jan 23

First try at analysis

Project 1, due 2/5

Jan 26

More analysis
Slides

Jan 27

Recursive analysis; structs

Jan 28

Structs

Lab 3

Jan 30

Review OOP concepts

Feb 2

Structs

Feb 3

NO LAB

Feb 4

More review OOP

Project 1 due (2/5); project 2, due 2/25

Feb 6

Review linked lists

Feb 9

More linked-list review; Java GUI components

Project 3, due 2/25

Feb 10

Revision control

Pre-lab reading
Lab 4

Feb 11

ADTs, Java collections

Feb 13

Design goals; UML

Feb 16

NO CLASS

Feb 17

Adventure game

Lab 5

Feb 18

Class extension

Feb 20

More class extension; refactoring

Feb 23

Refactoring

Feb 24

Adventure game

Feb 25

Review

Projects 2 and 3 due

Feb 27

TEST

Mar 2

Nested classes

Mar 3

Generics

Mar 4

Generics

Pre-lab reading
lab 7

Mar 6

Generics

Mar 9

NO CLASS

Mar 10

NO LAB

Mar 11

NO CLASS

Mar 13

NO CLASS

Mar 16

Stacks and queues

Project 5, due 3/30

Mar 17

Stacks and queues

Pre-lab reading
Lab 8

Mar 18

More stacks and queues
Slides

Mar 20

Computer memory

Project 4 due

Mar 23

Pointers

Project 6, due 4/6

Mar 24

Dynamic allocation

Pre-lab reading
Lab 9

Mar 25

Dynamic allocation

Mar 27

Concurrency concepts

Mar 30

Concurrency in Java

Project 5 due

Mar 31

Concurrency

Lab 10

Apr 1

GUI and event-driven programming

Project 7; due 4/20

Apr 3

NO CLASS

Apr 6

Bit operations

Project 6 due

Apr 7

Bit operations

Pre-lab reading
Lab 11

Apr 8

Review

Apr 10

TEST

Apr 13

Introduction to design patterns; Strategy

Apr 14

Strategy

Lab 12

Apr 15

State
Slides

Project 8, due 4/29

Apr 17

Adapter and Decorator
Slides

Apr 20

Model of execution

Project 7 due

Apr 21

Adapter

Lab 13

Apr 22

Model of execution

Apr 24

Pseudo-assembly

Project 9, due 5/1

Apr 27

Function call and return

Apr 28

Function pointers

Apr 29

Making C object-oriented

Lab 14
Project 8 due

May 1

Review

Project 9 due