15-210 Parallel and Sequential Data Structures and Algorithms


Course Level:Undergraduate Units: 12 Special Permission Required: No
(if yes, please see Notes)

Frequency Offered: Generally offered every fall & spring - confirm course offerings for upcoming semesters by accessing the university Schedule of Classes.

Course Relevance (who should take this course?): Students already experienced with fundamentals of functional programming.

Key Topics: Background Knowledge: Assessment Structure:
  • Algorithm design techniques
  • Parallel algorithms
  • Analyzing costs by solving recurrences
  • Graph algorithms
  • Parallel data structures
  • Randomized algorithms

Most Recent Syllabus:

  • Introductory discrete math and proof techniques
  • Understanding of programming
  • Knowledge of SML is helpful

Sample class notes:

Sample Assignment:

  • Assignments - 40%
  • Exam 1 - 15%
  • Exam 2 - 15%
  • Final - 26%
  • Recitation Participation - 4%

Sample Exam: None provided

Sample Lecture Recording: Typically no recorded lectures

Course Goals/Objectives:
  • Understand a variety of techniques in algorithm design including divide-and-conquer, contraction, randomization, greedy method, brute-force, reduction, and dynamic programming
  • Understand parallel techniques such as scan (prefix sums) Ability to abstract a problem as a formal definition
  • Ability to design new algorithms and data structures given a definition
  • Understand asymptotic analysis and solve a wide variety of recurrences
  • Understand purely functional algorithms.

Course Website: https://www.cs.cmu.edu/~15210/

Learning Resources: Pre-reqs, Cross list, Related: Notes:
  • Course Textbook
  • AutoLab
  • Gradescope
  • Piazza
  • Notation Supplement
  • Course Website


  • Prerequisites Required: 15-150, 15-122
  • Minimum Grades in Prereqs:
    C in 15150, C in 15122
  • Corequisites: None
  • Prerequisite for: 
  • Anti-requisites: None
  • Cross-Listed: none
  • Substitutes: 
  • Related Courses: 15-150
  • Reservations: Some reservations are for students in CS, ECE or MSC
Department Website: College Website: Updated November 2017
https://www.csd.cs.cmu.edu https://www.cs.cmu.edu/  Back to Course Profile List