Syllabus for CS 305, Computer Algorithms I

Fall 2003


The syllabus is divided into five three-week (mostly) sections:

  1. Introduction

  2. Classes and Sequential Data Structures

  3. Dynamic Memory and Lists

  4. Stacks and Queues

  5. Binary Trees
The general outline of the syllabus shown below will not change, but the details may vary as circumstances evolve. You should get in the habit of checking the syllabus regularly.

Note: The phrase "x through y" means "from the start of x up to and including the end of y."

Section 1 - Introduction, Thursday, 4 September to Thursday, 18 September.

Readings
Nyhoff: Chapters 1 and 2

Class Notes
Introduction.
Basic data types.
Composite data types.
Record data types.
An interlude on questions, answers, and signedness.
Array algorithms.

One-minute reviews
9-11 September

Programming Assignment
Assignment 1a available (last modified on 9 September 2003) on Thursday, 4 September, due on Thursday, 11 September at 5:00 p.m.
The grades.
An example solution.
Code review.
An interlude about time.

Assignment 1b available (last modified on 11 September 2003) on Thursday, 11 September, due on Thursday, 18 September at 5:00 p.m.

Test 1 - Thursday, 23 September
The green test answers.
The white test answers.
The grades.

Section 2 - Classes and Sequential Data Structures, Thursday, 18 September to Thursday, 9 October.

Readings
Nyhoff: Sections 3.1 through 3.5; Sections 3.6 and 3.7 optional

Class Notes
A time ADT.
A string ADT.
A text editor.

One-minute reviews
23-25 September
30 September-2 October

Programming Assignment
Assignment 1b due on Thursday, 18 September at 5:00 p.m.
The grades.
An example solution.

Assignment 2a available (last modified on 25 September 2003) on Thursday, 18 September, due on Thursday, 25 September at 5:00 p.m.
The grades.

Assignment 2b available (last modified on 11 October 2003) on Thursday, 25 September, due on Thursday, 9 October at 5:00 p.m.

Test 2 - Thursday, 9 October
The green test answers.
The white test answers.
The grades.

Section 3 - Dynamic Memory and Lists, Thursday, 9 October to Thursday, 30 October.

Readings
Nyhoff: Sections 8.1 through 8.6; Section 8.7 optional

Class Notes
Array lists.
Pointers.
Dynamically-allocated storage.
Linked lists.
A case study in manual memory mismanagement.

One-minute reviews
14-16 October
28-30 October

Programming Assignment
Assignment 2b due on Thursday, 9 October at 5:00 p.m.
The grades.

Assignment 3a available (last modified on 15 October 2003) on Friady, 10 October, due on Friday, 17 October at 5:00 p.m.
The grades.
An example solution.

Assignment 3b available (last modified on 17 October 2003) on Thursday, 16 October, due on Thursday, 30 October at 5:00 p.m.

Test 3 - Thursday, 30 October
The green test answers.
The white test answers.
The grades.

Section 4 - Stacks and Queues, Thursday, 30 October to Thursday, 20 November.

Drop Day - 5 November

Readings
Nyhoff: Chapters 4 and 5

Class Notes
Stacks.
Stack implementations.

One-minute reviews
4-6 November
11-13 November

Programming Assignment
Assignment 3b due on Thursday, 30 October at 5:00 p.m.
The grades.
An example solution.
A code review.

Assignment 4a available (last modified on 3 December 2003) on Friady, 31 October, due on Friday, 7 November at 5:00 p.m.
The grades.

Assignment 4b available (last modified on 11 November 2003) on Thursday, 6 November, due on Monday, 24 November at 5:00 p.m.

Test 4 - Thursday, 20 November
The green test answers.
The white test answers.
The grades.

Section 5 - Binary Trees, Thursday, 20 November to Thursday, 11 December.

No class - 27 November, Thanksgiving

Readings
Nyhoff: Chapter 10

Class Notes
Recursion and binary trees.
The binary-tree ADT.
Binary search trees.

One-minute reviews
25-27 November
2-04 December

Programming Assignment
Assignment 4b due on Thursday, 20 November at 5:00 p.m.
A Code review.
The grades.

Assignment 5a available (last modified on 5 December 2003) on Thursday, 20 November, due on Thursday, 4 December at 5:00 p.m.

Assignment 5b available (last modified on 8 December 2003) on Friday, 5 December, due on Friday, 12 December at 5:00 p.m.

Test 5 - Thursday, 11 December

Final Exam Lecture on a topic to be determined at a time to be determined on a date to be determined in a location to be determined.


This page last modified on 9 December 2003.