Overview: This is a first course in computer science, designed for students who have no prior computer science or programming experience. The goal of the course is to provide a foundation in the ideas and techniques that are used in computer science. Much of the course focuses on learning to program in Java, but a programming language is really just a tool to tell the computer what to do. The greater (and more interesting) challenge is figuring out an algorithm---a sequence of clearly defined steps---that enables you to solve the problem at hand. In this course we will see the basics of how to break a problem down into smaller tasks, how to put the pieces together to design an algorithm, and how to write a program that tells the computer how to solve a problem using your algorithm.
TA evening help sessions (in Seeley Mudd 014): Sunday 7-9pm (Hunter, Kathleen, and Patrick), Wednesday 8:30-10:30pm (Laura), and Thursday 7-9pm (Daniel, Hea Rim, and Wilson)
Java Programming, by Lyle McGeoch. Available online on Prof. McGeoch's web site
2. Midterm exams (15% each). There will be two in-class midterm exams, the first in late February and the second in early April.
3. Final exam (20%). There will be a cumulative final exam, scheduled during exam week.
4. Projects (30%). There will be three projects assigned during the semester. These are larger programming assignments that will incorporate all of the concepts we discuss this semester.
I will not take attendance and you will not be explicitly graded on participation, but participating in class (or not) can help (or hurt) you should you end up on the border between two grades. I strongly encourage you to attend all class meetings. You likely will find it difficult to keep up with the material if you do not come to class, and I will not use office hours time to teach you material from lectures that you decided to skip. In particular, it is in your best interest not to skip lab, because this is when you will get a chance to practice the ideas we discuss in lecture with myself and the course TAs present to help if you get stuck.
Deadlines, late days, and extensions: Each lab and project must be submitted using the submission web site by the day and time at which it is due. You may take 5 late days during the semester. These can be used for any reason, without penalty, and you do not need to ask me or tell me that you are using them. You may use up to 2 late days on any individual assignment. If an assignment is more than 2 days late, or if you have used up all of your late days, you will lose 10% on the assignment for each additional day that your submission is late. I will grant additional extensions only if I hear from your class dean or doctor that you are facing extenuating medical or personal circumstances.
If you have a documented disability that requires accommodations, you will need to contact Accessibility Services (accessibility@amherst.edu or 413-542-2337). After you have arranged your accommodations with Accessibility Services, please set up a time to meet with me to discuss how we can best implement your accommodations in this class.