COURSE UNIT TITLE

: INTRODUCTION TO PARALLEL PROGRAMMING

Description of Individual Course Units

Course Unit Code Course Unit Title Type Of Course D U L ECTS
FIZ 3123 INTRODUCTION TO PARALLEL PROGRAMMING ELECTIVE 2 2 0 7

Offered By

Physics

Level of Course Unit

First Cycle Programmes (Bachelor's Degree)

Course Coordinator

ASSOCIATE PROFESSOR ZEYNEP DEMIR VATANSEVER

Offered to

Physics

Course Objective

An introduction to parallel programming using frequently used application programming interfaces (APIs) is aimed. The students will be able to write parallel programs using MPI and OpenMP.

Learning Outcomes of the Course Unit

1   Being able to understand the basic concepts of parallel computing.
2   To gain technical background in computer hardware and software.
3   To gain information about MPI and OpenMP and to be able to generate parallel programs by using them.
4   To be able to solve real problems using parallel programming approaches.

Mode of Delivery

Face -to- Face

Prerequisites and Co-requisites

None

Recomended Optional Programme Components

None

Course Contents

Week Subject Description
1 Why parallel computing
2 Parallel hardware and parallel software
3 Distributed-memory programming with MPI: Introduction, The Trapezoidal Rule in MPI
4 Distributed-memory programming with MPI: Dealing with I/O, Collective Communication
5 Distributed-memory programming with MPI: MPI Derived Datatypes, Performance Evaluation of MPI Programs
6 Distributed-memory programming with MPI: A Parallel Sorting Algorithm, Summary
7 Midterm
8 Shared-memory programming with OpenMP: Introduction, The Trapezoidal Rule in OpenMP
9 Shared-memory programming with OpenMP: Scope of Variables, The Reduction Clause, The parallel for Directive
10 Shared-memory programming with OpenMP: Scheduling Loops, Producers and Consumers
11 Shared-memory programming with OpenMP: Caches, Cache Coherence, and False Sharing, Thread-Safety, Summary
12 General overview
13 Homework presentations
14 Homework presentations

Recomended or Required Reading

Ana kaynak:
An Introduction to Parallel Programming, Peter Pacheco, Morgan Kauffman Publishers 2011
Yardımcı Kaynaklar:
Parallel Programming: Concepts and Practice, Bertil Schmidt, Morgan Kauffman Publishers 2017

Planned Learning Activities and Teaching Methods

Lectures, writing codes, discussions, Tutorials and homeworks

Assessment Methods

SORTING NUMBER SHORT CODE LONG CODE FORMULA
1 MTE MIDTERM EXAM
2 ASG ASSIGNMENT
3 FIN FINAL EXAM
4 FCGR FINAL COURSE GRADE (RESIT) MTE * 0.25 + ASG * 0.35 + FIN * 0.40
5 RST RESIT
6 FCGR FINAL COURSE GRADE (RESIT) MTE * 0.25 + ASG * 0.35 + RST * 0.40


Further Notes About Assessment Methods

None

Assessment Criteria

The student s performance will be according to the midterm and final exam grade, as well as the homework assigments.

Language of Instruction

Turkish

Course Policies and Rules

1. Attending at least 70 percent of lectures is mandatory.
2. Plagiarism of any type will result in disciplinary action.

Contact Details for the Lecturer(s)

zeynep.demir@deu.edu.tr

Office Hours

To be announced later.

Work Placement(s)

None

Workload Calculation

Activities Number Time (hours) Total Work Load (hours)
Lectures 11 2 22
Tutorials 11 2 22
Preparations before/after weekly lectures 11 4 44
Preparation for midterm exam 1 10 10
Preparation for final exam 1 10 10
Preparing assignments 5 13 65
Final 1 2 2
Midterm 1 2 2
TOTAL WORKLOAD (hours) 177

Contribution of Learning Outcomes to Programme Outcomes

PO/LOPO.1PO.2PO.3PO.4PO.5PO.6PO.7PO.8PO.9PO.10PO.11PO.12PO.13PO.14
LO.142535222
LO.22535222
LO.35325552242
LO.45325552243