Syllabus for CS 503, Advanced Programming I

Spring 2007


The syllabus is broken up into seven two-week sections.

  1. Introduction

  2. Sorting

  3. Linked Lists, Stacks, and Queues

  4. Trees

  5. Graphs

  6. Hashing

  7. Objects
Notes:

Section 1 - Introduction, Tuesday, 16 January to Thursday, 25 January.

Readings
Loudon: Chapters 1, 2 and 4

Class notes
Introduction
C++ Review
Program Design
Programming Economics

Assignment
Assignment 1 (last modified on 14 January 2007) available on Tuesday, 16 January; due on Tuesday, 30 January at 5:30 p.m.
A code review.
The grades.
An example solution.

Quiz - Tuesday, 30 January
The pretest answered.
The answers.
The grades.

Section 2 - Sorting, Tuesday, 30 January to Thursday, 8 February.

Readings
Loudon: Chapter 12

Class notes
Sorting Basics*
Faster Sorting
External Sorting

Assignment
Assignment 2 (last modified on 15 February 2006) available on Tuesday, 30 January; due on Tuesday, 13 February at 5:30 p.m.

Quiz - Tuesday, 13 February
The answers.
The grades.

Section 3 - Linked Lists, Stacks, and Queues, Tuesday, 13 February to Thursday, 22 February.

Readings
Loudon: Chapters 5 and 6

Class notes
Abstract Data Types
Linked Lists
Stacks
Queues

Assignment
Assignment 3 (last modified on 11 March 2006) available on Tuesday, 13 February; due on Tuesday, 27 February at 5:30 p.m.

Quiz - Tuesday, 27 February
The answers.
The grades.

Section 4 - Trees, Tuesday, 27 February to Thursday, 15 March.

Spring Break - No classes the week of 6-10 March

Readings
Loudon: Chapter 9

Class notes
Tree Basics
Balancing Trees
N-Way Trees
Heaps and Priority Queues

Assignment
Assignment 4 (last modified on 22 March 2006) available on Tuesday, 27 February; due on Tuesday, 20 March at 5:30 p.m.
An example solution.
A code review.

Quiz - Tuesday, 20 March
The answers.
The grades.

Section 5 - Graphs, Tuesday, 20 March to Thursday, 29 March.

Drop Day - Monday, 26 March.

Readings
Loudon: Chapter 11

Class notes
Graph Basics
Graph Algorithms
Traveling, Flowing, and Matching

Assignment
Assignment 5 (last modified on 13 April 2006) available on Tuesday, 20 March; due on Tuesday, 3 April at 5:30 p.m.
A code review.

Quiz - Tuesday, 3 April
The answers.
The grades.

Section 6 - Hashing, Tuesday, 3 April to Thursday, 12 April.

Readings
Loudon: Chapter 8

Class notes
Hashing Basics
Dynamic Hashing
An Interlude
Hashing Applications

Assignment
Assignment 6 (last modified on 21 April 2006) available on Tuesday, 3 April; due on Tuesday, 17 April at 5:30 p.m.

Quiz - Tuesday, 17 April
The answers.
The grades.

Section 7 - Objects, Tuesday, 17 April to Thursday, 26 April.

Readings
Loudon: Chapter 3

Class notes
Objects, Inheritance and Types
Design by Contract
Liskov-Wing Substitution

Assignment
Assignment 7 (last modified on 27 April 2006) available on Tuesday, 17 April; due on Tuesday, 1 May at 5:30 p.m.

Quiz - Thursday, 26 April
The answers.

Open Lecture about Objects in C at 5:30 p.m. on 3 May in HH L512.


This page last modified on 14 January 2007.

This work is covered by a
Creative Commons License.