Computer Science 235

Programming I : Problem-Solving
Spring 2007
Thomas VanDrunen



Meeting time: MWF 11:30 am - 12:45 pm.
Meeting place: Armerding 123
Lab time: Tu 1:15=3:05 pm
Lab place: Armerding 131
Office hours: MWF: 2-3 pm. Tu: 9:00 am - 12:00pm, 3:10-4:10 pm.
Contact: 112 Armerding; 752-5692; Thomas.VanDrunen@wheaton.edu
http://cslab.wheaton.edu/~tvandrun/previous/spring07/cs235

Syllabus: ps pdf
TA: Joe Michalka. Joe.R.Michalka@wheaton.edu

Resources:
Style and documentation requirements
Java API
Lab intro
Lab Unix documentation
How to get in-class code examples and old handouts



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

Jan 8

Prolegomena. Introduction, computers, and computing Pictures.

Jan 9

Lab introduction

lab 1.

Jan 10

Algorithms

Jan 12

More algorithms. Algorithm language.

Jan 15

NO CLASS

Jan 16

Compilers and virtual machines (1.1)

lab 2.

Jan 17

Programming Fundamentals. First Java program (1.2,4)

Jan 19

Strings (1.3)

project 1., due 1/26

Jan 22

Types, variables, expressions, statements

Jan 23

First Java program

lab 3.

Jan 24

Boolean type, logic, ifs (3.1.2)

Jan 26

Loops, do/while (3.3), switch (3.1)

project 2., due 2/2

Jan 29

Arrays and for (6.1)

Jan 30

NO LAB

Jan 31

Multi-dimensional arrays

Feb 2

Arrays

lab 4.

Feb 5

Methods (5.1)

project 3., due 2/16

Feb 6

Methods

lab 5.

Feb 7

Methods and scope

Feb 9

Method examples. Slides. Method parade

Feb 12

Recursion (11)

Feb 13

Recursion

lab 6.

Feb 14

Recursion

Feb 16

Review. Review sheet. Test from last semester

Feb 19

NO CLASS

Feb 20

Review

lab 7. extra credit

Feb 21

TEST

Feb 23

Object-Oriented Programming. Encapsulation (4.2)

project 4

Feb 26

Basic classes (4.1,4)

Feb 27

First try at classes

lab 8.

Feb 28

Classes and methods

Mar 2

Class implementation details (5.2,3)

Mar 5

NO CLASS

Mar 6

NO CLASS

Mar 7

NO CLASS

Mar 8

NO CLASS

Mar 12

Interfaces, subtype polymorphism (13.1, 8.1)

project 5 due 3/20

Mar 13

Subtyping

lab 9.

Mar 14

More polymorphism

Mar 16

Interaction of objects

project 6 due 3/26

Mar 19

Recursive types

Mar 20

Simulation

lab 10.

Mar 21

More on recursive types

lab 11.

Mar 23

Linked structures (15.1)

Mar 26

Algorithms on linked lists

Mar 27

Linked lists

lab 12.

Mar 28

More algorithms on linked lists

project 7 due 4/3

Mar 30

Finishing linked structures

Apr 2

Review

Apr 3

Review

lab 13.

Apr 4

TEST

Apr 6

NO CLASS

Apr 9

Applied topics. Collections

Apr 10

Collections

lab 14.

Apr 11

Exceptions (9)

Apr 13

Exceptions

lab 15.

Apr 16

GUI (17)

project 8 due 4/26

Apr 17

GUI

lab 16.

Apr 18

GUI

Apr 20

GUI

lab 17.

Apr 23

File I/O (10)

Apr 24

File I/O

lab 18.

Apr 25

Review example

Apr 27

Review Some problems from earlier semesters