CprE 426/526: Introduction to Parallel Algorithms & Programming
Fall 2007

T TH 9.30-10.45,  HOWE HALL 1252


 

Instructor

Professor Suraj C. Kothari
Email: kothari@iastate.edu
Phone: (515) 294-7212
Office: 3132 Coover Hall

 

Teaching Assistants
 

 

 

 

 

 


Contents

Syllabus

Class Activities

Research Papers

Projects

Office Hours

Homework

Grading

Links

WebCT

Textbook


Syllabus

Aim:
The objective of the course is to learn about parallel algorithms and programming.
Upon completion of this course, students will have the ability to:

·         Understand the basics of parallel algorithms and programming and their applicability.

·         Design parallel algorithms.

·         Design and implement parallel programs using message passing interface (MPI).

·         Estimate performance of parallel algorithms.


Lectures:
Meeting Times: T TH 9.30-10.45
Location:  Howe Hall, Room 1252

The lectures will be interactive and discussion oriented. We will occasionally have slides but not very often. You are expected to write notes based on the lectures. You will need these notes to prepare for exams and homework.  Regular attendance and participation in lectures is required. Instructor should be informed if you are going to miss a lecture.

Topics:

·         Real-world applications and their computational models

·         Numerical and symbolic models of computations

·         Design and analysis of parallel algorithms

·         Implementation of parallel algorithms using MPI

·         Performance estimation of parallel programs

Learning Activities:

·         Assimilating new technical information and asking questions to advance your understanding.

·         Working with examples of code - illustrative short examples as well as large real-world software.

·         Collecting and organizing information on technical topics (for CprE 526)

·         Experimental studies.

·         Presentations by students. (for CprE 526)

Textbook
 

Expected Work and Grading:

1.      Homework, includes code reading projects and technical presentations (60%)

2.      Two exams, 20% each (40%)

·         Grading will be pretty close to the scale with A: 91% and above, B:81% to 90%, and so on.

Academic Integrity
All your work (including the labs) should be done individually unless otherwise specified. You are not allowed to use work done by others, or obtain the answers directly in any form (such as from the web). If you have any questions about what is allowed/not allowed, please contact the instructor or the TAs.

Any cases of cheating will be dealt with the strictest possible measures allowed by the university, please refer to the university policies on academic dishonesty.

Disability
Students with disability should inform the instructor so that appropriate arrangements can be made to help them.

Office hours

 

Hours

Location

Professor Kothari

Tuesday: 11:10-12:00, Friday 1:10-2:00

3132 Coover Hall


Class Schedule

Week

Day

Lecture Topics

Reading

HW/Project

Week 1

T Aug 21

 

 

 

Th Aug 23

 

 

Week 2

T Aug 28

 

 

 

Th Aug

 

 

Week 3

 T Sept 4

 

 

 Homework 1 (PDF)

 Th Sept 6

 

 

Week 4

 T Sept 11

 

 

 

 Th Sept 13

 

 

Week 5

 

 

 

 

 

 

 

 

 

 

Week 6

 

 

 

 

 

 

 

 

 

 

Week 9

 

 

 

 

 

 

 

 

 

 

Week 10

 

 

 

 

 

 

 

 

 

 

Week 11

 

 

 

 

 

 

 

 

 

 

Week 12

 

 

 

 

 

 

 

 

 

 

Week 13

 

 

 

 

 

 

 

 

 

 

Week 14

 

 

 

 

 

 

Week 15

 

 

 

 

 

 

 

 

 

 

Week 16

 

 

 

 

 

 

 

 

 

 

Week 17

 

 

 

 

 

 

 


Papers

  1. Code Reading and Program Comprehension – annotated bibliography - http://www2.umassd.edu/swpi/processbibliography/bib-codereading2.html#Deimel90

Projects


Project 1

 

 

 

 

 

 

 

 

 


Project 2

 


Project 3


Homework


Exams


Links

  1. Code Reading and Program Comprehension – annotated bibliography - http://www2.umassd.edu/swpi/processbibliography/bib-codereading2.html#Deimel90
  2. Software Evolution http://www.program-transformation.org/Transform/TeachingSoftwareEvolution
  3. FEAT project. http://www.cs.ubc.ca/labs/spl/projects/feat/
  4. Robillard Home Page: http://www.cs.mcgill.ca/~martin/
  5. Concern Graph URL: http://www.cs.ubc.ca/labs/spl/projects/concerngraph.html
  6. ISU-Rockwell DARPA SEC project. http://dirac.ee.iastate.edu/sec/
  7. Aristotle research group. http://www.cc.gatech.edu/aristotle/
  8. AspectJ. http://eclipse.org/aspectj/
  9. Java structural analysis tool, user guide. http://www.alphaworks.ibm.com/tech/sa4j.
  10. The aspect-oriented software architecture design (TAOSAD) portal. http://trese.cs.utwente.nl/taosad/
  11. Rigi Tool: http://www.rigi.csc.uvic.ca/
  12. FEAT Project URL: http://www.cs.ubc.ca/labs/spl/projects/feat/
  13.  JEX Project URL: http://www.cs.mcgill.ca/~martin/jex/
  14. CodeSurfer. http://www.grammatech.com/products/codesurfer/codesurfer.html
  15. CMU Software Architecture Website: http://www.sei.cmu.edu/ata/ata_init.html
  16. Star Tool Website: http://www.cse.ucsd.edu/~wgg/Software/StarTool/
  17. Bandera project. http://bandera.projects.cis.ksu.edu/

Last Revision: Wednesday, August 29, 2007