Parallel and Sequential Data Structures and Algorithms Course ID 15210 Description Teaches students about how to design, analyze, and program algorithms and data structures. The course emphasizes parallel algorithms and analysis, and how sequential algorithms can be considered a special case. The course goes into more theoretical content on algorithm analysis than 15-122 and 15-150 while still including a significant programming component and covering a variety of practical applications such as problems in data analysis, graphics, text processing, and the computational sciences. NOTE: students must achieve a C or better in order to use this course to satisfy the pre-requisite for any subsequent Computer Science course. Key Topics Parallel Programming, Generating and Analyzing Algorithms, Higher Order Programming, Practical Applications - Data Analysis, Graphics, Text Processing. Learning Resources Course Textbook, AutoLab, Gradescope, Piazza, Notation Supplement, Course Website Course Relevance For students already experienced with fundamentals of functional programming Course Goals Learn how to design, analyze, and program algorithms and data structures with a functional programming language. Ability to analyze algorithms with an emphasis on parallelism. Pre-required Knowledge None, but familiarity with SML is highly recommended Assessment Structure Assignments 40 percent, Exam 1 - 15 percent, Exam 2 - 15 percent, Final 26 percent, Recitation Participation 4 percent. Course Link http://www.cs.cmu.edu/~15210/