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 + 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ı:
Bu kursta katılımcılara işletim sistemleri ve eş zamanlı programlama temelleri verilecektir. Kurs kapsamında bilgisayar donanımı, adres alanı, dosyalar, giriş/çıkış, sistem çağrıları, süreçler ve iş parçacıkları, bellek yönetimi, dosya sistemleri ve depolama ve çoklu işlemci sistemleri verilecektir. Ardından iş parçacığı özellikleri, çoklu iş parçacığı programlama, karşılıklı dışlamalar ve kritik kaynaklar tartışılacaktır. |
|
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/Quiz/Kısa Sınav | 2 | %15 |
Final Sınavı | 1 | %40 |
|
Ders İşbaşı Eğitimi (iş yerinde eğitim) Gerektiriyor mu? |
Gerektirmiyor |