Syllabus: ECEN 5553 Parallel Processing (also CSCI 5551)
Tuesday, Thursday 11:00-12:15, Room ECCS 1B28


Manish Vachharajani
Office: ECOT 336
Phone: (303)492-0612

Spring 2008 Office hours: TBD, or by appointment


This course will cover a range of topics involved in designing and programming parallel architectures. The course will focus on the most common type of parallel machines: shared and distributed memory multi-processor systems. As time permits, the course will also cover other parallel machines and programming paradigms including data-flow, vector processing, and multi-threaded architectures.


Parallel Computer Architecture: A Hardware/Software Approach by David E. Culler and Jaswinder Pal Singh with Anoop Gupta. Morgan-Kaufmann Publishers, Inc. ISBN 1-55860-343-3


ECEN 5593: Advanced Computer Architecture, an equivalent course, or equivalent experience. A good understanding of C programming on UNIX systems. Students with only ECEN 4593 may enroll with instructor permission only.


Participation in lectures and discussions - 5%
Assignments - 10%
Exams - 50%
Final project - 30%
Final project presentations - 5%
(Note: final percentages are subject to change)


Each week there will be two interactive lecture sessions. Students will be asked to participate in lecture by answering questions and discussing solutions to the design problems presented. Participation in lecture is 5% of your final grade, so attendance is important!


Assignments in the course will consist of readings, written exercises, and programming assignments. Parts of the assignments will foreshadow techniques that will be discussed in class. It is important to complete assignments on-time since they will enable you to better participate in class (see the late policy below).

Final Project

The final project in the course will require students to study some aspect of parallel architectures and/or programs. The project may investigate properties of existing technology or examine novel concepts. Students are encouraged to craft their own projects, but a yet-to-be-determined standard project will also be an option..

For the final project students will be asked to work in small groups (2-4 students).

The final project submission will be a report and a presentation that clearly explains the study and relevant results. Very high-quality projects that examine novel concepts should have a report suitable for submission to an appropriate workshop or conference. Students will receive periodic feedback on their projects before final submission to ensure that they are of high quality.


There will be a mid-term and final examination that covers the material covered in lectures, assignments.


Students are encouraged to discuss readings, assignments, and projects, but all assignments must be original work with proper citation of outside sources of information. For programming assignments, code sharing is not allowed. Code sharing policies between final project groups must be discussed with me before-hand. Also, please refer to the University of Colorado Honor Code.

Late assignments will be accepted under the following conditions. If prior arrangements are made, the assignment will be accepted with the discussed terms. If an assignment is submitted late, any portion of the assignment whose solution was discussed in class (even indirectly) before the assignment was submitted, will receive no credit. If an assignment is submitted late, any portion of the assignment for which grading has already been completed will also recieve no credit. Assignments submitted after solutions are released will receive no credit.


I encourage you to make at least one appointment with me during the semester for advice or to discuss research opportunities, research ideas, course suggestions, concerns, or any other topic you feel is appropriate.