Ders AdıKodu Yerel KrediAKTS Ders (saat/hafta)Uygulama (saat/hafta)Laboratuar (saat/hafta)
Sistem ProgramlamaMTM363235300
ÖnkoşullarYok
YarıyılGüz, Bahar
Dersin Diliİngilizce, Türkçe
Dersin SeviyesiLisans
Dersin TürüSeçmeli @ Matematik Mühendisliği Lisans Programı (%30 İngilizce)
Ders KategorisiUzmanlık/Alan Dersleri
Dersin Veriliş ŞekliYüz yüze
Dersi Sunan Akademik BirimMatematik Mühendisliği Bölümü
Dersin KoordinatörüAydın Seçer
Dersi Veren(ler)
Asistan(lar)ı
Dersin AmacıBu ders, öğrencilere sistem seviyesi programlama kavramlarına kapsamlı bir anlayış kazandırmayı amaçlar, böylece işletim sistemleri ve donanımla etkileşime giren etkin ve sağlam yazılım çözümleri geliştirebilirler.
Dersin İçeriğiC programlama temelleri, İşletim sistemleri, temel kavramlar, süreçler(Prosesler) ve işletim sistemi yapıları, (Proses) Süreç yönetimi, Interprocess Communication (IPC) ve işlemci planlama algoritmaları, Dosya sistemi, dosya yönetimi, dosya işlemleri ve ortak/statik kütüphaneler, Sistem çağrıları, hata yönetimi, hata kontrol mekanizmaları ve kernel/user mode geçişleri, Sinyaller, sinyal yakalama, işleme ve bellek yönetimi, İş parçacığı (thread) kavramı, kullanımı, yönetimi ve sanal bellek kavramları, İş parçacığı senkronizasyonu, mutex, semaforlar ve işletim sistemi/donanım etkileşimi, Ağ programlamaya giriş, soket programlama ve temel kavramlar, TCP ve UDP protokolleri ile soket programlama uygulamaları ve erişim kontrolü/güvenlik politikaları, Dinamik bellek yönetimi, bellek sızıntıları ve önleme yöntemleri, Çoklu platform desteği, POSIX API, uygulamaları ve optimizasyon teknikleri, Kabuk (shell) programlama, betikleri yazma, çalıştırma ve gelişmiş C dilinde programlama teknikleri.
Ders Kitabı / Malzemesi / Önerilen Kaynaklar
  • Kitap: Robert Love, Linux System Programming
  • Kitap: Robert Love, Linux Kernel Development
  • Kitap: Michael KerrisK, The Linux Programming Interface
  • Kitap: Kaiwan N. Billimoria, Hands‑On System Programming with Linux
  • Kitap: Modern Operating Systems (4th Edition) - Andrew S. Tanenbaum, Herbert Bos (ISBN-13: 978-0133591620)
  • Kitap: Programming with POSIX Threads - David R. Butenhof (ISBN-13: 978-0201633924)
  • Kitap: Operating System Concepts - Abraham Silberschatz, Peter B. Galvin, Greg Gagne (ISBN-13: 978-1119456339)
  • Online: Introduction to Operating Systems - Georgia Tech (Coursera): https://www.coursera.org/learn/introduction-operating-systems
  • Online: Linux System Programming Techniques & Concepts - Udemy: https://www.udemy.com/course/linux-system-programming/
Opsiyonel Program BileşenleriYok

Ders Öğrenim Çıktıları

  1. Öğrenciler, C programlama dilinin temellerini kullanarak etkili ve hatalı işlevselliği düşük yazılım çözümleri geliştirebilme yeteneğine sahip olacaktır.
  2. İşletim sistemleri, süreç yönetimi ve Interprocess Communication (IPC) gibi temel kavramları anlayarak, işlemci planlama algoritmalarının uygulanmasını ve performansını değerlendirebilecektir.
  3. Dosya sistemleri, dosya yönetimi ve sistem çağrıları gibi konularda bilgi sahibi olarak, işletim sistemleriyle etkileşime giren yazılımların etkinliğini ve güvenilirliğini sağlayabilecektir.
  4. İş parçacığı (thread) kavramını ve senkronizasyon tekniklerini kullanarak, paralel programlama ve çoklu görevli sistemlerde performansı optimize edebilme becerisine sahip olacaktır.
  5. Ağ programlama ve soket programlama temellerini kullanarak, güvenli ve etkili ağ iletişimi sağlayan uygulamalar geliştirebilme yeteneğine sahip olacaktır.

