DEPARTMENT OF SOFTWARE ENGINEERING (ENGLISH)
Qualification Awarded Program Süresi Toplam Kredi (AKTS) Öğretim Şekli Yeterliliğin Düzeyi ve Öğrenme Alanı
4 240 FULL TIME TYÇ, TR-NQF-HE, EQF-LLL, ISCED (2011):Level 6
QF-EHEA:First Cycle
TR-NQF-HE, ISCED (1997-2013): 48,52

Ders Genel Tanıtım Bilgileri

Course Code: 1413002012
Ders İsmi: Parallel Computing
Ders Yarıyılı: Fall
Ders Kredileri:
Theoretical Practical Labs Credit ECTS
3 0 0 3 5
Language of instruction: EN
Ders Koşulu:
Ders İş Deneyimini Gerektiriyor mu?: No
Other Recommended Topics for the Course:
Type of course: Department 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 : Dr.Öğr.Üyesi Adem ÖZYAVAŞ
Course Lecturer(s):
Course Assistants:

Dersin Amaç ve İçeriği

Course Objectives: The course gives an overview of the architectures and communication networks employed in parallel computers. The course covers the foundations for development of efficient parallel algorithms, including examples from relatively simple numerical problems, sorting, and graph problems. Adaption of algorithms to special computer architectures is discussed.
Course Content: Relevant theory is covered in lectures together with examples of how one develops parallel computer programs. The students then solve programming problems themselves using parallel computers. A large part of the teaching is practically oriented.

Learning Outcomes

The students who have succeeded in this course;
Learning Outcomes
1 - Knowledge
Theoretical - Conceptual
1) analyze sequential programs and determine if they are worthwhile to parallelize
2 - Skills
Cognitive - Practical
1) optimize sequential code for fastest possible execution.
2) develop, analyze, and implement algorithms for parallel computers. This applies both to computers with shared memory and with distributed memory
3 - Competences
Communication and Social Competence
Learning Competence
Field Specific Competence
Competence to Work Independently and Take Responsibility

Ders Akış Planı

Week Subject Related Preparation
1) Principles of parallel algorithm design Peter S. Pacheco, An Introduction to Parallel Programming, Morgan Kaufmann, 2011
2) Principles of parallel algorithm design decomposition techniques mapping & scheduling computation templates Peter S. Pacheco, An Introduction to Parallel Programming, Morgan Kaufmann, 2011
3) Programming shared-address space systems Peter S. Pacheco, An Introduction to Parallel Programming, Morgan Kaufmann, 2011
4) Programming shared-address space systems Cilk Plus OpenMP Pthreads Peter S. Pacheco, An Introduction to Parallel Programming, Morgan Kaufmann, 2011
5) Parallel computer architectures Peter S. Pacheco, An Introduction to Parallel Programming, Morgan Kaufmann, 2011
6) Programming scalable systems Peter S. Pacheco, An Introduction to Parallel Programming, Morgan Kaufmann, 2011
7) Analytical modeling of program performance Peter S. Pacheco, An Introduction to Parallel Programming, Morgan Kaufmann, 2011
8) midterm Peter S. Pacheco, An Introduction to Parallel Programming, Morgan Kaufmann, 2011
9) Collective communication Peter S. Pacheco, An Introduction to Parallel Programming, Morgan Kaufmann, 2011
10) Synchronization Peter S. Pacheco, An Introduction to Parallel Programming, Morgan Kaufmann, 2011
11) Non-numerical algorithms Peter S. Pacheco, An Introduction to Parallel Programming, Morgan Kaufmann, 2011
12) Numerical algorithms Peter S. Pacheco, An Introduction to Parallel Programming, Morgan Kaufmann, 2011
13) Performance measurement and analysis of parallel programs Peter S. Pacheco, An Introduction to Parallel Programming, Morgan Kaufmann, 2011
14) GPU Programming Peter S. Pacheco, An Introduction to Parallel Programming, Morgan Kaufmann, 2011
15) GPU Programming Peter S. Pacheco, An Introduction to Parallel Programming, Morgan Kaufmann, 2011
16) Final Peter S. Pacheco, An Introduction to Parallel Programming, Morgan Kaufmann, 2011

Sources

Course Notes / Textbooks: Peter S. Pacheco, An Introduction to Parallel Programming, Morgan Kaufmann, 2011
References: Peter S. Pacheco, An Introduction to Parallel Programming, Morgan Kaufmann, 2011

Ders - Program Öğrenme Kazanım İlişkisi

Ders Öğrenme Kazanımları

1

3

2

