CS算法网课代修 | CS 1501 Algorithms and Data Structures Syllabus


Course Description  

This course covers a broad range of the most commonly used algorithms. Some examples include algorithms for sorting, searching, encryption, compression and local search. The students will implement and test several algorithms. The course is programming intensive.


The class has two main learning outcomes:

1.     To convert non-trivial algorithms into programs and

2.     To analyze and compare run-times of algorithms




CS 0441 and CS 0445





Robert Sedgewick and Kevin Wayne, Algorithms, 4th Edition, Addison-Wesley, 2011.

ISBN-13: 9780321573513 (Available online via Pitt’s library)


F. M. Carrano and T. M. Henry, Data Structures and Abstractions with Java (5th Ed.)

Grading Policy  

Programming Assignments (40%): best four out of five assignments. Late submissions are allowed for up to two days with a 10% reduction per late day.

This must be your own individual work. Do not look at the solution of anyone (or even part of it), and do not let anyone else look at yours (or even part of it). You should figure out the solutions by yourself — do not ask anyone how to solve the problem, and do not seek the answer from some other source.


Students are expected to have a backup disk (or storage somewhere) for every assignment they turn in. In this way, if there is any problem with the copy that is handed in the backup can be used for grading purposes.


Midterm and Final exams (20%): 12% on higher grade and 8% on lower. Make-up exams can be scheduled well in advance. The exams are remote and non-cumulative.

Homework assignments (20%): Twelve homework assignments worth 2% each. The lowest two homework assignments will be dropped.

Recitation Participation 
(10%): Ten lab exercises worth 1% each.


Lecture Quizzes (10%): Mini quizzes on Top Hat during each lecture. The join code for Top Hat is 905022.

Minimum Technology Requirements Basic computer hardware that includes camera and microphone for the Zoom meetings. Basic software (e.g., Microsoft Suite, Canvas, Panopto, Top Hat, Zoom, Gradescope, Piazza, PuTTY, WinSCP or FileZilla, a text editor (e.g., Atom, Sublime, VS Code, Notepad++, Brackets, etc.).