Course Description

Processors with over hundred cores have already become a reality. However, technologies to create software that can take advantage of this massive parallelism remains to be a grand challenge in computer science. This special topics course will discuss recent advances and new directions that are being pursued to address this challenge. We will discuss solutions that cut across the computing stack from languages to processor design, including topics such as active testing, deterministic parallel computing, GPGPU, MapReduce, OS support for multi-core, functional programming for concurrency (Scala), etc.

Course Information

Units 3. (Could be counted as technical elective, pending approval. Visitors welcome.)
Pre-requisite EECS 482 or EECS 470 or grad standing or instructor's consent. Programming skills.
Lectures Mon. & Tue. 1:30 - 3:00 PM (Room: DOW ??)
Office Hours By appointment
Instructor Satish Narayanasamy
Email, URL nsatish  AT,
Office 4721 CSE
Phone 734-764-6984

Grading Policy

Assignments 30% Three small programming assignments
Paper Presentation 5%
Project 40%
Check this link. Proposal (5%), Final report (25%), Presentation (10%)
Reviews and Class Participation 10% Check this page on writing reviews

Honor Code

Assignment, paper presentation and reviews should be done individually. You can interact with other students for discussing course materials, provide each other with debugging assistance, and help each other learn development tools. You are encouraged to discuss reading assignments with others, but you have to write the reviews individually.

The Engineering Honor Code obligates you not only to abide by this policy, but also to report any violations that you become aware of. Violations of this policy will be brought to the College of Engineering's Honor Council. For more information on the Honor Code, see Honor Council web page. If you have any doubts about whether a certain level of collaboration is permissible, or any other questions, contact the professor.