Ders Adı | Kodu | Verildiği Yıl | Verildiği Yarıyıl | Süresi (T+U) | Yerel Kredisi | AKTS Kredisi |
Koşut Programlama | SENG 315 | 3 | 1 | 3 + 0 | 3 | 5,00 |
|
Ders Bilgileri |
Dersin Öğretim Dili | İngilizce |
Dersin Seviyesi | Lisans |
Dersin Türü | Zorunlu |
Dersin Veriliş Biçimi | Yüz Yüze |
|
Dersin Öğrenme Kazanımları:
Bu dersi başarı ile tamamlayan öğrenciler: |
1. Understand the organization of the computer systems. |
2. Understand the process concept with threading, scheduling, synchronization, and deadlocks. |
3. Understand how operating systems manage computer memory. |
4. Understand the major properties of the mature operating systems. |
5. Design and implement concurrent systems. |
6. An ability to use concurrent system critical resource mechanisms such as locks and collective communication. |
7. Understand and extend modern multi-thread software frameworks. |
|
Dersin Önkoşulları ve Birlikte Alınması Gereken Dersler | Yok |
Daha Önce Alınmış Olması Önerilen Dersler | Yok |
|
Dersin Tanımı:
In this course, participants will be given operating systems and concurrent programming fundamentals. Within the scope of the course, computer hardware, address space, files, input/output, system calls, processes and threads, memory management, file systems and storage and multiple processor systems will be given. Subsequently, thread features, multi-thread programming, mutual exclusions and critical resources will be discussed. |
|
Dersin İçeriği (Haftalık Konu Dağılımı): |
|
Hafta | Konu |
1 | Introduction |
2 | System Structures |
3 | Process Concept |
4 | Threads |
5 | Java Threads |
6 | Java Synchronization |
7 | Java Deadlocks and Object Monitors |
8 | Midterm |
9 | Executors |
10 | Semaphore and Monitor |
11 | Concurrent Data Structures - High Level Concurrency |
12 | Process Scheduling |
13 | Memory-Management |
14 | Storage |
|
Kaynaklar: |
Abraham Silberschatz, Peter B. Galvin and Greg Gagne, Operating System Concepts, Wiley, 2013, 978-1-118-09375-7
Goetz, Brian, Java Concurrency in Practice, Addison-Wesley Professional, 2006, 0321349601
|
|
Diğer Kaynaklar: |
Gonzalez, F., Mastering Concurrency Programming with Java 9 - Second Edition, Packt Publishing, 2017, 9781785887949
|
|
Öğretim Yöntem ve Teknikleri: |
Lecture
Discussion
Question and Answer
Team/Group Work
Homework
Project |
|
Değerlendirme Sistemi: |
Yöntem | Adet | Katkı (%) |
Ara sınav | 1 | %25 |
Ödev | 2 | %20 |
Test | 2 | %15 |
Final Sınavı | 1 | %40 |
|
Ders İşbaşı Eğitimi (iş yerinde eğitim) Gerektiriyor mu? |
Gerektirmiyor |