Computer Science 60
Principles of Computer Science
Overview, Fall 1999
On This Page
General Information
What is this course about?
Is this course for you?
Textbooks
Assignments, Exams, and Grading
Collaboration Policy and Honor Code
General Information
Instructor (2:45-4:00): Robert Keller
Office: Olin 242
Phone: x18483
E-mail: keller@cs.hmc.edu
Official Office Hours: MTW 4:00-5:00
Instructor (4:15-5:30): Zachary Dodds
Office: Olin 245
Phone: x18976
E-mail: dodds@cs.hmc.edu
Official Office Hours: T 2:00-4:00 and W 5:30-7:00
Class Time and Place:
- Section 1: Mon and Wed 2:45-4:00 PM, Beckman 126, Professor: Robert Keller
- Section 2: Mon and Wed 4:15-5:30 PM, Beckman 126, Professor: Zachary Dodds
Course Homepage: http://www.cs.hmc.edu/courses/1999/fall/cs60/index.html
Graders/Tutors (aka "Grutors"):
Help via E-mail: You can send e-mail to help@cs.hmc.edu for systems help. 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.
Is This Course for You?
The answer is YES! All right, seriously, the prerequisite for this course
is CS 5 or an equivalent course at another college.
What Is This Course About?
The objective of this course is to introduce you to the basic principles
of computer science. You will learn to use several different programming
languages including an object-oriented language (Java), a functional
programming language (rex), and a logic programming language (Prolog).
The course covers topics in data structures, algorithms, complexity
analysis, computability theory, logic principles, and computer architecture.
Texts
- Computer Science: Abstraction to Implementation by
Robert M. Keller.
This is the primary textbook for the course.
This book is available for purchase from Ms. Nancy Mandala
in the Computer Science Department Office, Olin 240 between 1 PM and 5 PM.
- A book that covers the fundamentals of Java. If you already have a Java
book, it may well suffice, or if you don't mind using on-line documentation,
there is plenty available. For some pointers, check the reference page.
Collaboration Policy - Honor Code
All conduct in this course should be conducted in accordance with the Harvey
Mudd Honor Code. In particular, although discussion of problems with
others is encouraged, programming in CS60 emphasizes individual learning, not
group projects. We observe the following standard: "You may
discuss the assignment with other students. You may not share
[i.e. give or receive] written work of any kind, inside or outside
the course". Elaboration: In the case of programming assignments, we
consider "written work" to include email, computer files, fragments
of files, and printed output. In developing code for a programming assignment,
you can discuss ideas with others, but discussion of ideas must not involve
wholesale examination or transcription of the actual working code of others,
with the exception that you may use any code explicitly provided by the
instructor.
If you get significant, but legitimate, help from another, you should
acknowledge it on your submission. You do not lose credit for this.
If you have any doubts about whether a form of interaction
constitutes a violation of this standard, it is incumbent upon you to ask the
instructor prior to the issue.