Harvey Mudd College

Computer Science 60
Principles of Computer Science
Spring 2003

Syllabus and Lecture Slide Links

Note: Assignments are due at midnight the morning of the day indicated.

Note: The lecture slides are subject to change up to the point that the lecture is given.
After that, they will only change if error correction is needed.

Day

Date

Assign

Due

Read

Topics, with Links to Slides

3x2 pdfÕs

Wed.

1/22

a01

 

Ch 1, 2

Introduction, Data Representation,

  ¥  |  ¥ 

Mon.

1/27

 

 

Ch 3

Binary Relations

  ¥

Wed.

1/29

a02

 

Ch 4

High-Level Functional Programming, Problem Decomposition

  ¥

Mon.

2/3

 

a01

 

Low-Level Functional Programming, Recursion, Pattern Matching

  ¥ 

Wed.

2/5

a03

 

Ch 5

Trees

  ¥

Mon.

2/10

 

a02

Ch 7

Open lists in Java

  ¥

Wed.

2/12

a04

 

 

Exceptions, Copying and Equality

  ¥,   ¥

Mon.

2/17

 

a03

 

Interfaces, Higher-Order Functions in Java

  ¥

Wed.

2/19

a05

 

 

Enumerations, Closed Lists

  ¥,  ¥

Mon.

2/24

 

a04

 

Inner Classes

  ¥

Wed.

2/26

a06

 

 

Inheritance, Abstract Classes

  ¥,  ¥

Mon.

3/3

 

a05

 

Searching Trees and Graphs

  ¥, ¥

Wed.

3/5

a07

 

 

Threads, Graphics

  ¥,  ¥

Mon.

3/10

 

a06

Ch 6, Ch 8

Imperative vs. Functional Programming, Languages, Grammars

  ¥,  ¥

Wed.

3/12

 

 

 

Mid-term exam in class

 

Mon.

3/17

 

 

 

Spring Break

 

Wed.

3/19

 

 

 

Spring Break

 

Mon.

3/24

 

 

 

Parsing

   ¥

Wed.

3/26

a08

 

Ch 9

Turing Machines

   ¥

Mon.

3/31

 

a07

 

Proposition logic

   ¥

Wed.

4/2

a09

 

 

Logic synthesis, Logic simplification

   ¥, ¥

Mon.

4/7

 

a08

Ch 10

Encoding, Hardware components

 

Wed.

4/9

a10

 

 

Predicate logic, Prolog and databases

  ¥

Mon.

4/14

 

a09

 

Predicate logic, Prolog and databases

 

Wed.

4/16

a11

 

 

Predicate logic, Prolog and databases

 

Mon.

4/21

 

a10

Ch 11

Program correctness

    ¥

Wed.

4/23

 

 

 

Complexity, Algorithm design

    ¥

Mon.

4/28

 

a11

Ch 13

Computer architecture, Assembly language

    ¥

Wed.

4/30

 

 

Ch 12

Finite-state machines, Regular expressions, Finite-state machine implementation

    ¥,  ¥

Wed.

5/14

 

 

 

Sec. 1-3 Final, 2-5 p.m.

 

Thur.

5/15

 

 

 

Sec. 4-6 Final, 7-10 p.m.