Syllabus: Topics in Computer Science, Winter 2014

Southern Oregon University

Department of Computer Science

CS 455 (CRN 4902), CS 582 (Irreg Reg), Four Credits

Prerequisite: CS 258

 

Instructor Information

 

        Instructor:   Dan Harvey

        Room:         Computer Science Building #CS218

        Phone:        552-6149

        E-mail:       harveyd@sou.edu

 

       Office: Mon, Tue, Wed, Thu 10:30-11:30; Mon, Wed 12:30-1:20

 

           Web Site:     http://cs.sou.edu/~harveyd

 

The web site is available for quiz results, lab assignments, weekly handouts, current grade status, and contact with class members. Click on the appropriate class, and then select the desired option.

 

Class Times

 

Monday, Wednesday TBA: 8:30 a.m. to 10:20 a.m.

Final Exam: Wednesday, March 19 from 8:00 a.m. to 10:00 a.m.

Course Texts

 

Required: Parallel Programming, Barry Wilkinson and Michael Allen, Pearson, 2nd Edition, ISBN 978-0131405639

 

Optional: An Introduction to Parallel Programming, Peter S. Pacheco, Morgan Kaufmann, 1st Edition, ISBN 978-0-12-374260-5

 

Course Objectives

 

This class introduces students to techniques used to program parallel and distributed systems. We consider algorithms for both the message-passing and shared message paradigms.  We categorize the types of problems that lend themselves to practical parallel solutions and reinforce the concepts with real-world examples. These examples demonstrate the use of each technique that we introduce. The speedup, efficiency, and overhead of each algorithm are considered. Topics include load balancing, partitioning, synchronization, and pipelining.  

 

Tentative Chapter Coverage

 

Week 1   Chapter 1      Categories of Parallel Computers

Week 2   Chapter 2      The Message Passing Programming Model

Week 3   Chapter 3      Embarrassingly Parallel Computations

Week 4   Chapter 4      Divide-and-Conquer Strategies

Week 5   Chapter 5      Pipelined Computations

Week 6   Chapter 6      Synchronous Computations

Week 7   Chapter 7      Load Balancing and Termination Detection

Week 8   Chapter 8      Shared Memory Programming

Week 9   Chapters 9-12  Selected Topics

Week 10                 Review

 

 

Course Grading

 

There will be a series of lab assignments. Lab assignments will have the following components, though all labs might not have all of these: programming exercise, pseudo coding of algorithms, and synthesis questions to reinforce the material covered. Extra credit opportunities will be given from time to time. Labs that are within one week late will incur a 10% penalty. Labs within two weeks late will incur a 30% penalty. Labs later than two weeks will NOT be accepted. The lab average is worth 30% of your total grade.

 

There will be three quizzes. Make-up quizzes will not be given unless arrangements are made in advance. The quiz average is worth 40% of you total grade.

 

A comprehensive final will be given that is based upon the topics covered in the quizzes. The final is worth 30% of the total grade.

 

Grade Breakdown:                         93-100% A    90-92% A-

                       88-89%   B+       82-87   B    80-81% B-

                             78-79%   C+       72-77   C    70-71% C-

                             68-69%   D+       62-67   D    60-61% D-

                             Under 60 F

 

Disabilities

 

If you are in need of support because of a documented disability (whether it be learning, mobility, psychiatric, health-related, or sensory) you may be eligible for academic or other accommodations through Disability Services for Students. Contact Margaret Dibb, Director DSS at dibbm@sou.edu or at 541-552-6213, or schedule an appointment in person at the ACCESS Center, Stevenson Union, lower-level. For Detailed Information: www.SOU.edu/Access/Dss