CS 336: Syllabus

Syllabus for Spring 2011

Course Outline

This course is an introduction to the principles and applications of parallel and distributed computing. Parallel and distributed processing are used in many contexts to increase the efficiency of both large and small computations. In the spring of 2011, you will have the opportunity to write parallel or distributed programs in three contexts -- (1) multi-threaded programming with POSIX threads, (2) general purpose computing on a graphics processing unit, and (3) MPI proamming on a cluster.

Grading

The course grade will be determined as follows:

Projects 75%
Class Participation 10%
Final Exam 15%

Preliminary Schedule of Topics

DatesTopic
Feb 3 - 16C Programming
Feb 17 - Mar 9POSIX Threads
Mar 10 - Apr 13General Purpose GPU Programming
Apr 14 - May 5MPI Programming

Programming Projects

There will be one programming project each week (due Mon night at midnight). You are encouraged to collaborate with classmates, but are individually responsible for the material (again, see the cite your colleagues). The programming projects will consist of a required component (correct completion of which will earn you a B or B+) and optional extensions. Extensions increase your grade, with more or more complicated extensions earning you a greater increase.

Resources

We will be using exclusively on-line resources for this course. The course website will serve as a portal through which you can find necessary readings and documentation. Please check here often, as it will be updated frequently.

Class Participation

You are expected to attend every class. Discussion is a vital part of the learning experience and we cannot have good discussion without you!

Late Assignments

It is important to complete your work by the deadline. In this course, we will pushing our infrastructure to its limits. This means there will be problems. Start early! Unless there is a catastrophic failure that lasts for multiple days, late projects will be penalized (10% per day past the deadline).

Academic Honesty

Honesty is at the heart of the academic enterprise. I do not expect to encounter any dishonesty among mature computer science students, but if the unexpected happens, I will not hesitate to follow the procedures in the Colby College catalogue. If you have any questions, please ask me!

Office Hours

Please visit me in my office! During office hours, I will of course be available. Outside of office ours, I will often be in my office with the door open. Please come in! If you want to be sure I will be there, just ask me in person or send me an email. I will do my best to be there.