GAZI UNIVERSITY INFORMATION PACKAGE - 2019 ACADEMIC YEAR

COURSE DESCRIPTION
PARALLEL PROGRAMMING/BM-330
Course Title: PARALLEL PROGRAMMING
Credits 4 ECTS 5
Semester 6 Compulsory/Elective Elective
COURSE INFO
 -- LANGUAGE OF INSTRUCTION
  Turkish
 -- NAME OF LECTURER(S)
  Head of Computer Engineering Department
 -- WEB SITE(S) OF LECTURER(S)
  http://tf-bm.gazi.edu.tr/
 -- EMAIL(S) OF LECTURER(S)
  bm.tf@gazi.edu.tr
 -- LEARNING OUTCOMES OF THE COURSE UNIT
Students taking this course, recognize the principles of parallel algorithm design, parallel computer architectures
Shared and non-shared memory parallel architectures parallel thinking and the basis for designing algorithms using MPI and OpenMP libraries, learn to







 -- MODE OF DELIVERY
  The mode of delivery of this course is Face to face
 -- PREREQUISITES AND CO-REQUISITES
  There is no prerequisite or co-requisite for this course.
 -- RECOMMENDED OPTIONAL PROGRAMME COMPONENTS
   There is no recommended optional programme component for this course.
 --COURSE CONTENT
1. Week  Introduction to Parallel Programming
2. Week  Analysis of parallel algorithms
3. Week  Distributed and shared memory parallel architectures
4. Week  Programming with MPI for distributed memory parallel architectures
5. Week  Programming with MPI for distributed memory parallel architectures
6. Week  MPI parallel programming with shared memory architectures
7. Week  MPI parallel programming with shared memory architectures
8. Week  Parallel algorithm design, parallel program performance, acceleration and Productivity Shared Memory Programming with Pthreads, the matrix-vector mul
9. Week  Midterm
10. Week  Trees, parallel search algorithms
11. Week  Parallel code generation for systems of linear equations
12. Week  Hybrid parallel programming with MPI
13. Week  Hybrid parallel programming with MPI
14. Week  Hybrid parallel programming with MPI
15. Week  Hybrid parallel programming with MPI
16. Week  Final Exam
 -- RECOMMENDED OR REQUIRED READING
  1. Pacheco, Peter S., An introduction to parallel programming, Morgan Kaufmann Publishers for Elsevier, 2011 (ISBN 978-0-12-374260-5) 2. Introduction to Parallel Computing, by Grama, Gupta, Kumar, and Karypis, The Benjamin 3. Cummings Publishing 4. A User’s Guide to MPI, Peter S. Pacheco 5. Practical MPI Programming 6. Parallel Programming For Multicore and Cluster Systems, Thomas Rauber•Gudula
 -- PLANNED LEARNING ACTIVITIES AND TEACHING METHODS
   Lecture, Question & Answer, Demonstration, Drill - Practise
 -- WORK PLACEMENT(S)
  No
 -- ASSESSMENT METHODS AND CRITERIA
 
Quantity
Percentage
 Mid-terms
1
40
 Assignment
0
0
 Exercises
0
0
 Projects
1
10
 Practice
0
0
 Quiz
0
0
 Contribution of In-term Studies to Overall Grade  
50
 Contribution of Final Examination to Overall Grade  
50
 -- WORKLOAD
 Efficiency  Total Week Count  Weekly Duration (in hour)  Total Workload in Semester
 Theoretical Study Hours of Course Per Week
14
3
42
 Practising Hours of Course Per Week
14
2
28
 Reading
0
 Searching in Internet and Library
0
 Designing and Applying Materials
0
 Preparing Reports
0
 Preparing Presentation
0
 Presentation
0
 Mid-Term and Studying for Mid-Term
1
30
30
 Final and Studying for Final
1
30
30
 Other
0
 TOTAL WORKLOAD: 
130
 TOTAL WORKLOAD / 25: 
5.2
 ECTS: 
5
 -- COURSE'S CONTRIBUTION TO PROGRAM
NO
PROGRAM LEARNING OUTCOMES
1
2
3
4
5
1Gaining the necessary theoretical and applied knowledge on engineering, mathematics, and science, skills for determining, defining and formulating computer engineering problems.X
2Gaining the ability to choose and apply appropriate analysis, modeling and design methods in computer engineering problems.X
3Gaining the ability to design a system, process or product related to computer engineering for a specific given purpose, gaining the ability to apply modern design tools.X
4Gaining the ability to evaluate the issues of security, robustness, adaptability, economy, ecological problems and sustainability in engineering solutions under realistic constraints and conditions.X
5Gaining the ability of simulation, experimenting, design, interpreting results for analysis and solution of computer engineering problems. Gaining the ability of analyzing of data for real problems which are need of industry.X
6Gaining the ability to use contemporary techniques and tools, information technologies for engineering applications.X
7Gaining the ability to work efficiently as individual or in a group in computer engineering discipline or in interdisciplinary studies. Gaining the ability to act independently, to use initiative when needed, and to be creative.X
8Gaining the ability to communicate efficiently by expressing his/her opinions in Turkish verbally or in written form in a concise manner. Gaining ability to efficiently use at least a foreign language in his/her proficiency.X
9Gaining the ability to grasp the significance of the concepts in areas such as business entrepreneurship, innovation and gaining ability for planning and management of a project.X
10Gaining the ability of awareness about self-renewal concept by comprehending the necessity of lifelong learning.X
11Gaining the ability to have professional and ethical responsibility.X
12The development of personality such as self-confidence, undaunting in the face of difficulties, consistency and patience.X
13Awareness about problems concerning with social, economic, environmental, etc. in our age and realization of the engineering profession by keeping mind in the responsibility which is related the awareness.X