Parallel and Sequential Data Structures and Algorithms

Ed

Course discussion and questions are available on Ed for students in the class. This is also where the syllabus (class policies), labs, and recitation notes are kept.

Web Pages

The class schedule, list of staff, the library documentation and the course book are availabe from the tabs above. The schedule includes lecture dates, due dates, links to quizes, and which chapters of the book are covered by the lecture. You can click on the chapters to get individual pdfs. The schedule goes to the end of the semester and you should review it to ensure you don't have conflicts with due dates, and especially with exams.

Course Calendar

Class, recitation, office hour, and review times. Please check the schedule to double check if there is a lecture on the Friday.

Overview

15-210 aims to teach methods for designing, analyzing, and programming sequential and parallel algorithms and data structures. The emphasis is on teaching fundamental concepts applicable across a wide variety of problem domains, and transferable across a reasonably broad set of programming languages and computer architectures. This course also includes a significant programming component in which students will program concrete examples from domains such as engineering, scientific computing, graphics, data mining, and information retrieval (web search).

Unlike a traditional introduction to algorithms and data structures, this course puts an emphasis on parallel thinking — i.e., thinking about how algorithms can do multiple things at once instead of one at a time. The course follows up on material learned in 15-122 and 15-150 but goes into significantly more depth on algorithmic issues. Concepts covered in this class include: