COE011 Parallel ComputingIstinye UniversityDegree Programs Computer Engineering(English)(For Software Engineering)MinorGeneral Information For StudentsDiploma SupplementErasmus Policy StatementNational Qualifications

Course Introduction and Application Information

Course Code: COE011
Course Name: Parallel Computing
Semester: Fall
Course Credits:
ECTS
5
Language of instruction: English
Course Condition:
Does the Course Require Work Experience?: No
Type of course: Departmental Elective
Course Level:
Bachelor TR-NQF-HE:6. Master`s Degree QF-EHEA:First Cycle EQF-LLL:6. Master`s Degree
Mode of Delivery: Face to face
Course Coordinator: Doç. Dr. AMIR SEYYEDABBASI
Course Lecturer(s): Assist. Prof. Dr. Amir Seyyedabbasi
Course Assistants:

Course Objective and Content

Course Objectives: The course aims to provide an overview Parallel Computing concepts, Parallel Programming Skills, Parallel Algorithms and Data Structures, Parallel Computing Architectures.
Course Content: The content of the course consists of basic concepts and principles of parallel computing,earning parallel programming languages (OpenMP,MPI, CUDA),techniques for optimizing the performance of parallel programs, learn about the design and analysis of parallel algorithms for solving common computational problems.

Learning Outcomes

The students who have succeeded in this course;
1) Can use parallel concepts of performance, speed-up and efficiency.
2) Can analyze basic parallel algorithms and use them for programming purposes.
3) Can write Distributed Memory Programs using MPI.
4) Can write Shared Memory Programs using OpenMP and Pthreads.
5) Can write GPU-based parallel programs using CUDA.

Course Flow Plan

Week Subject Related Preparation
1) Introduction to parallel computing, general principles, taxonomy
2) Parallel Computing Architectures, Hardware and Software 1
3) Parallel Computing Architectures, Hardware and Software 2
4) Distributed Memory Programming with MPI (1)
5) Distributed Memory Programming with MPI (2)
6) Paralel Partitioning Strategies
7) Load Balancing
8) Midterm Exam
9) Programming Shared Memory with Pthreads
10) Shared memory programming -1 (OpenMP)
11) Shared memory programming -2 (OpenMP)
12) GPU programming with CUDA
13) GPU programming with CUDA
14) Term Project Presentations

Sources

Course Notes / Textbooks: An Introduction to Parallel Programming 2nd Edition. Peter S. Pacheco, Matthew Malensek

Introduction to Parallel Computing, A. Grama, A. Gupta, G.Karypis, V. Kumar, Addison Wesley.
References: Parallel Computing, Theory and practice, M.J.Quinn, McGraw Hill.
Parallel programming with MPI, P.S. Pacheco.Morgan Kaufmann.
GPU Gems 1&2, Nvidia.

Course - Program Learning Outcome Relationship

Course Learning Outcomes

1

2

3

4

5

Program Outcomes

Course - Learning Outcome Relationship

No Effect 1 Lowest 2 Average 3 Highest
       
Program Outcomes Level of Contribution

Assessment & Grading

Semester Requirements Number of Activities Level of Contribution
Project 1 % 30
Midterms 1 % 30
Final 1 % 40
total % 100
PERCENTAGE OF SEMESTER WORK % 60
PERCENTAGE OF FINAL WORK % 40
total % 100

Workload and ECTS Credit Calculation

Activities Number of Activities Preparation for the Activity Spent for the Activity Itself Completing the Activity Requirements Workload
Course Hours 13 0 2 26
Laboratory 13 0 2 26
Study Hours Out of Class 13 2 26
Project 1 25 1 26
Midterms 1 10 2 12
Final 1 10 2 12
Total Workload 128