BİL214

Sistem Programlama

Dersi Veren Fakülte \ Bölüm
Mühendislik Fakültesi \ Bilgisayar Mühendisliği
Kredi
AKTS
Ders Türü
Öğretim Dili
4
8
Zorunlu
İngilizce
Ön Koşullar
BİL113
Dersi Alan Programlar
Bilgisayar Mühendisliği
Yapay Zeka Mühendisliği
Ders Tanımı
Unix ortamında C programlama dili kullanarak programlamaya giriş. Unix çekirdeği, Unix kabuğu, dosya sistemi ve temel kabuk komutları. Kabuk kodları. C programlama (fonksiyonlar, diziler, dizgiler, işaretçiler, dinamik bellek kullanımı, bit operasyonları). Unix sistem çağrıları. İşlem kontrolü, sinyaller ve işlemler arası iletişim.
Ders Kitapları ve/veya Kaynaklar
Zorunlu kaynak: C How to Program, 6th or 7th Edition, by Deitel and Deitel. Prentice Hall.
Yardımcı kaynaklar:
Linux Pocket Guide, Daniel Barrett. O'Reilly.
Interprocess Communication in Linux, John S. Gray. Prentice Hall.
Ders Amaçları
Bu dersin amacı öğrencilere Unix ortamında C programlama dili kullanarak programlama öğretmektir.
Ders Çıktıları
1. Unix/Linux temel komutlarını ve yardımcı programlarını kullanabilir, Unix/Linux dosya sistemi temellerini anlar ve dosya sistemini yönetebilir.
2. Kabuk (shell) seviyesindeki programların faydasını anlar, kabuk kodları yazar.
3. C programlama dilinde programlama görevlerini gerçekleştirebilir.
4. C dilinde işaretçileri (pointers), dizileri, karakter dizilerini (strings) ve dosya girdi/çıktısını (file I/O) etkin şekilde kullanır.
5. C yapıları (structures) ve dinamik bellek tahsisi konusunda yetkinlik kazanır.
6. İşlem oluşturan (process creation) sistem çağrılarını (system calls) kullanarak programlar yazar.
7. İşlemler arası iletişim (IPC), sinyaller ve borular (pipe) gibi temel IPC konuları bilir.
Referans Ders Çizelgesi
1. Hafta: Unix/Linux'a giriş (temel komutlar, dosya sistemi, dosya manipulasyonu, editörler)
2. Hafta: Linux devam (wildcardlar, düzenli ifadeler, filtreler, sinyaller, iş kontrolü)
3. Hafta: Kabuk, ortam değişkenleri, kabuk kurulum dosyaları, kabuk kodları
4. Hafta: Kabuk kodları devam
5. Hafta: C Programlama: temel veri tipleri, I/O, kontrol yapıları, fonksiyonlar
6. Hafta: C Programlama: diziler, işaretçiler, işaretçi aritmetiği
7. Hafta: C Programlama: işaretçiler devam.
8. Hafta: C Programlama: karakter ve dizgiler, dosya I/O
9. Hafta: C Programlama: yapılar, dinamik bellek memory kullanımı, bağlı listeler
10. Hafta: Kütüphane fonksiyonları ve sistem çağrıları, işlemler, işlem ortamı
11. Hafta: İşlemler devam: fork, exec, wait
12. Hafta: Sinyaller, borular
Referans Değerlendime Ölçütleri
• Vize % 35
• Final % 35
• Laboratuvar % 10
• Ödev % 20
Program Çıktısı *
1 2 3 4 5 6 7 8 9 10 11
Ders Çıktısı
1 C A, B C B
2 C, D B A, B C B
3 C, D A, B C B
4 C, D A, B C B
5 C, D A, B C B
6 C, D A, B C B
7 C, D A, B C B