CSC 466: Distributed and Parallel Computing

General Information

{!assets/text/instructor_info.md!}

Course Information

Required Materials:

Course Description

Prerequisites

Learning Objectives

Course Student Learning Outcomes (CSLO)

  1. Be able to identify data structures and algorithms to solve a complex computational problem.
  2. Be able to implement data structures and algorithms to solve a complex computational problem.
  3. Be able to develop extensive testing strategies to ensure implementations work across edge cases
  4. Be able to work as a team to solve complex computation problems under timing constraints
  5. Understand various critical components of a supercomputing infrastructure.

    CS Program Objectives (CSPO):

  6. Be able to apply theory, techniques, and methodologies to create and/or maintain high quality computing systems that function effectively and reliably in the emerging and future information infrastructure (CSLO 1, 2, 3).

    CS/ABET Program Outcomes (ABET):

  7. ABET 1: Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions (CSLO 1).
  8. ABET 2: Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline (CSLO 2, 3).

Assessments and Grading:

Grade Scale:

Refer to the Grading Information section section of the Undergraduate Catalog for description of NG (No Grade), W, Z, and other grades.

Assessments:

Assessment % of Final Grade Course Objectives Assessed Program Objectives Assessed ABET Objectives
Assignments 30% 1,2,3,4,5 1 1,2
Labs 20% 1,2,3,4,5 1 1,2
Quizzes 20% 1,2,5 1 1
Exams 35% 1,2,5 1 1

Midterm and Final Exam:

Lateness Policy:

Assignments that are late are assessed a 10% per day late penalty. Saturday and Sunday are each days.

{!assets/text/policy.md!}

Course Topics and Schedules

Bibliography

  1. High Performance Computing:Modern Systems and Practices. Sterling, T., Anderson, M., and Brodowicz, M., ISBN: 012320158X
  2. High Performance Computing: Programming and Applications. Levesque, J. and Wagenbreth, G., ISBN: 9781420077056
  3. Distributed Computing: Fundamentals, Simulations, and Advanced Topics. Attiya, H. and Welch, J., ISBN: 9780471453246
  4. Elements of Distributed Computing. Garg, V., ISBN: 0471036005
  5. Parallel Programming: Concepts and Practice. Schmidt, B.,
  6. An Introduction to Parallel Programming. Pacheco. P., ISBN: 0123742609
  7. Using MPI: Portable Parallel Programming with the Message-Passing Interface (Scientific and Engineering Computation). Gropp, W., Lusk, E., and Skjellum, A., ISBN: 0262527391
  8. Programming Distributed Computing Systems: A Foundational Approach. Varela, C. and Agha, G., ISBN: 0262018985