Course Information
SemesterCourse Unit CodeCourse Unit TitleT+P+LCreditNumber of ECTS CreditsLast Updated Date
1BBM442PARALLEL PROCESSING3+0+03606.09.2024

 
Course Details
Language of Instruction English
Level of Course Unit Bachelor's Degree
Department / Program COMPUTER ENGINEERING
Type of Program Formal Education
Type of Course Unit Elective
Course Delivery Method Face To Face
Objectives of the Course To teach the fundamental concepts of parallel processing
Course Content Introduction to parallelism and parallel programming, network topologies for parallel computers, GPUs, parallel computer architecture (SIMD, Shared Memory MIMD and Distributed Memory MIMD), synchronization mechanisms, parallel programming models, analysis and design of parallel algorithms, development of parallel algorithms for different architectures, performance and complexity of parallel algorithms. Case studies: Selected parallel algorithms.
Course Methods and Techniques Lecture
Prerequisites and co-requisities ( BBM102 ) and ( BBM104 )
Course Coordinator None
Name of Lecturers Associate Prof.Dr. Kayhan İmre
Assistants None
Work Placement(s) No

Recommended or Required Reading
Resources Grama A., Gupta A., Karypis G., and Kumar V., Introduction to Parallel Computing, Second Edition, Addison Wesley, 2003. Quinn M. J., Designing Efficient Algorithms for Parallel Computers, McGraw-Hill, 1988. Akl S.G., The Design and Analysis of Parallel Algorithms, Prentice-Hall, 1989.
Course Notes Grama A., Gupta A., Karypis G. ve Kumar, V., Introduction to Parallel Computing, Second Edition Addison Wesley, 2003.
Quinn M.J., Designing Efficient Algorithms for Parallel Computers, McGraw-Hill, 1988.
Akl S.G., The Design and Analysis of Parallel Algorithms, Prentice-Hall, 1989.


Planned Learning Activities and Teaching Methods
Activities are given in detail in the section of "Assessment Methods and Criteria" and "Workload Calculation"

Assessment Methods and Criteria
In-Term Studies Quantity Percentage
Midterm Exam 2 % 50
Final examination 1 % 50
Total
3
% 100

 
ECTS Allocated Based on Student Workload
Activities Quantity Duration Total Work Load
Course Duration 14 3 42
Hours for off-the-c.r.stud 14 6 84
Preparation for Midterm Exam 2 15 30
General Exam Preparation 1 20 20
Total Work Load   Number of ECTS Credits 5,86666666666667 176

 
Course Learning Outcomes: Upon the successful completion of this course, students will be able to:
NoLearning Outcomes
1 Students will be able to define basic concepts of parallel computers.
2 Students will be able to define basic concepts of parallel programming.
3 Students will be able to develop software for parallel computers.
4 Students will be able to optimize the performance of the parallel programs.
5  
6  
7  
8  

 
Weekly Detailed Course Contents
WeekTopicsStudy MaterialsMaterials
1 Introduction and parallel computer architectures
2 The network topologies used in parallel computers
3 The basic concepts used for developing software for parallel computers
4 Message passing programming paradigm and MPI library
5 Topology construction and collective communication functions
6 Midterm exam
7 Matrix-vector multiplication algorithms
8 Matrix multiplication algorithms
9 Parallel implementations of Gauss elimination method
10 Implementations of collective communication algorithms
11 Midterm exam
12 Implementations of collective communication algorithms
13 The basic concepts used for developing software for shared memory parallel computers
14 Examples of algorithms for shared memory parallel computers
15 Summary of the course
16 Final exam

 
Contribution of Learning Outcomes to Programme Outcomes
P1 P2 P3 P4 P5 P6 P7 P8 P9 P10 P11 P12
All 5 5 5 5 5 5 3 1 2 1 1
C1
C2
C3
C4
C5
C6
C7
C8

  Contribution: 1: Very Slight 2:Slight 3:Moderate 4:Significant 5:Very Significant

  
  https://bilsis.hacettepe.edu.tr/oibs/bologna/progCourseDetails.aspx?curCourse=2687555&lang=en