Program Outcomes
1) Knowledge of mathematics, science, basic engineering, computer computing, and engineering discipline-specific topics; ability to use this knowledge in solving complex engineering problems
2) Sufficient knowledge of issues related to software engineering; theoretical and To be able to use applied knowledge in solving algorithmic and software problems Skill.
3) Ability to define, formulate and analyze complex engineering problems using basic science, mathematics and engineering knowledge and taking into account the UN Sustainable Development Goals relevant to the problem under consideration.
4) Ability to design creative solutions to complex engineering problems; The ability to design complex systems, processes, devices or products to meet current and future requirements, taking into account realistic constraints and conditions.
5) Ability to choose and use appropriate techniques, resources, modern engineering computational tools for the analysis, solution, prediction and modelling of complex engineering problems.
6) Ability to use research methods to examine complex engineering problems, including researching literature, designing experiments, conducting experiments, collecting data, analyzing and interpreting results.
7) Information about the effects of engineering practices on society, health and safety, economy, sustainability and the environment within the scope of the UN Sustainable Development Goals; Awareness of the legal consequences of engineering solutions
8) Acting in accordance with engineering professional principles and knowledge about ethical responsibility; Awareness of acting impartially, without discrimination on any issue, and being inclusive of diversity.
9) Ability to work effectively as a team member or leader in intradisciplinary and multidisciplinary teams (face-to-face, remote or hybrid).
10) Individual working ability.
11) Ability to communicate effectively verbally and in writing on technical issues, taking into account the various differences of the target audience (such as education, language, profession).
12) Knowledge of business practices such as project management and economic feasibility analysis
13) Awareness about entrepreneurship and innovation.
14) A lifelong learning skill that includes being able to learn independently and continuously, adapting to new and developing technologies, and thinking inquisitively about technological changes.

Ders - Öğrenme Kazanımı İlişkisi

No Effect 1 Lowest 2 Low 3 Average 4 High 5 Highest
           
Program Outcomes Level of Contribution
1) Knowledge of mathematics, science, basic engineering, computer computing, and engineering discipline-specific topics; ability to use this knowledge in solving complex engineering problems
2) Sufficient knowledge of issues related to software engineering; theoretical and To be able to use applied knowledge in solving algorithmic and software problems Skill.
3) Ability to define, formulate and analyze complex engineering problems using basic science, mathematics and engineering knowledge and taking into account the UN Sustainable Development Goals relevant to the problem under consideration.
4) Ability to design creative solutions to complex engineering problems; The ability to design complex systems, processes, devices or products to meet current and future requirements, taking into account realistic constraints and conditions.
5) Ability to choose and use appropriate techniques, resources, modern engineering computational tools for the analysis, solution, prediction and modelling of complex engineering problems.
6) Ability to use research methods to examine complex engineering problems, including researching literature, designing experiments, conducting experiments, collecting data, analyzing and interpreting results.
7) Information about the effects of engineering practices on society, health and safety, economy, sustainability and the environment within the scope of the UN Sustainable Development Goals; Awareness of the legal consequences of engineering solutions
8) Acting in accordance with engineering professional principles and knowledge about ethical responsibility; Awareness of acting impartially, without discrimination on any issue, and being inclusive of diversity.
9) Ability to work effectively as a team member or leader in intradisciplinary and multidisciplinary teams (face-to-face, remote or hybrid).
10) Individual working ability.
11) Ability to communicate effectively verbally and in writing on technical issues, taking into account the various differences of the target audience (such as education, language, profession).
12) Knowledge of business practices such as project management and economic feasibility analysis
13) Awareness about entrepreneurship and innovation.
14) A lifelong learning skill that includes being able to learn independently and continuously, adapting to new and developing technologies, and thinking inquisitively about technological changes.

Öğrenme Etkinliği ve Öğretme Yöntemleri

Course
Grup çalışması ve ödevi
Problem Çözme
Proje Hazırlama

Ölçme ve Değerlendirme Yöntemleri ve Kriterleri

Homework
Uygulama
Bireysel Proje
Raporlama

Assessment & Grading

Semester Requirements Number of Activities Level of Contribution
Homework Assignments 10 % 20
Project 1 % 20
Midterms 1 % 20
Semester Final Exam 1 % 40
total % 100
PERCENTAGE OF SEMESTER WORK % 60
PERCENTAGE OF FINAL WORK % 40
total % 100

İş Yükü ve AKTS Kredisi Hesaplaması

Activities Number of Activities Duration (Hours) Workload
Course Hours 14 3 42
Application 10 3 30
Study Hours Out of Class 14 3 42
Homework Assignments 10 3 30
Midterms 1 2 2
Final 1 3 3
Total Workload 149