Computer Science 241

Introduction to Problem Solving and Programming
Fall 2005
Thomas VanDrunen



Meeting time: MWF 9:15 - 10:20 pm pm.
Meeting place: Armerding 123
Lab time: Tu 11:15 am -1:05 pm
Lab place: Armerding 131
Office hours: Tuesday 2:30-4 pm and Thursday 10-12 am, 2:30-4 pm or whenever my door is open.
Contact: 112 Armerding; 752-5692; Thomas.VanDrunen@wheaton.edu
http://cslab.wheaton.edu/~tvandrun/previous/fall05/cs241

Syllabus: ps pdf
TA: David Briggs. David.W.Briggs@wheaton.edu

Resources:
Assignment turnin procedures
Style and documentation requirements
DocsIO API
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

Aug 22

NO CLASS

Aug 23

NO CLASS

Aug 24

Prologue. Intro; computers and computing. Pictures

Aug 26

Programming fundamentals. Algorithms; variables, types, expressions, statements.

1.1 and 1.2

Aug 29

More algorithms; compilers, virtual machines, programming languages

1.3-1.6

Aug 30

Lab intro

Lab 1

Aug 31

First Java program

2.1-2.3.3

Sept 2

Types, variables, Strings, operators

2.3.4-2.5.1, 2.9-2.13

Sept 5

NO CLASS

Sept 6

First Java program

Lab 2
Project 1, due 9/12

Sept 7

I/O and software development

2.6-2.8, 2.14

Sept 9

Boolean type, flow of control

3.1-3.4

Sept 12

Loops

3.5-3.7, 5.1-4, 5.8-9

Sept 13

Second Java program

Lab 3
Project 2, due 9/21

Sept 14

More loops, do/while

Sept 16

Loops, switch

3.7-3.9

Sept 19

Loops and arrays, cont'd

Sept 20

Loops and arrays

Lab 4
Project 3, due 9/29

Sept 21

Methods

4.1-4.3

Sept 23

Methods and scope

4.4-4.9

Sept 26

Methods; classes and packages

4.12-4.13, 12.11

Sept 27

Methods

Lab 5

Sept 28

Review

Review sheet: [ps][pdf]

Sept 30

TEST. Solution

Oct 3

Recursion

4.10-4.11

Oct 4

Recursion

Lab 6
Project 4, due 10/10

Oct 5

Strings and arrays revisited

5.2, 6.1, 6.2

Oct 7

Object-oriented programming. Classes and objects

6.3

Oct 10

Classes as data and functionality

6.4-6.9

Oct 11

First hand at objects

Lab 7
Project 5, due 10/24

Oct 12

Classes as models

6.10, 6.11

Oct 14

Class implementation details

6.12-6.15

Oct 17

NO CLASS

Oct 18

NO CLASS

Oct 19

NO CLASS

Oct 21

NO CLASS

Oct 24

Interfaces, subtying, and polymorphism

7.9

Oct 25

First hand at subtyping

Lab 8

Oct 26

More polymorphism

7.10, 7.12

Oct 28

Abstract classes, inheritance. Slides.

Project 6, due 11/7
7.3, 7.4, 7.7

Oct 31

Class hierarcies. Slide.

7.1-13

Nov 1

Subclassing

Lab 9

Nov 2

Dynamic dispatch

Nov 4

Recursive types

Nov 7

Linked structures

12.1-12.4

Nov 8

Recursive types

Lab 10

Nov 9

Review

Nov 11

TEST

Nov 14

Linked structures, continued

Nov 15

Recursive types, continued

Nov 16

Applied topics. Vectors, generics

Project 7, due 12/2
12.5-12.12

Nov 18

HashSet, HashMap, etc

Nov 21

Exceptions. Slides.

11.1-11.8

Nov 22

Exceptions

Lab 11

Nov 23

NO CLASS

Nov 25

NO CLASS

Nov 28

File I/O

10.1-10.3

Nov 29

File I/O

Lab 12

Nov 30

Sorting and analysis

5.4-5.12

Dec 2

Sorting and analysis

Dec 5

Sorting and analysis

Dec 6

Sorting

Lab 13

Dec 7

Animals game

Dec 9

Review