Ders Adı | Kodu | Yarıyıl | T+U Saat | Kredi | AKTS |
---|---|---|---|---|---|
Sistem Programlama | SWE 301 | 5 | 3 + 0 | 3 | 5 |
Ön Koşul Dersleri | |
Önerilen Seçmeli Dersler | |
Dersin Dili | İngilizce |
Dersin Seviyesi | Lisans |
Dersin Türü | Zorunlu |
Dersin Koordinatörü | Doç.Dr. ÜNAL ÇAVUŞOĞLU |
Dersi Verenler | Doç.Dr. ÜNAL ÇAVUŞOĞLU, |
Dersin Yardımcıları | |
Dersin Kategorisi | Diğer |
Dersin Amacı | - Introduction of system software development methods and system software development tools. - Compatibility of computer architecture with software components and examining the factors affecting software performance. - Teaching system software development processes with sample applications. |
Dersin İçeriği | - Advanced C language basics. - Examining the factors affecting software performance. - Program development processes: Analysis of compile and link processes. - Programming in symbolic language (assembler). - Parallel programming: Multi-thread applications, distributed parallel applications. - Performance issues in parallel programs. |
# | Ders Öğrenme Çıktıları | Öğretim Yöntemleri | Ölçme Yöntemleri |
---|---|---|---|
1 | C dilinde sistem yazılımı geliştirir. | Tartışma, Gezi / Gözlem, Mikro Öğretim, | |
2 | Hazır kütüphaneleri karmaşık uygulamalarda kullanır. | Tartışma, | |
3 | Bilgisayar mimarisi ile programlama dilleri arasında ilişkiyi açıklar. | Anlatım, | |
4 | İşletim sistemi kabuk komutlarını bilir. | Anlatım, | |
5 | Simgesel dilde programlama yapar. | Anlatım, | |
6 | Paralel programlama bilir. | Tartışma, |
Hafta | Ders Konuları | Ön Hazırlık |
---|---|---|
1 | Sistem yazılımlarında C dili kullanımı, yaygın olarak kullanılan yöntemler (conventions). | |
2 | Program derleme ve bağlama (link) işlemleri. Makefile oluşturma. Hazır kütüphanelerin kullanımı. | |
3 | Sistem çağrıları ve C kütüphaneleri ile performans karşılaştırmaları. | |
4 | Dosya sistemleri, kısayol (link) ve dizin dosyaları. | |
5 | Yaygın kullanılan sistem çağrıları ile uygulama geliştirme (stat, opendir, readdir/closedir kullanımı). | |
6 | Diğer sistem çağrılarının analizi ve uygulamalarda kullanımı. | |
7 | Kabuk programlama (shell programming) ve yeniden yönlendirme (redirection). | |
8 | Sinyaller (signals), fork ve exec çağrılarının kullanımı | |
9 | Simgesel dilde programlama - 1 (assembler): Giriş ve lokal değişkenler | |
10 | Simgesel dilde programlama - 2 (assembler): Alt programlar (procedures) ve saklayıcı kopyalama (register spilling) | |
11 | Simgesel dilde programlama - 3 (assembler): Adres değişkenleri (pointers) | |
12 | Simgesel dilde programlama - 4 (assembler): Dallanma ve koşullu dallanma | |
13 | Paralel programlama (Threads) | |
14 | Paralel programlama: Sunucu istemci modelinde programlama |
Kaynaklar | |
---|---|
Ders Notu | |
Ders Kaynakları |
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. | X | |||||
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. | X | |||||
9 | Yaşam boyu öğrenmenin gerekliliği bilinci; bilgiye erişebilme, bilim ve teknolojideki gelişmeleri izleme ve kendini sürekli yenileme becerisi. | X | |||||
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. | X | |||||
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. | X |
# | 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 dilinde sistem yazılımı geliştirir. | 5 | 5 | 5 | 5 | ||||||||
2 | Hazır kütüphaneleri karmaşık uygulamalarda kullanır. | 5 | 5 | 5 | |||||||||
3 | Bilgisayar mimarisi ile programlama dilleri arasında ilişkiyi açıklar. | 5 | 5 | 5 | |||||||||
4 | İşletim sistemi kabuk komutlarını bilir. | 5 | 5 | 5 | |||||||||
5 | Simgesel dilde programlama yapar. | 5 | 5 | ||||||||||
6 | Paralel programlama bilir. | 5 | 5 | 5 |
Değerlendirme Sistemi | |
---|---|
Yarıyıl Çalışmaları | Katkı Oranı |
1. Ara Sınav | 60 |
1. Kısa Sınav | 15 |
1. Proje / Tasarım | 25 |
Toplam | 100 |
1. Yıl İçinin Başarıya | 60 |
1. Final | 40 |
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) | 14 | 3 | 42 |
Sınıf Dışı Ders Çalışma Süresi(Ön çalışma, pekiştirme) | 14 | 3 | 42 |
Ara Sınav | 1 | 10 | 10 |
Kısa Sınav | 1 | 2 | 2 |
Proje / Tasarım | 2 | 20 | 40 |
Toplam İş Yükü | 136 | ||
Toplam İş Yükü / 25 (Saat) | 5,44 | ||
Dersin AKTS Kredisi | 5 |