Overview: A fundamental problem in computer science is that of organizing data so that it can be ussed effectively. This course introduces basic data structures and their applications. Major themes are the importance of abstraction in program design and the separation of specification and implementation. Program correctness and algorithm complexity are also considered. Data structures for lists, stacks, queues, dictionaries, sets, and graphs are discussed. This course will be taught in Java.
TA evening help sessions (in Seeley Mudd 014): Tuesday 7-9pm (Terence, Roy, and Cole), Thursday 5:30-7:30pm (Cole and Jamie)
Open Data Structures (in Java), by Pat Morin. Available online here (click on the links to the Java edition)
Deadlines, late days, and extensions: Homework must be submitted using the submission web site (programming assignments) or in class (written assignments) 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.
2. Midterm exams (15% and 20%). There will be two in-class midterm exams, the first in late February and the second in late March. The exam on which you receive a lower score will be worth 15% of your grade, and the exam on which you receive a higher score wll be worth 20% of your grade.
3. Final exam (25%). There will be a cumulative final exam, scheduled during exam week.
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.
If you have a documented disability that requires accommodations, you will need to contact Accessibility Services (firstname.lastname@example.org 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.