0% found this document useful (0 votes)
53 views3 pages

Parallel and Distributed Computing Course Syllabus

The course PD101: Parallel and Distributed Computing is part of the Bachelor of Science in Computer Science program, focusing on the principles and techniques of parallel and distributed systems. Students will learn to design, implement, and evaluate applications while covering topics such as concurrency, synchronization, and cloud computing. Assessment includes participation, programming assignments, a midterm exam, and a final project.

Uploaded by

Marvin Clutario
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
53 views3 pages

Parallel and Distributed Computing Course Syllabus

The course PD101: Parallel and Distributed Computing is part of the Bachelor of Science in Computer Science program, focusing on the principles and techniques of parallel and distributed systems. Students will learn to design, implement, and evaluate applications while covering topics such as concurrency, synchronization, and cloud computing. Assessment includes participation, programming assignments, a midterm exam, and a final project.

Uploaded by

Marvin Clutario
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 3

Course Syllabus: Parallel and Distributed Computing

Program: Bachelor of Science in Computer Science


Course Code: PD101
Credit Hours: 3 Units
Prerequisites: Data Structures, Operating Systems, Computer Architecture

Course Description

This course introduces the fundamental concepts, principles, and techniques of parallel and
distributed computing. Students will explore the design, implementation, and evaluation of
parallel and distributed systems, focusing on concurrency, communication, synchronization, and
scalability.

Course Objectives

By the end of this course, students will be able to:

1. Understand the fundamentals of parallel and distributed systems.


2. Design and implement parallel algorithms using appropriate tools and programming
models.
3. Analyze and optimize performance for parallel and distributed applications.
4. Develop applications that leverage distributed computing frameworks.

Weekly Topics and Course Schedule

Week Topic Learning Outcomes


Introduction to Parallel and Understand basic concepts, differences between
1
Distributed Computing parallel and distributed systems.
Parallel Programming Models and Explore shared memory, distributed memory, and
2
Architectures hybrid models; architectural overview.
Learn about threads, processes, locks, semaphores,
3 Concurrency and Synchronization
and condition variables.
Implement distributed systems using MPI;
4 Message Passing Interface (MPI)
communication and synchronization in MPI.
Thread-based Parallelism: Use OpenMP for multi-threaded programming;
5
OpenMP explore tasks and loops parallelization.
Performance Metrics and Analyze speedup, efficiency, scalability, and load
6
Benchmarking balancing in parallel programs.
Week Topic Learning Outcomes
Explore client-server, peer-to-peer, and cloud
7 Distributed System Architectures
architectures.
Distributed File Systems and Understand distributed storage systems like HDFS;
8
Databases study CAP theorem and NoSQL.
Fault Tolerance in Distributed Learn replication, checkpointing, and recovery
9
Systems mechanisms.
Distributed Coordination and
10 Study leader election, Paxos, and RAFT algorithms.
Consensus Algorithms
MapReduce and Big Data Develop applications using MapReduce and explore
11
Frameworks Hadoop and Spark frameworks.
Cloud Computing and Understand cloud models, virtualization, and
12
Virtualization containerization (e.g., Docker, Kubernetes).
Design and analyze algorithms for sorting,
13 Parallel Algorithms
searching, and graph processing in parallel.
GPU and Heterogeneous Use CUDA or OpenCL for programming GPUs;
14
Computing explore hybrid systems.
Security in Parallel and Study issues like data privacy, secure
15
Distributed Systems communication, and attack mitigation.
Future Trends and Emerging Explore quantum computing, edge computing, and
16
Technologies new paradigms in distributed systems.
Project Presentations and Course Present and evaluate final projects; reflect on course
17
Wrap-Up learnings.

Assessment Methods

1. Class Participation and Quizzes (20%)


2. Programming Assignments (30%)
3. Midterm Exam (20%)
4. Final Project and Presentation (30%)

Course Materials

Textbooks:

1. Grama, A., Gupta, A., Karypis, G., & Kumar, V. (2003). Introduction to Parallel
Computing. Addison Wesley.
2. Coulouris, G., Dollimore, J., & Kindberg, T. (2011). Distributed Systems: Concepts and
Design. Pearson.

Supplementary Resources:
 Online tutorials on MPI, OpenMP, and CUDA.
 Research papers on distributed systems and emerging trends.

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy