Ders Adı | Kodu | Yerel Kredi | AKTS | Ders (saat/hafta) | Uygulama (saat/hafta) | Laboratuar (saat/hafta) |
---|---|---|---|---|---|---|
Sistem Programlama | MTM3632 | 3 | 5 | 3 | 0 | 0 |
Önkoşullar | Yok |
---|
Yarıyıl | Güz, Bahar |
---|
Dersin Dili | İngilizce, Türkçe |
---|---|
Dersin Seviyesi | Lisans |
Dersin Türü | Seçmeli @ Matematik Mühendisliği Lisans Programı (%30 İngilizce) |
Ders Kategorisi | Uzmanlık/Alan Dersleri |
Dersin Veriliş Şekli | Yüz yüze |
Dersi Sunan Akademik Birim | Matematik 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ği | C 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 |
|
Opsiyonel Program Bileşenleri | Yok |
Ders Öğrenim Çıktıları
- Öğ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.
- İş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.
- 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.
- İş parçacığı (thread) kavramını ve senkronizasyon tekniklerini kullanarak, paralel programlama ve çoklu görevli sistemlerde performansı optimize edebilme becerisine sahip olacaktır.
- 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ÖÇ-1 | DÖÇ-2 | DÖÇ-3 | DÖÇ-4 | DÖÇ-5 | |
PÇ-1 | 2 | 4 | 4 | 4 | 3 |
PÇ-2 | 1 | 3 | 4 | 4 | 4 |
PÇ-3 | 1 | 3 | 5 | 5 | 3 |
PÇ-4 | 1 | 2 | 4 | 4 | 4 |
PÇ-5 | 2 | 3 | 4 | 4 | 3 |
PÇ-6 | 1 | 2 | 4 | 4 | 4 |
PÇ-7 | 2 | 4 | 4 | 4 | 3 |
PÇ-8 | 1 | 3 | 4 | 4 | 4 |
PÇ-9 | 1 | 3 | 5 | 5 | 3 |
PÇ-10 | 1 | 2 | 4 | 4 | 4 |
PÇ-11 | 2 | 3 | 4 | 4 | 3 |
PÇ-12 | 1 | 2 | 4 | 4 | 4 |
PÇ-13 | 2 | 4 | 4 | 4 | 3 |
PÇ-14 | 1 | 3 | 4 | 4 | 4 |
PÇ-15 | 1 | 3 | 5 | 5 | 3 |
PÇ-16 | 1 | 2 | 4 | 4 | 4 |
PÇ-17 | 2 | 3 | 4 | 4 | 3 |
PÇ-18 | 1 | 2 | 4 | 4 | 4 |
PÇ-19 | 2 | 4 | 4 | 4 | 3 |
PÇ-20 | 1 | 3 | 4 | 4 | 4 |
PÇ-21 | 1 | 3 | 5 | 5 | 3 |
PÇ-22 | 1 | 2 | 4 | 4 | 4 |
PÇ-23 | 2 | 3 | 4 | 4 | 3 |
PÇ-24 | 1 | 2 | 4 | 4 | 4 |
PÇ-25 | 2 | 4 | 4 | 4 | 3 |
PÇ-26 | 1 | 3 | 4 | 4 | 4 |
PÇ-27 | 1 | 3 | 5 | 5 | 3 |
PÇ-28 | 1 | 2 | 4 | 4 | 4 |
PÇ-29 | 2 | 3 | 4 | 4 | 3 |
PÇ-30 | 1 | 2 | 4 | 4 | 4 |
Haftalık Konular ve İlgili Ön Hazırlık Çalışmaları
Hafta | Konular | Ön Hazırlık |
---|---|---|
1 | Ders tanıtımı, amaç, içerik, değerlendirme sistemi ve C programlama temelleri | Kaynak 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 |
3 | Süreç yönetimi, İnterprocess Communication (IPC) ve işlemci planlama algoritmaları | Kaynak Kitaplar ve Çevirimiçi Materyaller |
4 | Dosya sistemi, dosya yönetimi, dosya işlemleri ve ortak/statik kütüphaneler | Kaynak Kitaplar ve Çevirimiçi Materyaller |
5 | Sistem çağrıları, hata yönetimi, hata kontrol mekanizmaları ve kernel/user mode geçişleri | Kaynak Kitaplar ve Çevirimiçi Materyaller |
6 | Sinyaller, sinyal yakalama, işleme ve bellek yönetimi | Kaynak Kitaplar ve Çevirimiçi Materyaller |
7 | İş parçacığı (thread) kavramı, kullanımı, yönetimi ve sanal bellek kavramları | Kaynak Kitaplar ve Çevirimiçi Materyaller |
8 | Ara Sınav 1 | |
9 | İş parçacığı senkronizasyonu, mutex, semaforlar ve işletim sistemi/donanım etkileşimi | Kaynak Kitaplar ve Çevirimiçi Materyaller |
10 | Ağ programlamaya giriş, soket programlama ve temel kavramlar | Kaynak Kitaplar ve Çevirimiçi Materyaller |
11 | TCP ve UDP protokolleri ile soket programlama uygulamaları ve erişim kontrolü/güvenlik politikaları | Kaynak Kitaplar ve Çevirimiçi Materyaller |
12 | Dinamik bellek yönetimi, bellek sızıntıları ve önleme yöntemleri | Kaynak Kitaplar ve Çevirimiçi Materyaller |
13 | Çoklu platform desteği, POSIX API, uygulamaları ve optimizasyon teknikleri | Kaynak Kitaplar ve Çevirimiçi Materyaller |
14 | Kabuk (shell) programlama, betikleri yazma, çalıştırma ve gelişmiş C dilinde programlama teknikleri | Kaynak Kitaplar ve Çevirimiçi Materyaller |
15 | Konu Tekrarı ve Uygulamaları | |
16 | Final |
Değerlendirme Sistemi
Etkinlikler | Sayı | Katkı Payı |
---|---|---|
Devam/Katılım | 1 | 10 |
Laboratuar | ||
Uygulama | ||
Arazi Çalışması | ||
Derse Özgü Staj | ||
Küçük Sınavlar/Stüdyo Kritiği | ||
Ödev | ||
Sunum/Jüri | ||
Projeler | 1 | 20 |
Seminer/Workshop | ||
Ara Sınavlar | 1 | 30 |
Final | 1 | 40 |
Dönem İçi Çalışmaların Başarı Notuna Katkısı | ||
Final Sınavının Başarı Notuna Katkısı | ||
TOPLAM | 100 |
AKTS İşyükü Tablosu
Etkinlikler | Sayı | Süresi (Saat) | Toplam İşyükü |
---|---|---|---|
Ders Saati | 13 | 3 | |
Laboratuar | |||
Uygulama | |||
Arazi Çalışması | |||
Sınıf Dışı Ders Çalışması | 13 | 6 | |
Derse Özgü Staj | |||
Ödev | |||
Küçük Sınavlar/Stüdyo Kritiği | |||
Projeler | 1 | 20 | |
Sunum / Seminer | |||
Ara Sınavlar (Sınav Süresi + Sınav Hazırlık Süresi) | 1 | 15 | |
Final (Sınav Süresi + Sınav Hazırlık Süresi) | 1 | 20 | |
Toplam İşyükü : | |||
Toplam İşyükü / 30(s) : | |||
AKTS Kredisi : |
Diğer Notlar | Yok |
---|