COSC-211: Data Structures
Home Schedule and Assignments
Meeting times: MWF 9-9:50am
Location: Science Center A011
Prerequisites: COSC-111 (Introduction to Computer Science I) or the equivalent at another institution.
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.
Instructor: Kristy Gardner
Office: Science Center C215
Office hours: Tuesday 4-5:30pm, Thursday 2-3:30pm. If you are unavailable during my regular office hours, I can often find time to meet by appointment at other times MWF. I am rarely available to meet outside of office hours on Tuesdays or Thursdays.
TAs: Ana Verma, Billy Jang, and Cole Stephens
TA evening help sessions: Sunday 6-8pm (Billy and Cole), Wednesday 7-9pm (Ana and Cole), Science Center C101
There is no required textbook, but the following book is a good reference:
Open Data Structures (in Java), by Pat Morin. Available online here (click on the links to the Java edition)
1. Homework (25%). There will be homework assignments roughly weekly. Most of these will be programming assignments, but a few will be written.
Deadlines, late days, and extensions: Homework must be submitted 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. Details:
- The time at which the assignment is due is the cutoff for what constitutes a "day" (that is, if the homework is due in class on Friday, then if you submit it between 9am on Friday and 9am on Saturday it is one day late, if you submit it between 9am on Saturday and 9am on Sunday it is two days late, and if you submit it after 9am on Sunday it is three days late).
- You may use up to 2 late days without penalty on any individual assignment.
- If you submit an assignment 3 days late (or one day beyond your total remaining number of late days, if you have fewer than 2 late days remaining), you can receive up to half credit on the assignment. This will count as having used 2 of your penalty-free late days.
- Work submitted more than 3 days late (or more than one day beyond your remaining number of late days) will not receive credit.
I will grant additional extensions only if I hear from your class dean that you are facing extenuating medical or personal circumstances.
2. Midterm exams (20% and 25%). There will be two in-class midterm exams, the first in early March and the second in early April. The first midterm will be worth 20% of your grade, and the second midterm will be worth 25% of your grade.
3. Final exam (30%). There will be a cumulative final exam, scheduled during exam week. Please do not make end-of-semester travel arrangements until after the final exam schedule is announced.
I will not take attendance, but 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 general, you are expected to do your own work in this class unless otherwise specified. You may discuss how to approach assignments with other students who are currently taking the class, but all code and written work must be your own. A rule of thumb is that after discussing assignments with other students, you should have new ideas but no new materials (written notes, code, photos of the whiteboard, etc.). Copying code in any way (including but not limited to: transcribing code you are reading from someone else's screen, having someone dictate code to you, emailing your code to someone else, copying and pasting someone else's code, collaborating with someone to the point where it looks like code has been copied, etc.) is strictly forbidden.
If you discuss an assignment with other students in the class, please note their names in a comment at the top of your submission. You do not need to note if you consulted with me or the course TAs. Do not discuss assignments with anyone other than myself, the course TAs, and students currently enrolled in the class, and do not look for solutions on the internet.
Exams must be completed individually, without the help of notes, textbooks, the internet, or other people.
If you are unsure whether something constitutes academic dishonesty, please ask me. There's absolutely no penalty for coming to talk to me about whether a certain form of collaboration is allowed.
If you are struggling...
Please come see me. In addition to my office hours and the TA-led evening help sessions, the Dean of Students office offers peer tutoring if we decide you would benefit from some extra time spent one-on-one with a peer tutor. Should you need support related to challenges beyond this course, I encourage you to seek help from the numerous resources available on campus, including but not limited to your class dean, your RC, the health center, and the counseling center.
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.