Ders Öğrenim Çıktısı & Program Çıktısı Matrisi

DÖÇ-1DÖÇ-2DÖÇ-3DÖÇ-4DÖÇ-5
PÇ-124443
PÇ-213444
PÇ-313553
PÇ-412444
PÇ-523443
PÇ-612444
PÇ-724443
PÇ-813444
PÇ-913553
PÇ-1012444
PÇ-1123443
PÇ-1212444
PÇ-1324443
PÇ-1413444
PÇ-1513553
PÇ-1612444
PÇ-1723443
PÇ-1812444
PÇ-1924443
PÇ-2013444
PÇ-2113553
PÇ-2212444
PÇ-2323443
PÇ-2412444
PÇ-2524443
PÇ-2613444
PÇ-2713553
PÇ-2812444
PÇ-2923443
PÇ-3012444

Haftalık Konular ve İlgili Ön Hazırlık Çalışmaları

HaftaKonularÖn Hazırlık
1Ders tanıtımı, amaç, içerik, değerlendirme sistemi ve C programlama temelleriKaynak Kitaplar ve Çevirimiçi Materyaller
2İşletim sistemleri, temel kavramlar, süreçler ve işletim sistemi yapılarıKaynak Kitaplar ve Çevirimiçi Materyaller
3Süreç yönetimi, İnterprocess Communication (IPC) ve işlemci planlama algoritmalarıKaynak Kitaplar ve Çevirimiçi Materyaller
4Dosya sistemi, dosya yönetimi, dosya işlemleri ve ortak/statik kütüphanelerKaynak Kitaplar ve Çevirimiçi Materyaller
5Sistem çağrıları, hata yönetimi, hata kontrol mekanizmaları ve kernel/user mode geçişleriKaynak Kitaplar ve Çevirimiçi Materyaller
6Sinyaller, sinyal yakalama, işleme ve bellek yönetimiKaynak Kitaplar ve Çevirimiçi Materyaller
7İş parçacığı (thread) kavramı, kullanımı, yönetimi ve sanal bellek kavramlarıKaynak Kitaplar ve Çevirimiçi Materyaller
8Ara Sınav 1
9İş parçacığı senkronizasyonu, mutex, semaforlar ve işletim sistemi/donanım etkileşimiKaynak Kitaplar ve Çevirimiçi Materyaller
10Ağ programlamaya giriş, soket programlama ve temel kavramlarKaynak Kitaplar ve Çevirimiçi Materyaller
11TCP ve UDP protokolleri ile soket programlama uygulamaları ve erişim kontrolü/güvenlik politikalarıKaynak Kitaplar ve Çevirimiçi Materyaller
12Dinamik bellek yönetimi, bellek sızıntıları ve önleme yöntemleriKaynak Kitaplar ve Çevirimiçi Materyaller
13Çoklu platform desteği, POSIX API, uygulamaları ve optimizasyon teknikleriKaynak Kitaplar ve Çevirimiçi Materyaller
14Kabuk (shell) programlama, betikleri yazma, çalıştırma ve gelişmiş C dilinde programlama teknikleriKaynak Kitaplar ve Çevirimiçi Materyaller
15Konu Tekrarı ve Uygulamaları
16Final

Değerlendirme Sistemi

EtkinliklerSayıKatkı Payı
Devam/Katılım110
Laboratuar
Uygulama
Arazi Çalışması
Derse Özgü Staj
Küçük Sınavlar/Stüdyo Kritiği
Ödev
Sunum/Jüri
Projeler120
Seminer/Workshop
Ara Sınavlar130
Final140
Dönem İçi Çalışmaların Başarı Notuna Katkısı
Final Sınavının Başarı Notuna Katkısı
TOPLAM100

AKTS İşyükü Tablosu

EtkinliklerSayıSüresi (Saat)Toplam İşyükü
Ders Saati133
Laboratuar
Uygulama
Arazi Çalışması
Sınıf Dışı Ders Çalışması136
Derse Özgü Staj
Ödev
Küçük Sınavlar/Stüdyo Kritiği
Projeler120
Sunum / Seminer
Ara Sınavlar (Sınav Süresi + Sınav Hazırlık Süresi)115
Final (Sınav Süresi + Sınav Hazırlık Süresi)120
Toplam İşyükü :
Toplam İşyükü / 30(s) :
AKTS Kredisi :
Diğer NotlarYok