Computer Science 60
Principles of Computer Science
Syllabus, Fall 2006

Course Aims and Objectives

Is This Course for You?

The answer is YES! Alright, seriously, the prerequisite for this course is CS 5. If you have not taken CS 5 at HMC or you have not officially placed out of CS 5, please talk to me.

Logistics

Class Times and Place: Tuesday and Thursday, 1:15-2:30pm, Parsons 2358

Course Homepage: http://www.cs.hmc.edu/courses/2006/fall/cs60

Professor: Christine Alvarado
Office: Olin 1241
Phone: 70443
E-mail: alvarado@cs.hmc.edu
Office Hours: Tu 4:45-5:45PM, W 1:15-2:30PM, Th 2:45-4PM
I encourage you to contact me about any aspect of the course, or anything else. Outside of my office hours, I can sometimes be hard to track down, but I am always available by appointment. In general email is the best way to reach me, but I occasionally do not check email in the evening. If you send me email at night I will respond the following morning. If you really need to get a hold of me at night, you can call me at home (before 9pm). For urgent matters during the day (e.g., you can't make it to class at the last minute for some reason), please call me in my office.

Graders/Tutors (aka "Grutors") There are 8 excellent grutors for this course! They will be holding regular hours in the Beckman 102 CS labs (see link below for hours). They will also be grading your assignments (but not exams). A complete schedule of tutoring hours can be found at http://www.cs.hmc.edu/courses/2006/fall/tutorhours.html

Help via E-mail: You can send e-mail to cs60help@cs.hmc.edu with short questions related to homework. The grutors and I will be checking this e-mail address frequently, so it is a fast way to get your questions answered. We ask that you use cs60help rather than sending e-mail to me or the grutors directly. This will help us make sure that we are answering questions promptly. It also ensures that the entire course staff sees the question and subsequent answer, allowing us to be consistent about the way we answer questions.

For more extensive help, please see me or a grutor in person. For help with the computing system, please send e-mail to help@cs.hmc.edu, or seek out one of the many Mudders who know the system well!

Attendance

On-time attendance at every lecture is absolutely required in order to pass this course. If you are ill and cannot attend or an emergency arises, please contact me as soon as possible. I will ask for a note from Dean Cave or Dean Noda to excuse more than one sick day during the term. If you need to miss class for any other reason, you must get permission in advance.

Text

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. Joyce Greene in the main CS office in Olin 1258. The book is sold at the cost of production with no profit to any party at HMC. You may also find it useful to have a textbook or reference book on the Java language.

Assignments and Exams

There will be an assignment every week (with exceptions for breaks). Unless stated otherwise, homework is due each Wednesday at 11:59pm SHARP! (Since we use an automated procedure to determine submission time, if you submit even slightly after midnight, it will be recorded as being submitted the next day.)

You have two late days that you may use at your discretion. A late day allows you to turn in an assignment 24 hours late with no penalty. You may not use two late days on the same assignment. Late homeworks will not be accepted once these late days have been used. In cases of illness or emergency, you must contact Dean Cave to arrange an extension and have him contact me. I will not grant additional extensions directly for any reason (but Dean Cave is very reasonable, so if you have a legitimate need for an additional extension, please go see him).

In addition to weekly assignments, there will be two midterm exams and a comprehensive final exam. The midterms will be in class on Thursday, October 5 and Thursday, November 9. The final exam will be given in during its scheduled time during exam week: Thursday, December 14 from 2-5pm. If you have a conflict with any of the exam date, please come see me ASAP. Exams are closed book and closed notes, but you may bring in one 8.5x11 sheet of handwritten notes to each midterm, and two sheets to the final.

Grading

The weekly assignments will involve programming and, especially later in the course, some "paper and pencil" problems.

We will use guidelines in grading the programming assignments which will be approximately as follows:

We will try to give you very clear feedback indicating what could be done to improve the program. If the feedback isn't entirely clear to you, please talk to me or one of the grutors.

Your final grade will be a weighted average of your grades on each course component. Components will be weighted as follows:

IMPORTANT: You must have at least a 50% weighted average (final worth twice as much as each midterm) on the exams to pass this course.

Collaboration Policy

You are welcome and encouraged to discuss approaches to solving homework problems. You may not share any written materials of any kind. In particular, you may not send or receive code that is related in any way to this course by e-mail, on the web, from another person's file or printout, or in any other form.

You may wonder if it is permitted to help a classmate debug a program and, in the process, look at their code. This is permitted, assuming that it is done with the intent of aiding your classmate and not with intent of gleaning code that might be used in your own program. Use your good judgement here. If you're not sure about what's appropriate, please talk to one of the professors.

All conduct in this course should be conducted in accordance with the Harvey Mudd Honor Code.