Computer Science 241

Introduction to Problem Solving and Programming
Spring 2005
Thomas VanDrunen



Meeting time: MWF 3:15 - 4:20 pm pm.
Meeting place: Armerding 123
Office hours: Tuesday and Thursday 1:30-3 pm or whenever my door is open.
Contact: 112 Armerding; 752-5692; Thomas.VanDrunen@wheaton.edu
http://cs.wheaton.edu/~tvandrun/previous/spring05/cs241

Syllabus: ps pdf
TA: Katie Locher. Kathleen.E.Locher@wheaton.edu

Resources:
Assignment turnin procedures
Style and documentation requirements
DocsIO API
Java API
Lab intro
Lab Unix documentation


Moon's dayWoden' s dayFrigga's day

Jan 10

Prologue. Intro and lab orientation

Lab orientation assignment

Jan 12

Fundamentals Java introduction; first program example; variables and identifiers (1.1, 2.1). Slides.

Jan 14

Primitive types; operators; Strings; String operators (2.1, 2.2). Slides.

Jan 17

NO CLASS

Jan 19

LAB DAY

First program

Jan 21

I/O; the software development process. Slides.

Jan 24

Flow of control; the boolean type; if (3.1, 3.4). Slides.

User interaction

Jan 26

Loops (3.1, 3.2). Slides.

Jan 28

More loops (3.3). Slides.

Jan 31

LAB DAY

Flow of control and loops

Feb 2

Loop uses (3.3). Slides.

Feb 4

Methods. (4.1) Slides.

Feb 7

More methods (4.1)Slides.

Plain methods

Feb 9

Recursion (11.1)Slides.

Feb 11

More recursion (11.2)Slides.

Feb 14

LAB DAY

Recursion

Feb 16

TEST. Solution.

Feb 18

Object-orientation. Arrays as data structures and sequences (6.1)Slides.

Feb 21

NO CLASS

Feb 23

Arrays. (6.1) Slides.

Array pre-assignment

Feb 25

LAB DAY

Arrays

Feb 28

Classes as data structures (4.1, 4.3) Slides.

Classes and objects

Mar 2

Classes as models (4.2)

Mar 4

Classes encapsulating functionality (5.2)

Mar 7

NO CLASS

Mar 9

NO CLASS

Mar 11

NO CLASS

Mar 14

Classes: data and functionality. Slides.

Mar 16

LAB DAY

Classes II

Mar 18

More classes Slides.

Mar 21

Interfaces (7.2) Slides.

Mar 23

Types, subtypes, and polymorphism (7.3) Slides.

Mar 25

NO CLASS

Mar 28

LAB DAY

Interfaces

Mar 30

instanceof, casts, and dynamic binding (7.3) Slides.

Apr 1

Abstract classes and methods, inheritance (7.1, 7.2) Slides.

Apr 4

Method overriding (7.2) Slides.

Apr 6

Class heirarchies and dynamic binding (7.3)Slides.

Inheritance

Apr 8

LAB DAY

Apr 11

TEST. Solution.

Apr 13

Applied topics. Exceptions (8.1-3) Slides.

Apr 15

Vectors (10.1) Slides.

Vectors and linked lists

Apr 18

Linked structures (10.2) Slides.

Apr 20

A little more linked structures; multi-dimensional arrays (6.5); file I/O (9.1-3) Slides.

Apr 22

Sorting and analysis (6.4)

Apr 25

LAB DAY

Mulit-dim arrays and file I/O

Apr 27

Animals game. Slides.

Apr 29

Review