Computer Science 241

Introduction to Problem Solving and Programming
Spring 2006
Thomas VanDrunen



Meeting time: MWF 9:15 - 10:20 pm pm.
Meeting place: Armerding 123
Lab time: Tu 8:30 - 10:20 pm
Lab place: Armerding 131
Office hours: 2:00-3:00 pm everyday.
Contact: 112 Armerding; 752-5692; Thomas.VanDrunen@wheaton.edu
http://cslab.wheaton.edu/~tvandrun/previous/spring06/cs241

Syllabus: ps pdf
TA: Brian Picken. Brian.R.Picken@wheaton.edu

Resources:
Assignment turnin procedures
Style and documentation requirements
Java API
Lab intro
Lab Unix documentation
How to get in-class code examples and old handouts
Last semester's test 1. Solution '


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

Jan 9

Introduction: computers and computing. Pictures.

Jan 10

Lab intro

Lab 1

Jan 11

Fundamentals of programming. Algorithms (1)

Jan 13

Compilers and virtual machines

Jan 16

NO CLASS

Jan 17

Algorithms and compiling

Lab 2

Jan 18

First Java program (2.1-2.4)

Jan 20

Strings and I/O, types and operators (2.5-2.14)

Jan 23

I/O and software development

Jan 24

First Java program

Lab 3
Project 1, due 1/31

Jan 25

Statements, boolean type, if, and loops: while and do/while (3.1-3.5)

Jan 27

Arrays and for (3.6)

Jan 30

More on loops

Jan 31

Second Java program

Lab 4
Project 2, due 2/7

Feb 1

Loop details, switch (3.7-3.12)

Feb 3

Methods (4.1-4.8)

Feb 6

Methods and scope (4.11-4.12)

Feb 7

NO CLASS

Feb 8

Methods

Lab 5
Project 3, due 2/21

Feb 10

Method example (4.9) Method parade

Feb 13

Recursion (4.10)

Feb 14

Recursion

Lab 6

Feb 15

Recursion

Feb 17

Review

Feb 20

NO CLASS

Feb 21

Review

Lab 7

Feb 22

TEST

Feb 24

Arrays (5.1-5.3)

Feb 27

Sort and search (5.4-5.7)

Project 4, due 3/3

Feb 28

Arrays

Lab 8

Mar 1

Analysis

Mar 3

Arrays and types; 2-D arrays (5.8-5.12)

Mar 6

NO CLASS

Mar 7

NO CLASS

Mar 8

NO CLASS

Mar 10

NO CLASS

Mar 13

Object-oriented programming. Basic classes (6.3)

Mar 14

First try at classes

Lab 9

Mar 15

Strings and StringBuffers (6.1 & 2)

Mar 17

Class Implementation details (6.3-5)

Mar 20

Classes and methods (6.6&7)

Project 5, due 3/28

Mar 21

Classes

Lab 10

Mar 22

More classes and methods (6.8-6.10)

Mar 24

Arrays of objects (6.11-14)

Mar 27

Interfaces, subtype polymorphism

Project 6, due 4/5

Mar 28

Subtyping

Lab 11

Mar 29

More polymorphism

Mar 31

Abstract classes and inheritance. Slides.

Apr 3

Class hierarchies

Lab 12

Apr 4

Subclassing

Apr 5

Review

Apr 7

TEST. Solution.

Apr 10

Applied topics. Exceptions (11.1) Slides.

Apr 11

Exceptions.

Lab 13

Apr 12

Vectors

Project 7, due 4/25

Apr 14

NO CLASS

Apr 17

Linked structures (12.1-12.2)

Apr 18

Linked structures

Lab 14

Apr 19

Linked structures (12.3-12.4)

Apr 21

Finishing linked structures; HashMap, HashSet

Apr 24

File I/O (10.1-10.3)

Apr 25

Sorting and File I/O

Lab 15

Apr 26

Animals game

Apr 28

Review