Big Picture

Course Details:CS 201 (Data Structures), Fall 2013, Carleton College.
Meetings:2a (MW 9:50am–11:00am, F 9:40am–10:40am) in CMC 102.
Instructor:Jadrian Miles; CMC 320, x5173, jadrian
Prefect:Will Martin; martinw
Textbook:Frank M. Carrano, “Data Structures and Abstractions with Java”, 3rd ed. Prentice Hall, 2012.

Course Content

This course is about organizing data in canonical ways so that both client code (the part of the program using the data) and provider code (the part that organizes the data) can work predictably and efficiently. We’ll learn:

We are going to cover pretty much the entire book, more-or-less following the book's chapter order. This includes (not exactly in this order):

For more details, please see the schedule page, which will be kept up-to-date as I adjust the schedule throughout the course.

Course Requirements

Working Together

Each programming assignment will be a team assignment or an individual assignment.

You and your partner should engage in the pair programming model: Both of you should be sitting at a single machine, side by side. One student should be “driving” (that is, using the keyboard and mouse) and the other should be following along, providing ideas, looking for bugs. Make sure that each partner gets a relatively equal chance to drive.

There will also be individual assignments that you will complete on your own. You are permitted to collaborate with others in the class for ideas and to help solve problems, but the solution should be your own. More on this in the Collaboration Policy below.

Who to Ask for Help


Your grade will be computed as follows:

Component% of Overall Grade
Classroom Participation15%

Assignments will be submitted via Moodle.

There will be 4 quizzes throughout the course, and you will be able to drop your lowest quiz score. The quizzes will focus on recent topics, but may include all topics up to that point in the course.

The final will be a comprehensive exam.

Using the above weights, a total of 90% and up will earn you some level of A, 80% and up at least some level of B, 70% and up at least some level of C, 60% and up at least some level of D.

Assignments turned in early will be rewarded; those turned in late will be penalized. Here's the breakdown:

Hours earlyBonus (percentage points)
Hours latePenalty (percentage points)

To be clear, assignments turned in more than 72 hours late will receive no credit.

Academic Honesty and Collaboration Policy

You are expected to maintain the utmost level of academic integrity in the course. Any violation of the code of academic integrity will result in severe punishment, which may include receiving a failing grade in the course or even dismissal from the college. Academic dishonesty has no place in an institute of higher learning; it wastes my time and yours.

Please familiarize yourself, if you haven't already, with the College's academic integrity policy and the Dean of the College's detailed guide to academic integrity.

My motivation for the course’s collaboration policy, which is below, is as follows. I am a major proponent of you learning from each other in a course like this one, and I strongly encourage you to work together in attacking homework exercises. Students who think about problems together almost always learn more and find difficult problems less frustrating than those who work alone. However, there is a major difference between, on the one hand, thinking about and solving a question as a group (which is good, both educationally and morally); and, on the other hand, copying an answer from someone else or giving a answer to someone else to copy (which is bad, educationally and morally, and has punitive consequences). The policy below is formulated to encourage the former while banning the latter.

Collaboration policy: You may collaborate on the homework assignments to the extent of formulating ideas as a group, but you may not collaborate in the actual writing of solutions. In particular, you may not work from notes taken during collaborative sessions. You must cite all sources, including others in the class from whom you obtained ideas. You may not consult any materials from any previous offerings of this course or from any other similar course offered elsewhere.

You are required to completely understand any solution that you submit, and, in case of any doubt, you must be prepared to orally explain your solution to me. If you have submitted a solution that you cannot verbally explain to me, then you have violated this policy.

Of course, there is to be no collaboration whatsoever on any quizzes or exams. Policies for what constitutes acceptable reference material, if any, will be specified in detail when the exam is distributed.

I am obligated by the Faculty Handbook to report any suspected violations to the Dean’s office. Any student who is found responsible for academic dishonesty in this class will receive an F for the course.

If you have any doubt about any aspect of this policy, ask beforehand!