Course Description: Developing multi-tier and peer-to-peer software for large scale and
high-performance environments. Dynamic Link Libraries, component-based
programming, sockets, remote procedure calls, client-server architectures,
transaction monitors, object request brokers, multi-threading and current
industry tools.
Prerequisites: 311 and 345
Prerequisites by topic: Socket Programming, TCP-IP Network Layers,
Inheritance, Polymorphism, Interfaces
Text: Parallel Programming in C with MPI and Open MP, by: Michael J Quinn
Course Objectives: At the completion of the course students will be able to write programs in a variety of programming languages to take advantage of multiple threads, distributed processing and parallel processing. The students will be able to identify the types to problems that each paradigm addresses and the advantages and disadvantages of each. Specifically, students will know how to:
Coordinators: Steil
& Baber
Grades:
10 Homework/Quiz 400
Parallel Research Project 200
2 Exams 200
Final Exam 200
Extra Credit:
You will receive one tenth of one percentage point on your final average for each time you attend the weekly departmental seminar, which is at 7:00 am on Fridays in Sci 100. The first seminar will be in 2-3 weeks. There will be 15-20 seminars, thus there is a total of 1.5% -2% extra credit possible in this manner
Attendance and Tardiness:
Attendance will be taken daily. You are expected to be here. If you feel that your absence should be excused send me an e-mail stating why. I will let you know if the reason given was not acceptable. You are responsible for any assignments given during your absence, check with the instructor or a reliable student to find out what was missed. Any assignment submitted late because of an unexcused absence is still considered late.
If you are late, please do not disrupt the class as you enter.
If you are absent or tardy on a regular basis you will be asked to drop the course.
Late Assignments:
10% per day (max of 50%) will be deducted. Late assignments will be accepted until the first day of the last week of regular class meeting.
Food & Drink:
Please do not bring any food to class. Drinks are allowed in non-computer-lab rooms (be very careful with them).
Integrity Expectations:
Each student is expected to do his/her own work. Copying of others assignments and/or exams is
not permitted. It is very easy to copy a
programming solution (and also very easy to determine when this has
occurred). Those who copy another's work
and/or allow their work to be copied will be dropped from the class with a
failing grade. The
Students with
Disabilities: It is the policy for
Tentative Calendar:
|
Date |
Topic |
Instructor(s) |
|
08/22 08/24 |
History of Distributed Computing and
Parallel Processing |
Steil |
|
Operating Systems Review (Processes,
Threads, Race Conditions & Deadlocks) |
Baber |
|
|
08/29 08/31 |
Networking Review (TCP/IP Layers (Focus on
Network Layer), Sockets) |
Baber |
|
Inter-process Communication (Java and or C#
Sockets, Paradigms) |
Steil |
|
|
09/05 09/07 |
Remote Procedure Calls in C |
Steil |
|
Marshaling Objects in C++ |
Steil |
|
|
09/12 09/14 |
Remote Method Invocation in Java |
Steil |
|
Remote Method Invocation in C# |
Steil |
|
|
09/19 09/21 |
In Class Exam |
|
|
Threading (Concepts, P-threads) |
Baber |
|
|
09/26 09/28 |
Threading in higher level languages Java, C# |
Steil |
|
Distributed Computer Paradigms / Assign
parallel projects |
Baber |
|
|
10/03 10/05 |
Parallel Architectures |
Steil |
|
Parallel Algorithm Design |
Baber |
|
|
10/10 10/12 |
Message-Passing
Programming |
Steil |
|
MPI |
Baber & Steil |
|
|
10/17 10/19 |
MPI |
Baber & Steil |
|
OpenMP |
Baber & Steil |
|
|
10/24 10/26 |
OpenMP |
|
|
Turn in Take Home Exam 2 |
|
|
|
10/31 11/02 |
Parallel Example 1 |
Steil |
|
Parallel Example 2 |
Baber |
|
|
11/07 11/09 |
Parallel Example 3 |
Steil |
|
Parallel Example 4 |
Baber |
|
|
11/14 11/16 |
Student Presentations |
|
|
Student Presentations |
|
|
|
11/21 11/23 |
Thanksgiving
Recess |
|
|
11/28 11/30 |
Student Presentations |
|
|
Student Presentations |
|
|
|
12/05 12/07 |
Student Presentations |
|
|
Exam Review |
|
|
|
12/13 |
Comprehensive
Final Wednesday 10:30-12:20 |
|