| Ders Adı | Kodu | Yarıyıl | T+U Saat | Kredi | AKTS |
|---|---|---|---|---|---|
| Sistem Programlama | BSM 308 | 6 | 3 + 0 | 3 | 5 |
| Ön Koşul Dersleri | |
| Önerilen Seçmeli Dersler | |
| Dersin Dili | Türkçe |
| Dersin Seviyesi | Lisans |
| Dersin Türü | Zorunlu |
| Dersin Koordinatörü | Dr.Öğr.Üyesi HÜSEYİN ESKİ |
| Dersi Verenler | |
| Dersin Yardımcıları | |
| Dersin Kategorisi | Diğer |
| Dersin Amacı | Dersin amacı, öğrencilere işletim sistemini oluşturan yazılım unsurlarının geliştirilmesi ile ilgili tekniklerin öğretilmesidir. Bunun yanında, sistem çağrılarının etkin kullanımı, ileri düzey C programlama, bilgisayar donanım işleyişi ve kontrolü hakkında bilgiler verilir. |
| Dersin İçeriği | İleri düzey C programlama teknikleri. İşletim sistemi komponentlerinin tasarlanması ve kodlanması. Donanım kontrolünde kullanılacak yazılımların geliştirilmesi. Bu tür yazılımların gereksinimleri ve geliştirilme teknikleri.
|
| # | Ders Öğrenme Çıktıları | Öğretim Yöntemleri | Ölçme Yöntemleri |
|---|---|---|---|
| 1 | C dilini kullanarak sistem yazılımı geliştirir. | Soru-Cevap, Deney ve Laboratuvar, Tartışma, | |
| 2 | İşletim sisteminin sağladığı sistem çağrılarını etkin olarak kullanır. | Tartışma, | |
| 3 | İşletim sisteminde var olan alt birimlerin tasarımlarını yapar. | Tartışma, | |
| 4 | Dosya ve dizinlerle ilgili etkin programlama yapar. | Gözlem, Gezi / Gözlem, Deney ve Laboratuvar, Anlatım, | |
| 5 | Süreçler arası iletişimin kullanıldığı çoklu süreçli uygulamalar geliştirebilir. | Tartışma, Soru-Cevap, Gözlem, Gezi / Gözlem, Deney ve Laboratuvar, Anlatım, | |
| 6 | Süreç ve iplik modellerinde programlama yapar. | Problem Çözme, | Çoktan Seçmeli Testler, Ödev / Evde-Çöz Sınavlar, |
| Hafta | Ders Konuları | Ön Hazırlık |
|---|---|---|
| 1 | Bilgisayar sistemleri ve C programlama dili hakkında bazı temel bilgiler 1 | |
| 2 | Bilgisayar sistemleri ve C programlama dili hakkında bazı temel bilgiler 2 | |
| 3 | Dosyalar ve dizin dosyaları, bağlantılar (linkler) | |
| 4 | Dosyadan okuma/yazma, sistem çağrıları ve tampon bellek (buffer) kullanımı | |
| 5 | Sistem çağrıları ve giriş çıkış 1 | |
| 6 | Sistem çağrıları ve giriş çıkış 2 | |
| 7 | Simgesel dil -1 (yerel değişkenler, ve fonksiyonlar) | |
| 8 | Simgesel dil -2 (işaretçiler, diziler) | |
| 9 | Simgesel dil -3 (dallanma) | |
| 10 | Bellek erişimi ile ilgili uygulamalar | |
| 11 | Süreçler ve süreç yönetimi 1 (fork, exec, dup, pipe) | |
| 12 | Süreçler ve süreç yönetimi 2 (fork, exec, dup, pipe) | |
| 13 | Sinyaller, süreçler arası iletişim | |
| 14 | İplik (thread) programlama modeli |
| Kaynaklar | |
|---|---|
| Ders Notu | https://web.eecs.utk.edu/~jplank/plank/classes/cs360/lecture_notes.html |
| Ders Kaynakları | 1.The C Programming Language, 2nd Ed., by Kernighan and Ritchie, Prentice Hall |
| Sıra | Program Çıktıları | Katkı Düzeyi | |||||
|---|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | |||
| 3 | Karmaşık bir sistemi, süreci, cihazı veya ürünü gerçekçi kısıtlar ve koşullar altında, belirli gereksinimleri karşılayacak şekilde tasarlama becerisi; bu amaçla modern tasarım yöntemlerini uygulama becerisi. | ||||||
| 3 | Karmaşık bir sistemi, süreci, cihazı veya ürünü gerçekçi kısıtlar ve koşullar altında, belirli gereksinimleri karşılayacak şekilde tasarlama becerisi; bu amaçla modern tasarım yöntemlerini uygulama becerisi. | ||||||
| 3 | Karmaşık bir sistemi, süreci, cihazı veya ürünü gerçekçi kısıtlar ve koşullar altında, belirli gereksinimleri karşılayacak şekilde tasarlama becerisi; bu amaçla modern tasarım yöntemlerini uygulama becerisi. | X | |||||
| 3 | Karmaşık bir sistemi, süreci, cihazı veya ürünü gerçekçi kısıtlar ve koşullar altında, belirli gereksinimleri karşılayacak şekilde tasarlama becerisi; bu amaçla modern tasarım yöntemlerini uygulama becerisi. | ||||||
| 4 | Mühendislik uygulamalarında karşılaşılan karmaşık problemlerin analizi ve çözümü için gerekli olan modern teknik ve araçları seçme ve kullanma becerisi; bilişim teknolojilerini etkin bir şekilde kullanma becerisi. | ||||||
| 4 | Mühendislik uygulamalarında karşılaşılan karmaşık problemlerin analizi ve çözümü için gerekli olan modern teknik ve araçları seçme ve kullanma becerisi; bilişim teknolojilerini etkin bir şekilde kullanma becerisi. | ||||||
| 8 | Yaşam boyu öğrenmenin gerekliliği konusunda farkındalık; bilgiye erişebilme, bilim ve teknolojideki gelişmeleri izleme ve kendini sürekli yenileme becerisi. | ||||||
| 12 | Bilişim Teknolojilerinin yönetim, denetim, gelişim ve güvenliği/güvenilirliği hakkında bilgi sahibi olma ve farkındalık, | ||||||
| # | Ders Öğrenme Çıktılarının Program Çıktılarına Katkısı | PÇ 3 | PÇ 3 | PÇ 3 | PÇ 3 | PÇ 4 | PÇ 4 | PÇ 8 | PÇ 12 |
|---|---|---|---|---|---|---|---|---|---|
| 1 | C dilini kullanarak sistem yazılımı geliştirir. | ||||||||
| 2 | İşletim sisteminin sağladığı sistem çağrılarını etkin olarak kullanır. | ||||||||
| 3 | İşletim sisteminde var olan alt birimlerin tasarımlarını yapar. | ||||||||
| 4 | Dosya ve dizinlerle ilgili etkin programlama yapar. | ||||||||
| 5 | Süreçler arası iletişimin kullanıldığı çoklu süreçli uygulamalar geliştirebilir. | ||||||||
| 6 | Süreç ve iplik modellerinde programlama yapar. |
| Değerlendirme Sistemi | |
|---|---|
| Yarıyıl Çalışmaları | Katkı Oranı |
| Toplam | 0 |
| Toplam | 0 |
| AKTS - İş Yükü Etkinlik | Sayı | Süre (Saat) | Toplam İş Yükü (Saat) |
|---|---|---|---|
| Ara Sınav | 1 | 10 | 10 |
| Kısa Sınav | 2 | 5 | 10 |
| Ders Süresi (Sınav haftası dahildir: 16x toplam ders saati) | 16 | 3 | 48 |
| Proje / Tasarım | 1 | 10 | 10 |
| Sınıf Dışı Ders Çalışma Süresi(Ön çalışma, pekiştirme) | 16 | 1 | 16 |
| Final | 1 | 15 | 15 |
| Toplam İş Yükü | 109 | ||
| Toplam İş Yükü / 25 (Saat) | 4,36 | ||
| dersAKTSKredisi | 5 | ||