CS 5 Fall 2009
Schedule

Schedule subject to change with minimal notice.

All readings are from Lewis and Loftus.

[Week 1] [Week 2] [Week 3] [Week 4] [Week 5] [Week 6] [Week 7] [Week 8] [Week 9] [Week 10] [Week 11]


Week 1

Wednesday, September 23:
Why study Computer Science? Administrivia. What makes a good program?
Thursday, September 24 (x-hour):
What makes a good program, continued.
Reading: Chapter 1.
Friday, September 25:
Simple types and values, variables.
Reading: 2.1-2.3.

Week 2

Monday, September 28:
Simple types: operators, Scanner class, type conversions, and other basic stuff. References and objects. Using builtin classes: DecimalFormat.
Reading: 2.4-2.6, 3.1, 3.6.
Wednesday, September 30:
Using builtin classes: String, Math, Random.
Reading: 2.5, 3.2-3.5, 3.7.
Thursday, October 1 (x-hour):
More on operators. Enumerated types. Flow of control: if-else statements, loops.
Reading: 5.2-5.5, 5.7-5.8.
Friday, October 2:
Boolean expressions. Nested loops. Introduction to writing classes.
Reading: 5.1, 4.1-4.5.

Week 3

Monday, October 5:
More on writing classes. Return values from methods.
Reading: 6.7-6.8.
Wednesday, October 7:
Problem decomposition.
Reading: 6.1-6.2, 6.4.
Lab #1 out.
Thursday, October 8 (x-hour):
In-class quiz.
Friday, October 9:
Method call mechanisms. Garbage collection.

Week 4

Monday, October 12:
Scope of names. Static methods and static variables. Wrapper classes and autoboxing.
Reading: 3.8, 6.3.
Wednesday, October 14:
Debugging and testing. Graphical applets.
Reading: 2.7-2.9, 6.9.
Lab #1 due.
Thursday, October 15 (x-hour):
Open review session.
Exam at 6:00 PM in Filene Auditorium.
Friday, October 16:
Objects and applets. Interfaces.
Reading: 6.5, 7.9.

Week 5

Monday, October 19:
Events and listeners. Manual animations. Animations with timers.
Reading: 8.8.
Wednesday, October 21:
Arrays. Arrays of objects. Objects containing arrays.
Reading: 7.1-7.3.
Lab #2 out.
Thursday, October 22 (x-hour):
Arrays, continued. Multidimensional arrays. ArrayList class. Generic types.
Reading: 7.6-7.8.
Friday, October 23:
No class. Homecoming weekend.

Week 6

Monday, October 26:
Graphics using arrays. Inheritance.
Reading: 8.1-8.3, 8.5.
Wednesday, October 28:
Inheritance, polymorphism, dynamic binding, and graphics.
Reading: 8.4, 8.7, 9.1-9.3, 9.7.
Lab #2 due. Lab #3 out.
Thursday, October 29 (x-hour):
In-class quiz.
Friday, October 30:
Object class. GUI components.
Reading: 3.9-3.10, 4.7-4.9.

Week 7

Monday, November 2:
More on GUI components. Recursion.
Reading: 5.10-5.11, 11.1-11.3.
Wednesday, November 4:
More recursion.
Reading: 11.4.
Lab #3 due. Lab #4 out.
Thursday, November 5 (x-hour):
Open review session.
Exam at 6:00 PM in Filene Auditorium.
Friday, November 6:
Swing: containers, components, and layout managers.
Reading: 6.11-6.13, 8.6.

Week 8

Monday, November 9:
Interval bisection. Case study: Amortizing a loan.
Wednesday, November 11:
Searching: linear search, binary search.
Reading: 9.5.
Lab #4 due. Lab #5 out.
Thursday, November 12 (x-hour):
Searching: binary search. Orders of growth.
Friday, November 13:
Sorting: selection sort, insertion sort.
Reading: 9.4.

Week 9

Monday, November 16:
Sorting: merge sort, quicksort.
Wednesday, November 18:
Sorting: heapsort and columnsort.
Lab #5 due. Lab #6 out.
Thursday, November 19:
Columnsort.
Friday, November 20:
Columnsort. Priority queues. Data structures: doubly linked lists.

Week 10

Monday, November 23:
Data structures: Doubly linked lists and singly linked lists.
Reading: 12.1-12.2 (skim; we'll use a different structure).
Wednesday, November 25 and Friday, November 27:
No class. Thanksgiving break.

Week 11

Monday, November 30:
Iterators and ADTs.
Wednesday, December 2:
Thinking in parallel.
Lab #6 due.
Thursday, December 3
Exam review session, 10:00 am to 12:00 noon, in 008 Kemeny.
Sunday, December 6:
Final exam 3:00-6:00 PM, in 108 Kemeny.

Thomas H. Cormen <thc@cs .dartmouth.edu>
Last modified: Sat Nov 21 18:49:32 2009