Course Description: Introduction to design and analysis of algorithms and data structures. Where appropriate, emphasis is placed on techniques that are useful for the analysis of scientific data. Topics include dynamic programming, linear programming, network flows, local and heuristic search, and randomization. NP-completeness and approximation algorithms may also be covered. Data structures discussed will include balanced trees, priority queues, and string data structures. Minimal previous algorithmic knowledge is assumed. Classwork will include programming assignments, but strong programming skills are not required.
Instructor: Carl Kingsford
Associate Professor, Ray and Stephanie Lane Center for Computational Biology, School of Computer Science, Carnegie Mellon University.
Office: GHC 7705
Office Hours: 3pm-4:30pm, Mondays in GHC 7705 (starting Jan 28).
TA: Geet Duggal, geet@cs
Office Hours: Tuesdays, 9:30-10:30 and Fridays, 1-2pm in GHC 7413 (starting 2/11/13)
TA: David Farrow, dfarrow@andrew
Office Hours: Mondays, 2-3pm and Wednesdays, 2-3pm in GHC 7603
Course Time and Location: MWF 9:30-10:20am; HH B103. The course is cross-listed as 02-513.
Estimated Coursework: Coursework will consist of near weekly homeworks that will include algorithm design and analysis problems and some programming assignments, 2 midterms, and a final.
Textbook: Algorithm Design by Jon Kleinberg and Éva Tardos, ISBN 0-321-29535-8.
- Homework 9 has been posted.
- Midterm #2 will be Apr. 26 in class in the normal classroom.
- Homework 8 has been posted.
- Final exam will be: Tuesday 5/7 from 1-4 in Doherty 2315.
- Homework 7 has been posted.
- Homework 6 has been posted.
- Slides and commands from the programming assistance session have been posted.
- Slides from the review session for midterm 1 have been posted.
- Homework 5 has been posted.
- There will be a review session for the midterm from 5pm - 6pm on Wednesday, 2/27 in DH A302.
- On Monday, Feb. 25, Carl's office hours will be from 2pm-3:30pm.
- An example midterm has been posted. Note: your midterm will cover different material and is shorter
- Midterm #1: Friday, March 1 in McConomy in the UC. It will cover:
- Chapters 1,2,3,4 in the book (non-starred sections; obviously the focus will be on what we spent the most time on)
- Whatever of chapter 5 that we cover on or before Feb. 25
- The homeworks
- The lecture slides
- What I said in class
- Homework 4 is posted.
- A mid-semester survey has been posted.
- Homework 3 is posted.
- Solutions to the homeworks are posted on Autolab under each homework assignment.
- Homework 2 is posted.
- Homework 1 is due Monday, Jan 28 at 9:30PM.
- Use Autolab with your andrew ID to submit your homeworks
- Homework 1 is posted.
- Homework 0 is posted.
- The syllabus has been posted.
An optional LaTeX template for homeworks.
Additional resources will be linked as appropriate from the course schedule.
Online lecture notes:
- Carl's Algorithms Slides
- Carl's Data Structures Slides (scroll down)
- Dave Mount's Data Structures Lecture Notes
- Dave Mount's Algorithm Lecture Notes
- CMU 15-210 lecture notes
- CMU 15-451 lecture notes
- Introduction to Algorithms by Cormen, Leiserson, Rivest, and Stein
Other web resources: