CEN428 Systems Programming

6 AKTS - 3-0 Süre (T+U)- 8. Yarıyıl- 3 Yerel Kredi

Genel Bilgi

Kod CEN428
Ad Systems Programming
Yarıyıl 8. Yarıyıl
Süre (T+U) 3-0 (T-U) (17 Hafta)
AKTS 6 AKTS
Yerel Kredi 3 Yerel Kredi
Eğitim Dil İngilizce
Seviye Lisans Dersi
Tür Normal
Öğretim Şekli Yüz Yüze Öğretim
Bilgi Paketi Koordinatörü Dr. Öğr. Üyesi Barış ATA


Dersin Amacı

Öğrenciye, bir bilgisayarın işletim sistemi ve donanımıyla doğrudan etkileşime giren düşük seviyeli programlar yazma sürecini tanıtma ve öğrencinin bir ekip ortamında büyük uygulamalar oluşturma becerisini geliştirme.

Dersin İçeriği

Sistem programlarının uygulanması, bilgisayar işletim sistemleri kavramları; Işletim sistemi özelliklerini kullanmada laboratuar tecrübesi.

Dersin Ön Koşulu

Yok

Kaynaklar

Linux System Programming Talking Directly to the Kernel and C Library, Robert Love

Notlar

The Linux Command Line, 2nd Edition, William Shotts, 2019


Dersin Öğrenme Çıktıları

Sıra Dersin Öğrenme Çıktıları
ÖÇ01 Alt düzey dosya G / Ç ve dizin işlemleri yapmak için işletim sistemi özelliklerini doğrudan kullanan programları tasarlamak
ÖÇ02 Eşzamanlı programlama problemlerini çözmek için modern bir OS API'si ile süreç oluşturma, senkronizasyon ve iletişim kavramlarını anlamak
ÖÇ03 Sistemle ilgili programları tasarlamak
ÖÇ04 Kabuk komutlarını kullanarak temel dosya yönetimini gerçekleştirmek


Program Öğrenme Çıktıları ile İlişkisi

Sıra Tür Program Öğrenme Çıktıları Duzey
PÖÇ01 Bilgi - Kuramsal, Olgusal 1. Matematik, fen bilimleri ve bilgisayarla ilgili mühendislik konularında yeterli altyapıya sahip olma; bu alanlardaki kuramsal bilgileri beraber kullanabilme 4
PÖÇ02 Bilgi - Kuramsal, Olgusal 2. Karmaşık mühendislik problemlerini saptama, tanımlama, formüle etme ve çözme becerisi; bu amaçla uygun analitik yöntemler ve modelleme tekniklerini seçme ve uygulama 4
PÖÇ03 Bilgi - Kuramsal, Olgusal 3. Karmaşık bir sistemi, sistem bileşenini ya da süreci analiz etme ve istenen gereksinimleri karşılamak üzere gerçekçi kısıtlar altında tasarlama becerisi; bu doğrultuda modern tasarım yöntemlerini uygulama becerisi 4
PÖÇ04 Bilgi - Kuramsal, Olgusal 4. Mühendislik uygulamaları için gerekli olan modern teknik ve araçları geliştirme, seçme ve kullanma becerisi; bilişim teknolojilerini etkin kullanma becerisi 4
PÖÇ05 Bilgi - Kuramsal, Olgusal 5. Karmaşık bilgisayar mühendisliği problemlerin çözümüne ilişkin deney tasarlama, deney yapma, veri toplama, sonuçları analiz etme ve yorumlama becerisi 3
PÖÇ06 Bilgi - Kuramsal, Olgusal Bireysel olarak ve disiplin içi/çok disiplinli takımlarda etkin çalışabilme becerisi, sorumluluk alma ve özgüven 3
PÖÇ07 Beceriler - Bilişsel, Uygulamalı Bilgiye erişebilme, kaynak araştırması yapabilme ve bilgi kaynaklarını kullanabilme becerisi 3
PÖÇ08 Beceriler - Bilişsel, Uygulamalı Yaşam boyu öğrenmenin gerekliliği bilinci; bilim ve teknolojideki gelişmeleri izleme ve kendini sürekli yenileme becerisi 3
PÖÇ09 Yetkinlikler - Bağımsız Çalışabilme ve Sorumluluk Alabilme Yetkinliği 9. Türkçe sözlü ve yazılı etkin iletişim kurma, ve en az bir yabancı dilde teknik yayın okuyup anlayabilme, rapor hazırlama ve sunum yapma becerisi 3
PÖÇ10 Yetkinlikler - Öğrenme Yetkinliği Mesleki ve etik sorumluluk bilinci; mühendislik uygulamalarında kullanılan standartlar hakkında bilgi 2
PÖÇ11 Yetkinlikler - Öğrenme Yetkinliği 11. Proje yönetimi, işyeri uygulamaları, çalışanların sağlığı, çevre ve iş güvenliği, ve mühendislik uygulamalarının hukuksal sonuçları hakkında farkındalık
PÖÇ12 Yetkinlikler - Öğrenme Yetkinliği 12. Mühendislik çözümlerinin ve uygulamalarının evrensel ve toplumsal boyutlardaki etkileri, girişimcilik ve yenilikçilik, ve çağın sorunları hakkında bilgi sahibi olmak


Haftalık Akış

Hafta Konu Ön Hazırlık Yöntemler
1 Programlama Kavramlarının Gözden Geçirilmesi Konu ile ilgili kaynakların ve ders notlarının okunması Öğretim Yöntemleri:
Anlatım, Gösteri
2 İşletim Sistemleri- Temel Bilgiler Konu ile ilgili kaynakların ve ders notlarının okunması Öğretim Yöntemleri:
Anlatım, Gösteri
3 İşaretler ve Süreçler Konu ile ilgili kaynakların ve ders notlarının okunması Öğretim Yöntemleri:
Anlatım, Gösteri
4 Kontrol Akışları Konu ile ilgili kaynakların ve ders notlarının okunması Öğretim Yöntemleri:
Anlatım, Gösteri
5 Sistem Seviyesi G / Ç Konu ile ilgili kaynakların ve ders notlarının okunması Öğretim Yöntemleri:
Anlatım, Gösteri
6 Mesaj Geçen Konu ile ilgili kaynakların ve ders notlarının okunması Öğretim Yöntemleri:
Anlatım, Gösteri
7 Sistem Zamanlayıcıları Konu ile ilgili kaynakların ve ders notlarının okunması Öğretim Yöntemleri:
Anlatım, Gösteri
8 Ara Sınav Konu ile ilgili kaynakların ve ders notlarının okunması Ölçme Yöntemleri:
Yazılı Sınav
9 Sanal bellek Konu ile ilgili kaynakların ve ders notlarının okunması Öğretim Yöntemleri:
Anlatım, Gösteri
10 Dinamik Bellek Ayırımı Konu ile ilgili kaynakların ve ders notlarının okunması Öğretim Yöntemleri:
Anlatım, Gösteri
11 Ağ İşlemleri Konu ile ilgili kaynakların ve ders notlarının okunması Öğretim Yöntemleri:
Anlatım, Gösteri
12 Ağ Programlama Konu ile ilgili kaynakların ve ders notlarının okunması Öğretim Yöntemleri:
Anlatım, Gösteri
13 işlemler arası iletişim Konu ile ilgili kaynakların ve ders notlarının okunması Öğretim Yöntemleri:
Anlatım, Gösteri
14 Thread'ler ve Eşzamanlı Programlama Konu ile ilgili kaynakların ve ders notlarının okunması Öğretim Yöntemleri:
Anlatım, Gösteri
15 Final Sınavı Konu ile ilgili kaynakların ve ders notlarının okunması Öğretim Yöntemleri:
Anlatım, Gösteri
16 Yarıyıl Sonu Sınavları Değerlendirme Ölçme Yöntemleri:
Yazılı Sınav
17 Yarıyıl Sonu Sınavları Değerlendirme Ölçme Yöntemleri:
Yazılı Sınav


Öğrenci İş Yükü - AKTS

Çalışmalar Sayısı Süresi (Saat) İş Yükü (Saat)
Ders ile İlgili Çalışmalar
Ders (Sınav haftaları dahil değildir) 14 3 42
Sınıf Dışı Ders Çalışma (Ön çalışma, pekiştirme) 14 5 70
Değerlendirmeler ile İlgili Çalışmalar
Ödev, Proje, Diğer 0 0 0
Ara Sınavlar (Yazılı, Sözlü, vs.) 1 15 15
Yarıyıl/Yıl Sonu/Final Sınavı 1 30 30
Toplam İş Yükü (Saat) 157
Toplam İş Yükü / 25 (s) 6,28
AKTS 6 AKTS