Information Systems Engineering
Bachelor TR-NQF-HE: Level 6 QF-EHEA: First Cycle EQF-LLL: Level 6

Ders Genel Tanıtım Bilgileri

Course Code: FET316
Ders İsmi: Advanced Topics in Computer Engineering
Ders Yarıyılı: Spring
Ders Kredileri:
Theoretical Practical Laboratory ECTS
3 0 0 5
Language of instruction: Turkish
Ders Koşulu:
Ders İş Deneyimini Gerektiriyor mu?: No
Type of course: Bölüm Seçmeli
Course Level:
Bachelor TR-NQF-HE:6. Master`s Degree QF-EHEA:First Cycle EQF-LLL:6. Master`s Degree
Mode of Delivery: E-Learning
Course Coordinator : Asst. Prof. Dr. TAYMAZ AKAN
Course Lecturer(s): Asst. Prof. Dr. SELAMİ BAĞRIYANIK
Asst. Prof. Dr. AHMET FATİH MUSTAÇOĞLU
Asst. Prof. Dr. TAYMAZ AKAN
Course Assistants:

Dersin Amaç ve İçeriği

Course Objectives: Write more efficient, performant code by mastering the fundamentals of parallel programming

To begin, student covers templates, discussing template syntax, template functions and classes, and argument deduction. student then builds on that knowledge to discuss STL containers, iterators, transformations, functions, and algorithms.
Course Content: Template fundamentals
STL containers
Accessing iterators
Output, forward, and bidirectional iterators
The transform function
Transforming strings and types
Arithmetic, relational, and logical functions
STL algorithms
------
Parallel computing architectures
Shared vs. distributed memory
Thread vs. process
Execution scheduling
The thread lifecycle in C++
Mutual exclusion
Locking in recursive and shared mutexes
Acquiring a lock on a mutex with a try lock
Resolving deadlock and livelock conditions

Learning Outcomes

The students who have succeeded in this course;
Learning Outcomes
1 - Knowledge
Theoretical - Conceptual
2 - Skills
Cognitive - Practical
1) Write more efficient, performant code by mastering the fundamentals of parallel programming
2) Learn concepts like threading and mutual exclusion in an informative way, relating them to everyday activities you perform in the real-world application.
3) Students cover templates, discussing template syntax, template functions and classes, and argument deduction.
4) Students build on that knowledge to discuss STL containers, iterators, transformations, functions, and algorithms.
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) Template fundamentals STL containers
2) Accessing iterators Output, forward, and bidirectional iterators
3) The transform function Transforming strings and types
4) Arithmetic, relational, and logical functions STL algorithms
5) Parallel computing architectures Shared vs. distributed memory
6) Thread vs. process Execution scheduling
7) The thread lifecycle in C++ Mutual exclusion
8) Midterm
9) Locking in recursive and shared mutexes
10) Acquiring a lock on a mutex with a try lock
11) Resolving deadlock and livelock conditions
12) Thread pool
13) Divide and conquer
14) Application of parallel programming in real-world problems
15) Final Exam

Sources

Course Notes / Textbooks: C++ Standard Library
Yazar: Nicolai Josuttis
2. Baskı
--------------
Mastering C++ Multithreading: Write robust, concurrent, and parallel applications
Yazar: Maya Posch
References: C++ Standard Library
Yazar: Nicolai Josuttis
2. Baskı
--------------
Mastering C++ Multithreading: Write robust, concurrent, and parallel applications
Author: Maya Posch

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

Ders Öğrenme Kazanımları

1

2

3

4

Program Outcomes

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

No Effect 1 Lowest 2 Low 3 Average 4 High 5 Highest
           
Program Outcomes Level of Contribution

Assessment & Grading

Semester Requirements Number of Activities Level of Contribution
total %
PERCENTAGE OF SEMESTER WORK % 0
PERCENTAGE OF FINAL WORK %
total %