Kodu |
Dersin Adı |
Yarıyıl |
Süresi(T+U) |
Kredisi |
AKTS Kredisi |
BIL424 |
UNIX/LINUX PROGRAMLAMA |
5 |
3 |
3 |
6 |
DERS BİLGİLERİ |
Dersin Öğretim Dili : |
Türkçe |
Dersin Düzeyi |
LİSANS, TYY: + 6.Düzey, EQF-LLL: 6.Düzey, QF-EHEA: 1.Düzey |
Dersin Türü |
Seçmeli |
Dersin Veriliş Şekli |
- |
Dersin Koordinatörü |
Prof.Dr. ABDULSAMET HAŞILOĞLU |
Dersi Veren Öğretim Üyesi/Öğretim Görevlisi |
|
Ders Ön Koşulu |
Yok |
AMAÇ VE İÇERİK |
Amaç: |
Öğrencilerin İşletim Sistemine sunulan servisler ve Donanıma sunulan servisler geliştirebilmeleri için altyapı oluşturmaktır. |
İçerik: |
Sistem Programlamanın alanı ve görevleri, Unix ve Windows mimarileri, servisleri ve özellikleri, bir programın yazılımındaki adımlar, önderleyici, makrolar, derleyici ve birleştirici, kabuk ortamları ve kabuk programlama, sistem çağrıları ve kütüphane çağrıları, İşlemler, üst ve alt İşlemler, işlemler arası eşzamanlılık, çoklu-programlama ve iş parçacıkları, disk işlemleri, bellek işlemleri ve sanal bellek, işlemler arası iletişim, dosyalar, geçitler, mesaj kuyrukları, ortak bellek, sinyaller ve semaforlar, soketler, udp ve tcp soketleri, uzaktan yordam çağrısı, işlemler arası iletişimle istemci-sunucu mimarileri, uzaktan yordam çağrısı, işletim sistemi özelleştirme, aygıt sürücü geliştirme |
DERSİN ÖĞRENME ÇIKTILARI (Öğrenciler, bu dersi başarı ile tamamladıklarında aşağıda belirtilen bilgi, beceri ve/veya yetkinlikleri gösterirler.) |
İşletim sistemine ait belli görevleri yerine getirecek programlama yapabilir. |
İşletim Sistemine sunulan servisler ve Donanıma sunulan servisler geliştirebilir. |
Bir sisteme ait kaynakları programlama yoluyla yönetebililir |
Hedef platforma göre, bir sistemin gereksinim analizini yapabililir. |
Hedef platforma göre bir sistem tasarımı yapabilir. |
HAFTALIK DERS KONULARI VE ÖNGÖRÜLEN HAZIRLIK ÇALIŞMALARI |
Hafta |
Ön Hazırlık |
Konular |
Yöntem |
1 |
- |
Sistem Programlamanın alanı ve görevleri : Sistem Progralamanın geleneksel alanları. Bir OS ortamında Sistem Programlama. Unix ve Windows tarihi, mimarisi, servisleri ve özellikleri |
- |
2 |
- |
Unix ortamında bir program. Bir programın yazılımındaki adımlar. Ön-derleyici, Makrolar, Derleyici, Modüller, Birleştirici. Komut satırı parametreleri, Ortam parametreleri, Kabuk Programlama |
- |
3 |
- |
Sistem Çağrıları, önemi ve sınıflanması. Sistem çağrıları ve kütüphane çağrıları. İşlemler Arası İletişim (IPC) ve Ağ Programlama için Sistem Çağrıları. UNIX te sistem ve kütüphane çağrıları, genel yapısı ve arabirimleri. |
- |
4 |
- |
İşlemler. UNIX te İşlemlerin yaratılması. Ana işlem ve Üst ve Alt İşlemler. |
- |
5 |
- |
İşlemlerin kullanılması. Fork() sistem çağrısı. Exec() ailesi sistem çağrıları. Ana işlem ve Alt İşlem arasındaki senkronizasyonlar : system(), wait() , exit(), v.b |
- |
6 |
- |
Çoklu-Programlama ve İş Parçacıkları(Thread) temelleri |
- |
7 |
- |
Disk işlemleri. I/O dizin ve dosya sistemi işlemleri. Sanal Bellek |
- |
8 |
- |
ARA SINAV |
- |
9 |
- |
İşlemler Arası İletişim (IPC) : amacı ve sistem programlamadaki kullanımı. IPC mekanizmaları. Geçitler (pipe) olarak IPC: adlandırılmış ve adlandırılmamış geçitler. |
- |
10 |
- |
Mesaj Kuyrukları |
- |
11 |
- |
Sinyaller, Semaforlar ve Ortak Bellek |
- |
12 |
- |
Soketler ve IPC için kullanımı.UDP ve TCP soketleri. Network Programlama |
- |
13 |
- |
RPC (Uzaktan Yordam Çağrısı) |
- |
14 |
- |
İşletim Sistemi özelleştirme, Aygıt sürücü geliştirme demo uygulamalar |
- |
15 |
- |
Genel Tekrar |
- |
16 |
- |
FİNAL |
- |
17 |
- |
FİNAL |
- |
KAYNAKLAR |
The Linux Programming Interface: A Linux and UNIX System Programming Handbook Michael Kerrisk (Eser Sahibi) |
ÖLÇME VE DEĞERLENDİRME |
Yarıyıl İçi Yapılan Çalışmaların Ölçme ve Değerlendirmesi |
Etkinlik Sayısı |
Katkı Yüzdesi |
Açıklama |
(0) Etkisiz |
(1) En Düşük |
(2) Düşük |
(3) Orta |
(4) İyi |
(5) Çok İyi |
0 |
1 |
2 |
3 |
4 |
5 |
DERSİN PROGRAM ÖĞRENME ÇIKTILARINA KATKISI
BİLGİ |
Kuramsal |
|
Program Yeterlilikleri/Çıktıları |
Katkı Düzeyi |
0 |
1 |
2 |
3 |
4 |
5 |
1 |
Bilgisayar Bilimi ile ilgili temel mühendislik kavramlarını açıklar ve Bilgisayar Biliminin teorik altyapısı ile ilişkilendirir.
|
|
1 |
|
|
|
|
BİLGİ |
Olgusal |
|
Program Yeterlilikleri/Çıktıları |
Katkı Düzeyi |
0 |
1 |
2 |
3 |
4 |
5 |
1 |
Matematik, fen bilimleri, olasılık ve istatistik gibi kendi dalıyla ilgili mühendislik konularında sahip olduğu kuramsal ve uygulamalı bilgileri mühendislik çözümleri için kullanır.
|
|
|
|
|
4 |
|
BECERİLER |
Bilişsel |
|
Program Yeterlilikleri/Çıktıları |
Katkı Düzeyi |
0 |
1 |
2 |
3 |
4 |
5 |
1 |
Bir sistemin bileşenlerini ya da sistemdeki süreçleri analiz eder ve gereksinimler doğrultusunda gerçekçi kısıtlar altında bir bilgisayar modeli tasarlar.
|
|
|
|
|
4 |
|
2 |
Belirli bir kavramsal modeli bilgisayar ortamında modern yöntemlerle tasarlar.
|
|
|
|
|
4 |
|
BECERİLER |
Uygulamalı |
|
Program Yeterlilikleri/Çıktıları |
Katkı Düzeyi |
0 |
1 |
2 |
3 |
4 |
5 |
1 |
Bilgisayar Mühendisliği alanında var olan uygulama alanlarını analiz eder, değerlendirir ve bunların çözümüne yönelik uygulama geliştirir.
|
|
|
2 |
|
|
|
2 |
Bilgisayar Mühendisliği alanında yer alan konulara uygun analitik yöntemler ve modelleme tekniklerini seçer ve uygular.
|
|
|
|
|
4 |
|
3 |
Mühendislik uygulamaları için gerekli olan modern teknik ve araçları seçer ve bilişim teknolojilerini etkin olarak kullanır.
|
|
|
2 |
|
|
|
YETKİNLİKLER |
Bağımsız Çalışabilme ve Sorumluluk Alabilme Yetkinliği |
|
Program Yeterlilikleri/Çıktıları |
Katkı Düzeyi |
0 |
1 |
2 |
3 |
4 |
5 |
1 |
Deney tasarlama, deney yapma, veri toplama, sonuçları analiz etme ve değerlendirme bilincine ve sorumluluğuna sahiptir.
|
|
|
2 |
|
|
|
2 |
Bireysel olarak etkin çalışmalar yürütebilir.
|
|
|
2 |
|
|
|
3 |
Bir ekip içerisinde etkin çalışabilme becerisi gösterir ve sorumluluk alır.
|
|
|
2 |
|
|
|
YETKİNLİKLER |
Öğrenme Yetkinliği |
|
Program Yeterlilikleri/Çıktıları |
Katkı Düzeyi |
0 |
1 |
2 |
3 |
4 |
5 |
1 |
Bilişim Teknolojilerinin yönetim, denetim, gelişim ve güvenliği/güvenilirliği hakkında bilgi sahibidir ve bilim ve teknolojideki gelişmeleri internet ve dergi aracılığı ile takip edebilir ve kendini sürekli yenileyebilir.
|
|
|
|
3 |
|
|
2 |
Yaşam boyu öğrenmenin gerekliliği bilincine sahiptir.
|
|
|
|
3 |
|
|
YETKİNLİKLER |
İletişim ve Sosyal Yetkinlik |
|
Program Yeterlilikleri/Çıktıları |
Katkı Düzeyi |
0 |
1 |
2 |
3 |
4 |
5 |
1 |
Bir problemi sözlü ya da yazılı ifade edebilir ve etkin iletişim kurabilir ve en az bir yabancı dil bilgisine sahiptir.
|
|
|
|
3 |
|
|
2 |
Proje yönetimi, işyeri uygulamaları, çalışanların sağlığı, çevre ve iş güvenliği konularında bilinçlidir.
|
|
|
|
3 |
|
|
YETKİNLİKLER |
Alana Özgü Yetkinlik |
|
Program Yeterlilikleri/Çıktıları |
Katkı Düzeyi |
0 |
1 |
2 |
3 |
4 |
5 |
1 |
Mesleki ve etik sorumluluk bilincine ve toplumda bu sorumluluğu yayma bilincine sahiptir.
|
|
|
|
3 |
|
|
2 |
Mühendislik çözümlerinin ve uygulamalarının evrensel ve toplumsal boyutlardaki etkilerinin bilincindedir, girişimcilik ve yenilikçilik konularının öneminin farkındadır.
|
|
|
|
3 |
|
|
DERSİN İŞ YÜKÜ VE AKTS KREDİSİ |
Öğrenme-Öğretme Etkinlikleri İş Yükü |
Öğrenme-Öğretme Etkinlikleri |
Etkinlik(hafta sayısı) |
Süresi(saat sayısı) |
Toplam İş Yükü |
Ders |
14 |
3 |
42 |
Derse Ön Hazırlık ve Ders Sonrası Pekiştirme |
14 |
3 |
42 |
Arazi Çalışması |
0 |
0 |
0 |
Grup Çalışması / Ödevi |
0 |
0 |
0 |
Laboratuvar |
0 |
0 |
0 |
Okuma |
0 |
0 |
0 |
Ödev |
2 |
2 |
4 |
Proje Hazırlama |
0 |
0 |
0 |
Seminer |
0 |
0 |
0 |
Staj |
0 |
0 |
0 |
Teknik Gezi |
0 |
0 |
0 |
Web Tab. Öğrenme |
0 |
0 |
0 |
Uygulama |
0 |
0 |
0 |
Yerinde Uygulama |
0 |
0 |
0 |
Mesleki Faaliyet |
0 |
0 |
0 |
Sosyal Faaliyet |
0 |
0 |
0 |
Tez Hazırlama |
0 |
0 |
0 |
Alan Çalışması |
0 |
0 |
0 |
Rapor Yazma |
0 |
0 |
0 |
Final Sınavı |
1 |
1 |
1 |
Final Sınavı Hazırlığı |
14 |
3 |
42 |
Ara Sınav |
1 |
1 |
1 |
Ara Sınav Hazırlığı |
7 |
2 |
14 |
Kısa Sınav |
2 |
1 |
2 |
Kısa Sınav Hazırlığı |
2 |
2 |
4 |
TOPLAM |
57 |
0 |
152 |
|
Genel Toplam |
152 |
|
|
Toplam İş Yükü / 25.5 |
6 |
|
|
Dersin AKTS(ECTS) Kredisi |
6,0 |
|