Duke Computer Science Shield

CompSci 201: Data Structures & Algorithms

Fall 2012
Duke University Computer Science

Remember!

  • The final is on December 15th at 2PM in the usual classroom!

What?

Officially: Analysis, use, and design of data structures and algorithms using an object-oriented language like Java to solve computational problems. Emphasis on abstraction including interfaces and abstract data types for lists, trees, sets, maps, and graphs. Implementation and evaluation of programming techniques including recursion. Intuitive and rigorous analysis of algorithms.

Actually: The classics of Computer Science, in three parts. First, how machines store information in order to process it efficiently ("data structures"). Second, the mathematical and scientific tools to analyze and quantify performance ("What does 'efficient' mean?"). Third, using one and two to investigate computational problems, including some in human language, biology, and music. Overall: learn the foundation on which the rest of the discipline is built.

Who?

Professor Mac Mason
LSRC D235
(919)-660-6550
Office hours Monday-Wednesday Noon-2PM & Tuesday-Thursday 10AM - Noon. Other times by appointment.

 

 

Visiting Faculty Tabitha Peck
LSRC D226
(919)-660-6526
Office hours are Tuesday 10-11, Wednesdays after class, and other times by appointment.

 

 

 

Graduate TA Rohit Paravastu
LSRC D104
919-660-6504
Office hours are Tuesday and Thursday 5-6PM in LSRC D344.

 

 

 

 

Assignments

These are the large, multi-day assignments. Work from class or recitation that carries forward is on the class calendar.
See also: all of the code.
  • Assignment 0: Hangman. Due September 10th.
  • Assignment 1: Jotto. Due September 17th.
  • Assignment 2: Markov. Due October 2nd.
  • Assignment 3: DNA. Due October 26th.
  • Assignment 4: Twenty Questions. Due November 2nd.
  • Assignment 5: Boggle. Due November 20th.
  • Assignment 6: Huffman. Due December 7th.
  • Assignment 7: Burrows-Wheeler (extra credit). Due December 7th.

Help!

UTA Helper Hours. These take place in the Link, between group study room 7 and classroom 4.

Need help? If the book and lecture notes don't help, post a question to Piazza. That will probably get you an answer faster than e-mail, because more people will see it. (Many eyes make bugs shallow.) If you have a question about grading, start by e-mailing your grader one-on-one. You should absolutely feel free to e-mail a member of the course staff one-on-one if you have a question that's not suited to Piazza.

Further Reading

We have a form for anonymous feedback. That page uses your NetID to make sure you're a Duke student, but no identifying information is reported (or stored); it's as anonymous as we can make it.

Where?

The Love Auditorium (LSRC B101).
Monday, Wednesday, and Friday.
10:05 to 11:20 (AM!).

Syllabus

Download as a .pdf. Includes information on grades and the textbook.

Calendar

The course calendar includes links to the lecture slides, in-class code, current assigments, lecture videos, and a (rough!) plan of the semester.