Harvey Mudd College
Computer Science 60
Principles of Computer Science
Overview/Syllabus, Spring 2002



What Is This Course About?

This course is designed to introduce you to the basic principles of computer science. You willll have a chance to use several different programming languages including a functional programming language (rex), an object-oriented language (Java), a logic programming language (Prolog), and assembly language (ISCAL). Why so many languages? The goal is that, once you've taken CS 60, you will be able to program in ANY language! (perhaps with the help of a manual). After all, in 10 years, you will probably still need to solicit the help of computers to solve problems, but the languages in vogue today may well have gone the way of cobol, pascal, or fortran (with apologies to any lingering fortran boosters). By covering the foundations of data structures, algorithms, complexity analysis, computability theory, logic principles, and computer architecture, CS 60 will sharpen your language-independent skills. These are the principles that will remain constant, even as Windows, MacOS, Linux, etc., undergo their annual facelifts for years to come.

General Information

Instructors:

Section One (MW 2:45-4:00, Beckman 126)
Instructor: Robert Keller
Office: Olin 1249
Phone: x18483     (909-621-8483)
E-mail: keller@cs.hmc.edu
Official Office Hours:TTh 2-4
Feel free to visit anytime, but you may wish to check my schedule first for likely availability.

Section Uno (TTh 2:45-4:00, Galileo Pryne)
Instructor: Zachary Dodds
Office: Olin 1265
Phone: x78990     (909-607-8990)
E-mail: dodds@cs.hmc.edu
Official Office Hours: MW 4:00-5:00
Real Office Hours: Anytime

Course Homepage: http://www.cs.hmc.edu/courses/2002/spring/cs60/index.html

Help via e-mail: For short questions related to homework, mail cs60help@cs.hmc.edu. For more extensive help, please see a tutor or one of the instructors in person. Help with the systems (turing, etc.) is available from help@cs.hmc.edu. Asking CS-savvy friends and neighbors may be even more efficient.

Texts

Assignments

Tutors and tutoring hours (Beckman B102)

Grading Policy

Collaboration Policy - Honor Code

All conduct in this course should be conducted in accordance with the Harvey Mudd Honor Code. To avoid confusion, the Harvey Mudd honor code has been made very explicit with regards to the computer science department and its computing systems. Those details are in the Computer Science Academic Honesty Policy. You are expected to have on a file in the CS Department office a copy of this document signed by you to indicate that you understand the policy.



Tentative Lecture Schedule

This list constitutes the basic topics of CS60; they will be the focus of the lectures, assignments, and exams for the course.