This course is an introduction to computer science with an emphasis on abstraction. We will study computational processes; you will learn how to describe a process by using a procedure and how to use general categories of data in terms of their operational properties.
Prerequisites: Although there are no formal prerequisites, you should understand the material that is typically covered in high school algebra.
Course Webpage: The best source of information about this course is available at http://www.gac.edu/~mc27/2001F/ . There you will find a complete syllabus, course description, current homework and project assignments, and so on.
Text: Concrete Abstractions: An Introduction to Computer Science, by Max Hailperin, Barbara Kaiser, and Karl Knight.
Classes: Classes will be used for lectures, problem solving, discussions, and other fun activities. Labs will be used for working on projects. You should prepare for each of these by doing the reading, thinking about the problems in the text or project assignments, and formulating questions of your own.
Attendance, both physical and mental, is expected.
Homework: Homework will help you check your understanding of the reading and the classes. There is one assignment for each chapter, which will be due soon after we finish that chapter in class.
Homework solutions should be neatly written on notebook sized paper and handed in at the beginning of class on the day they are due. They will be graded for the accuracy of your solution and the quality of your explanations. Be sure to follow the homework guidelines we have provided.
We encourage you to work with other students on the homework provided that you do so in such a way that every one in your group learns the material. The most effective way to do this is to first discuss each problem as a group and then have each person work on the problem individually. When you're done (or stuck) compare your work and discuss it. Remember that doing the homework is how you learn the material and that you are not allowed to work cooperatively on tests.
If you do work with other students on the homework, we would like you to follow these guidelines:
The lab instructors will also be the ones who grade the reports. When they grade these reports, they evaluate the code for accuracy, efficiency, clarity, and style. Additionally, they consider how well your report outlines the main problem of the lab, describes how your code fits together to solve this problem, and explains why your solution is a good one. Be sure to follow the Suggestions for clear reports in computer science courses we have provided.
Absences from class, late assignments, etc: Should you need to miss a class for any reason, you are still responsible for the material covered in that class. This means that you will need to make sure that you understand the reading for that day, that you should ask another student for the notes from that day, and make sure that you understand what was covered. It also means that if we had an assignment that we did in class that day, you will get a 0 for that assignment. If there is an assignment due that day, you should be sure to have someone hand it in or put it in your professor's departmental mailbox (in Olin 324). You do not need to explain why you missed a class unless there is a compelling reason to do so.
Chapter homework and project reports need to be handed in on the day they're due. Generally, you should hand them in at the beginning of class. Otherwise, you need to make sure your professor gets them before he or she leaves for the day. Under no circumstances should you send them through the POs, nor should you put them in the grey box outside our office doors or on our desks. In case you are sick or have some sort of emergency, you may hand in two of the 15 assignments (9 homeworks + 6 projects) late without penalty, as long as they are no more than one week late and as long as we have not handed out solutions or returned the graded assignments. Any more late assignments will be heavily penalized.
Tests: There will be two tests during the semester, on Thursday evenings from 7:00-8:30 pm. The test dates are September 27 and November 8. There will also be a final, the date of which will be announced when it has been scheduled by the registrar.
If you cannot take a test at the regularly scheduled time because you have some other academic obligation, please let your instructor know as soon as possible.
Honor: You are expected to work together in an honorable way in this course. This means that while you can discuss problems and their solutions, each of you should make a real effort to solve each problem by yourself, and you should give credit to any people or texts that helped you find solutions. Needless to say, you are expected to work completely by yourself on tests.
Cheating is not allowed in this course. If we find someone has cheated, we will take action ranging from flunking them on the assignment in question to flunking them on the entire course. We will also notify the Dean of Students.
Course grade:
| Projects | 30% |
| Chapter homework | 18% |
| Intra-term tests | 16% each |
| Final | 20% |
Accessibility: Please contact your professor during the first week of class if you have specific physical, psychiatric, or learning disabilities and require accommodations. We will do our best to facilitate the necessary arrangements. All discussions will remain confidential.