| 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ü | Prof.Dr. ÜNAL ÇAVUŞOĞLU |
| Dersi Verenler | Prof.Dr. AHMET ÖZMEN, Prof.Dr. ÜNAL ÇAVUŞOĞLU, |
| 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. | Anlatım, Alıştırma ve Uygulama, Bireysel Çalışma, | Sınav, |
| 2 | İşletim sisteminin sağladığı sistem çağrılarını etkin olarak kullanır. | Alıştırma ve Uygulama, Anlatım, | Ödev, Sınav, |
| 3 | İşletim sisteminde var olan alt birimlerin tasarımlarını yapar. | Alıştırma ve Uygulama, Anlatım, | Ödev, Sınav, |
| 4 | Dosya ve dizinlerle ilgili etkin programlama yapar. | Alıştırma ve Uygulama, Anlatım, | Ödev, Sınav, |
| 5 | Süreçler arası iletişimin kullanıldığı çoklu süreçli uygulamalar geliştirebilir. | Bireysel Çalışma, Grup Çalışması, Alıştırma ve Uygulama, Anlatım, Proje Temelli Öğrenme , | Proje / Tasarım, |
| 6 | Süreç ve iplik modellerinde programlama yapar. | Alıştırma ve Uygulama, Anlatım, | Ödev, Sınav, |
| 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 | Advanced Programming for the Unix Environment, Richard Stevens. |
| 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 | |||
| 1 | Matematik, fen bilimleri ve ilgili mühendislik disiplinine özgü konularda yeterli bilgi birikimi; bu alanlardaki kuramsal ve uygulamalı bilgileri, karmaşık mühendislik problemlerinde kullanabilme becerisi. | X | |||||
| 2 | Karmaşık mühendislik problemlerini saptama, tanımlama, formüle etme ve çözme becerisi; bu amaçla uygun analiz ve modelleme yöntemlerini seçme ve uygulama becerisi. | X | |||||
| 3 | Mühendislik uygulamalarında karşılaşılan karmaşık problemlerin analizi ve çözümü için gerekli olan modern teknik ve araçları geliştirme, seçme ve kullanma becerisi; bilişim teknolojilerini etkin bir şekilde kullanma becerisi. | X | |||||
| 4 | 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 | |||||
| 5 | Karmaşık mühendislik problemlerinin veya disipline özgü araştırma konularının incelenmesi için deney tasarlama, deney yapma, veri toplama, sonuçları analiz etme ve yorumlama becerisi. | X | |||||
| 6 | Bilişim Teknolojilerinin yönetim, denetim, gelişim ve güvenliği/güvenilirliği hakkında bilgi sahibi olma ve farkındalık, | X | |||||
| 7 | Disiplin içi ve çok disiplinli takımlarda etkin biçimde çalışabilme becerisi; bireysel çalışma becerisi. | ||||||
| 8 | Türkçe sözlü ve yazılı etkin iletişim kurma becerisi; en az bir yabancı dil bilgisi; etkin rapor yazma ve yazılı raporları anlama, tasarım ve üretim raporları hazırlayabilme, etkin sunum yapabilme, açık ve anlaşılır talimat verme ve alma becerisi. | ||||||
| 9 | Yaşam boyu öğrenmenin gerekliliği bilinci; bilgiye erişebilme, bilim ve teknolojideki gelişmeleri izleme ve kendini sürekli yenileme becerisi. | ||||||
| 10 | Etik ilkelerine uygun davranma, mesleki ve etik sorumluluk bilinci; mühendislik uygulamalarında kullanılan standartlar hakkında bilgi. | X | |||||
| 11 | Proje yönetimi, risk yönetimi ve değişiklik yönetimi gibi, iş hayatındaki uygulamalar hakkında bilgi; girişimcilik, yenilikçilik hakkında farkındalık; sürdürülebilir kalkınma hakkında bilgi. | ||||||
| 12 | Mühendislik uygulamalarının evrensel ve toplumsal boyutlarda sağlık, çevre ve güvenlik üzerindeki etkileri ve çağın mühendislik alanına yansıyan sorunları hakkında bilgi; mühendislik çözümlerinin hukuksal sonuçları konusunda farkındalık. | ||||||
| # | Ders Öğrenme Çıktılarının Program Çıktılarına Katkısı | PÇ 1 | PÇ 2 | PÇ 3 | PÇ 4 | PÇ 5 | PÇ 6 | PÇ 7 | PÇ 8 | PÇ 9 | PÇ 10 | PÇ 11 | 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ı |
| 1. Proje / Tasarım | 10 |
| 2. Proje / Tasarım | 60 |
| 1. Kısa Sınav | 10 |
| Toplam | 80 |
| 1. Yıl İçinin Başarıya | 50 |
| 1. Final | 50 |
| Toplam | 100 |
| AKTS - İş Yükü Etkinlik | Sayı | Süre (Saat) | Toplam İş Yükü (Saat) |
|---|---|---|---|
| Ders Süresi (Sınav haftası dahildir: 16x toplam ders saati) | 16 | 3 | 48 |
| Sınıf Dışı Ders Çalışma Süresi(Ön çalışma, pekiştirme) | 16 | 2 | 32 |
| Ara Sınav | 1 | 6 | 6 |
| Ödev | 1 | 5 | 5 |
| Proje / Tasarım | 1 | 6 | 6 |
| Final | 1 | 20 | 20 |
| Kısa Sınav | 2 | 1 | 2 |
| Performans Görevi (Uygulama) | 2 | 5 | 10 |
| Toplam İş Yükü | 129 | ||
| Toplam İş Yükü / 25 (Saat) | 5,16 | ||
| dersAKTSKredisi | 5 | ||