Course Information
SemesterCourse Unit CodeCourse Unit TitleT+P+LCreditNumber of ECTS CreditsLast Updated Date
1BBM441Introduction to High Performance Computing 3+0+03606.09.2024

 
Course Details
Language of Instruction Turkish
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 This course provides a thorough understanding of the fundamental concepts and recent advances in high performance computing. The main objective is to provide students practical and theoretical foundations to use and develop applications that can solve challenging problems in computer and data intensive problems.
Course Content Parallel programming languages and frameworks, Amdhal’s Law, performance evaluation, shared and distirbuted memory systems, message passing protocols, R for HPC, Python for HPC, Vectorization, Massively parallel architectures, Big Data concepts
Course Methods and Techniques Lecture, Preparing and or Presenting Reports, Problem Solving, Project Design Management
Prerequisites and co-requisities ( BBM104 ) and ( BBM102 )
Course Coordinator None
Name of Lecturers Associate Prof.Dr. Adnan Özsoy
Assistants None
Work Placement(s) No

Recommended or Required Reading
Resources ? An Introduction to Parallel Programming, Peter Pacheco, Morgan Kaufmann, 2011 ? Introduction to Parallel Computing, Ananth Grama, George Karypis, Vipin Kumar, Anshul Gupta ? Wes McKinney, Python for Data Analysis, Data Wrangling with Pandas, NumPy, and IPython, O'Reilly Media, October 2012 ? Norman Matloff, Parallel Computing for Data Science, With Examples in R, C++ and CUDA, Chapman & Hall/CRC The R Series, 2015
Course Notes An Introduction to Parallel Programming, Peter Pacheco, Morgan Kaufmann, 2011
Introduction to Parallel Computing, Ananth Grama, George Karypis, Vipin Kumar, Anshul Gupta
Wes McKinney, Python for Data Analysis, Data Wrangling with Pandas, NumPy, and IPython, O Reilly Media, October 2012
Norman Matloff, Parallel Computing for Data Science, With Examples in R, Cplusplus and CUDA, Chapman and Hall CRC The R Series, 2015


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 1 % 20
Assignment 5 % 20
Attendance 1 % 5
Project 1 % 15
Final examination 1 % 40
Total
9
% 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 2 28
Assignments 5 4 20
Project 1 50 50
Preparation for Midterm Exam 1 20 20
General Exam Preparation 1 20 20
Total Work Load   Number of ECTS Credits 6 180

 
Course Learning Outcomes: Upon the successful completion of this course, students will be able to:
NoLearning Outcomes
1 In completion of this course the student will, 1- have a deep knowledge about fundamental topics in high performance computing 2- gain a sense of the recent accomplishments in the field of high performance computing
2  
3  
4  
5  
6  
7  
8  

 
Weekly Detailed Course Contents
WeekTopicsStudy MaterialsMaterials
1 Introduction to High Performance Computing
2 An Overview of Parallel Programs and Tools
3 Shared Memory Systems
4 Distributed Memory Systems
5 Massively parallel architectures
6 SSE Vectorization
7 General Purpose Graphics Processing Units ? CUDA
8 General Purpose Graphics Processing Units ? OpenCL / OpenACC
9 Python for HPC
10 Python for HPC
11 Data Analysis using R
12 Data Analysis using R
13 Big Data Tools
14 Big Data Tools
15 General Review
16 Final exam

 
Contribution of Learning Outcomes to Programme Outcomes
P1 P2 P3 P4 P5 P6 P7 P8 P9 P10 P11 P12
All 3 3 5 3 5 5 5 2 5 4 4
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=2687554&lang=en