Information
Code | CENG019 |
Name | Parallel and Distributed Computing |
Term | 2023-2024 Academic Year |
Term | Fall |
Duration (T+A) | 3-0 (T-A) (17 Week) |
ECTS | 6 ECTS |
National Credit | 3 National Credit |
Teaching Language | İngilizce |
Level | Yüksek Lisans Dersi |
Type | Normal |
Mode of study | Yüz Yüze Öğretim |
Catalog Information Coordinator | Dr. Öğr. Üyesi SERKAN KARTAL |
Course Instructor |
1 |
Course Goal / Objective
Understand the fundamental questions in parallel and distributed computing and analyze different solutions to these questions Understand different parallel and distributed programming paradigms and algorithms, and gain practice in implementing and testing solutions using these.
Course Content
This course covers a broad range of topics related to parallel and distributed computing, including parallel and distributed architectures and systems, parallel and distributed programming paradigms, parallel algorithms, and scientific and other applications of parallel and distributed computing.
Course Precondition
Basic knowledge of C programming and computer architecture.
Resources
An Introduction to Parallel Programming by Peter Pacheco
Notes
Designing and Building Parallel Programs, by Ian Foster
Course Learning Outcomes
Order | Course Learning Outcomes |
---|---|
LO01 | develop programs with distributed parallelism, parallel debugging included |
LO02 | construct parallel algorithms, i.e. identify parallelism in a given algorithm and implement it |
LO03 | analyse properties such as efficiency, speedup etc., of parallel algorithms |
LO04 | analyse performance of parallel algorithms |
Relation with Program Learning Outcome
Order | Type | Program Learning Outcomes | Level |
---|---|---|---|
PLO01 | Bilgi - Kuramsal, Olgusal | On the basis of the competencies gained at the undergraduate level, it has an advanced level of knowledge and understanding that provides the basis for original studies in the field of Computer Engineering. | 3 |
PLO02 | Bilgi - Kuramsal, Olgusal | By reaching scientific knowledge in the field of engineering, he/she reaches the knowledge in depth and depth, evaluates, interprets and applies the information. | 2 |
PLO03 | Yetkinlikler - Öğrenme Yetkinliği | Being aware of the new and developing practices of his / her profession and examining and learning when necessary. | 4 |
PLO04 | Yetkinlikler - Öğrenme Yetkinliği | Constructs engineering problems, develops methods to solve them and applies innovative methods in solutions. | 5 |
PLO05 | Yetkinlikler - Öğrenme Yetkinliği | Designs and applies analytical, modeling and experimental based researches, analyzes and interprets complex situations encountered in this process. | 4 |
PLO06 | Yetkinlikler - Öğrenme Yetkinliği | Develops new and / or original ideas and methods, develops innovative solutions in system, part or process design. | |
PLO07 | Beceriler - Bilişsel, Uygulamalı | Has the skills of learning. | |
PLO08 | Beceriler - Bilişsel, Uygulamalı | Being aware of new and emerging applications of Computer Engineering examines and learns them if necessary. | 2 |
PLO09 | Beceriler - Bilişsel, Uygulamalı | Transmits the processes and results of their studies in written or oral form in the national and international environments outside or outside the field of Computer Engineering. | |
PLO10 | Beceriler - Bilişsel, Uygulamalı | Has comprehensive knowledge about current techniques and methods and their limitations in Computer Engineering. | 3 |
PLO11 | Beceriler - Bilişsel, Uygulamalı | Uses information and communication technologies at an advanced level interactively with computer software required by Computer Engineering. | |
PLO12 | Bilgi - Kuramsal, Olgusal | Observes social, scientific and ethical values in all professional activities. |
Week Plan
Week | Topic | Preparation | Methods |
---|---|---|---|
1 | Introduction, Parallel and Distributed Computing | Reading related chapter in lecture notes | Öğretim Yöntemleri: Anlatım |
2 | Parallel and Distrubuted Architectures, Socket programming | Reading related chapter in lecture notes | Öğretim Yöntemleri: Anlatım |
3 | Parallel Performance, Shared Memory and Threads | Reading related chapter in lecture notes | Öğretim Yöntemleri: Anlatım |
4 | Parallel Algorithms | Reading related chapter in lecture notes | Öğretim Yöntemleri: Anlatım |
5 | Parallel Algorithms, OpenMP | Reading related chapter in lecture notes | Öğretim Yöntemleri: Anlatım |
6 | Scalable Algorithms, Message Passing | Reading related chapter in lecture notes | Öğretim Yöntemleri: Anlatım |
7 | MPI and Teragrid | Reading related chapter in lecture notes | Öğretim Yöntemleri: Anlatım |
8 | Mid-Term Exam | Study to lecture notes and application | Ölçme Yöntemleri: Yazılı Sınav |
9 | Distributed Systems, MapReduce, Clusters | Reading related chapter in lecture notes | Öğretim Yöntemleri: Anlatım |
10 | Distributed Coordination, Security | Reading related chapter in lecture notes | Öğretim Yöntemleri: Anlatım |
11 | Distributed File Systems | Reading related chapter in lecture notes | Öğretim Yöntemleri: Anlatım |
12 | Distributed File Systems, Security | Reading related chapter in lecture notes | Öğretim Yöntemleri: Anlatım |
13 | Distributed Shared Memory | Reading related chapter in lecture notes | Öğretim Yöntemleri: Anlatım |
14 | Cloud Computing and Project Presentations | Reading related chapter in lecture notes | Öğretim Yöntemleri: Anlatım |
15 | Project Presentations | Presentation Preparation | Öğretim Yöntemleri: Anlatım |
16 | Term Exams | Study to lecture notes and application | Ölçme Yöntemleri: Yazılı Sınav |
17 | Term Exams | Study to lecture notes and application | Ölçme Yöntemleri: Yazılı Sınav |
Student Workload - ECTS
Works | Number | Time (Hour) | Workload (Hour) |
---|---|---|---|
Course Related Works | |||
Class Time (Exam weeks are excluded) | 14 | 3 | 42 |
Out of Class Study (Preliminary Work, Practice) | 14 | 5 | 70 |
Assesment Related Works | |||
Homeworks, Projects, Others | 0 | 0 | 0 |
Mid-term Exams (Written, Oral, etc.) | 1 | 15 | 15 |
Final Exam | 1 | 30 | 30 |
Total Workload (Hour) | 157 | ||
Total Workload / 25 (h) | 6,28 | ||
ECTS | 6 ECTS |