Duke Computer Science Shield

CompSci 201: Data Structures & Algorithms

Spring 2013
Duke University Computer Science

tpeck image

Professor

Tabitha Peck
  • office: D226, LSRC
  • email: tpeck at cs.duke.edu
  • phone: 660-6526
  • office hours: Monday 3-4, Thursday 10-11, whenever my door is open or by appointment.
tpeck image

Graduate TA

Ben Stoddard
  • office: N021, North Building
  • email: stodds at cs.duke.edu
  • phone: 660-4015
  • office hours: Tuesday 1.30-2.30, Friday 11.45-12.45. Both in North Building room 225.

UTAs

Helper hours for CompSci 201 UTAs are in the The Link. The Link is of the on Lower Level 1 of Perkins Library. The UTA should be near the cluster of chairs between Group Study 7 and Classroom 4.
Map to Perkins
Map of the Link
You can bring code on your laptop or have it accessible (e.g., via Ambient check-in & check-out) so the UTA can use another computer.

TA Hours

Textbook

This book is available at the Duke bookstore.
Data Structures and Algorithms in Java Third Edition, Required, by Mark Allen Weiss, Pearson, ISBN 10: 0-13-257627-9, ISBN 13: 9780-13-257627-7

Grading

Grading is done on an absolute, but adjustable scale. This means that there is no curve. Anyone earning 90% or more of the total number of points available will receive a grade in the A range (A- to A+); 80% = B, 70% = C, 60% = D. This scale may go down, but it will not go up.

To receive a grade of A or A+ you must exceed expectations. This means you must do everything required extraordinarily well or you must do more than is required and do this well. In other words, to earn an A you must do more than merely meet the requirements, you must go beyond them.

In order to earn an A+ you must do most of the optional assignments and exceed expectations in general.
programming assignments  40%
required APTs 3%
all other APTs 7%
recitation/classwork/written 15%
tests (2)  20%
final exam  15%

APTs

APTs are Algorithmic Problem-solving/Programming Testing problems and programs. You'll be given a description of a problem and asked to write code to solve it -- testing the code online and when you're happy with the code submitting it for grading. We don't look at the source code when grading, we run it and test it. However, you should strive to make your code small and beautiful. APTs will typically be due on Tuesdays or Thursdays. We will not accept late APT programs. Keeping up with APTs ensures you understand the topics we're discussing in class. You'll have many chances to do extra APTs thus being able to make up for missed submissions. Some APTs are required. You won't be able to make up required APTs, but you will have several opportunities to get full credit for the non-required APTs.

Late Programming Assignments

Assignments turned in on time receive no penalty. Assignments turned in within 24 hours after they're due incur a 10% penalty. Assignments turned in after that will get at most 50% of the credit for that assignment and will not be accepted after two weeks from the due date. The steep penalty increase is because you'll get behind on the next assignment if you're late on the previous assignment (hopefully you get the idea).

Programming assignments will typically be due on Tuesday or Thursday.

If you're having trouble, be sure to see a UTA/TA and preferably the professor in charge of the course as far before the due date as possible. Don't give up, ask for help. Don't give up, ask for help. Don't give up, PLEASE ask for help.

Individual extensions will be granted for medical reasons (see the Short-term Illness Notification policy) or other circumstances beyond your control that must be presented with an official Dean's excuse. We do not grant extensions after an assignment is due.

If you have personal reasons to ask for an extension, and you do so at least a week in advance, it's possible to get one, so please ask.

You cannot make up an in-class or recitation assignment. We will provide opportunities to earn "extra" points on in-class work so that if you miss a small number of these your grade won't be affected. However, frequent absences from class will affect the portion of your grade based on in-class work.

Points on assignments will vary. Harder assignments will be worth more than previous assignments, and most assignments will get harder as the semester progresses (harder means takes more time, requires more thought).

Course Policies

Quizzes and Exams taken online or in-class must be your own work, you should not collaborate on them unless you're given explicit permission to do so. This means you don't talk to anyone or look up anything on the web unless you're given instructions otherwise.

On programming assignments, you may consult with professors, and TAs/UTAs about any aspect of the assignment. You may consult with other students only in a general way, e.g., about debugging or Java issues, or questions about wording on the assignment. You cannot actively work with someone unless the assignment specifically grants permission to work together with another student. You can ask for hints or help, but if you do you must acknowledge this in your README that you submit with each assignment. Similarly, if anyone looks at your code to offer you help, guidance, or words of encouragement you must acknowledge this in your README.

Consult means you can discuss the programs before writing code, and get help with debugging your program, but you should write your own code. Writing one program and making multiple copies of it is NOT acceptable! For each assignment you are expected to include a list of the people with whom you have consulted (including students, TA's, tutors, professors) as part of your submission. That is, you must include the names of everyone who helped you as well as the names of everyone you helped.This is required, it's called the README file, and failure to provide it will result in rejection of the assignment as complete (you can resubmit).

Grading Policies

All care will be taken to make sure that grades are accurately calculated and reported. However, mistakes happen. If there is an error in your grade, due to a grading mistake or a reporting mistake we want to fix it. Please report the error:

here

Due to the bookkeeping challenges of a large class, all grading error requests MUST be made within 3 days (days count as weekdays while Duke is in session) from the initial grade being posted. No grade change requests will be accepted more than 3 days after a grade is posted.

Exams

Tests will be held during the lecture time and in the same room. The final will also be in the same room. See the Calendar page for dates and times.