BİLGİSAYAR MÜHENDİSLİĞİ
Lisans TYYÇ: 6. Düzey QF-EHEA: 1. Düzey EQF-LLL: 6. Düzey

Ders Genel Tanıtım Bilgileri

Ders Kodu: 1410321002
Ders İsmi: Sistem Programlama
Ders Yarıyılı: Bahar
Ders Kredileri:
Teorik Pratik Kredi AKTS
3 0 3 4
Öğretim Dili: TR
Ders Koşulu:
Ders İş Deneyimini Gerektiriyor mu?: Hayır
Dersin Türü: Zorunlu
Dersin Seviyesi:
Lisans TYYÇ:6. Düzey QF-EHEA:1. Düzey EQF-LLL:6. Düzey
Dersin Veriliş Şekli: Yüz yüze
Dersin Koordinatörü: Dr.Öğr.Üyesi Recep DURANAY
Dersi Veren(ler): Doç. Dr. Fatih KOÇAN
Dersin Yardımcıları:

Dersin Amaç ve İçeriği

Dersin Amacı: Nesnesel tasarımın temel prensiplerini öğretmek.
Dersin İçeriği: Ders, UNIX'in genel yapısını tanıtmakla başlar ve UNIX'in çekirdeğini kaplayan Kabuk (Shell) katmanını kullanmayla devam eder. Daha sonra C ile alt düzey programlama ve büyük proje geliştirme öğrenilir. Devamında temel sistem programlama konuları anlatılır ve programlanır: Process (işlem), Pipes(Boru hattı), Signals (İşaretler), Soketler (Sockets),Concurrency (eşzamanlılık), ve Threads (İşlemcikler).

Öğrenme Kazanımları

Bu dersi başarıyla tamamlayabilen öğrenciler;
Öğrenme Kazanımları
1 - Bilgi
Kuramsal - Olgusal
1) İleri C dilini öğrenir
2 - Beceriler
Bilişsel - Uygulamalı
1) UNIX/LINUX yazılım geliştirme ortmanı öğrenir
3 - Yetkinlikler
İletişim ve Sosyal Yetkinlik
Öğrenme Yetkinliği
1) Sistem programlama (İşlemler, Boru hattı, İşaretler, Soketler, İşlemcikler, Seçme, Eşzamanlılık) öğrenir
Alana Özgü Yetkinlik
1) Shell (Kabuk) kullanmayı ve programlamayı öğrenir
Bağımsız Çalışabilme ve Sorumluluk Alabilme Yetkinliği

Ders Akış Planı

Hafta Konu Ön Hazırlık
1) Takdim, UNIX gözden geçirme ve UNIX kütükleri Shell kitapları
2) Kabuk programlama - I UNIX System Programming 2/e Keith Haviland, Dina Gray, Ben Salama C Programming : A modern approach 2/e K. N. King Shell üzerine kitaplar
3) Kabuk programlama - II Shell kitapları
4) Kabuk gözden geçirme Shell kitapları
5) C'ye giriş, göstergeler ve stringler King'in kitabı
6) C yapıları, kütükler, sistem çağrıları King'in kitabı
7) İleri C konuları King'in kitabı
8) ARASINAV King'in kitabı
9) İşlemler (processes) -I Haviland'ın kitabı
10) İşlemler (processes) -II Haviland'ın kitabı
11) Boru hattı (Pipes) Haviland'ın kitabı
12) İşaretler (Signals) Haviland'ın kitabı
13) Soketler (Sockets) Haviland'ın kitabı
14) Eşzamanlılık (Concurrency) Haviland'ın kitabı
15) İşlemcikler (Threads) Haviland'ın kitabı
16) Final UNIX System Programming 2/e Keith Haviland, Dina Gray, Ben Salama C Programming : A modern approach 2/e K. N. King Shell üzerine kitaplar

Kaynaklar

Ders Notları / Kitaplar: UNIX System Programming 2/e Keith Haviland, Dina Gray, Ben Salama
C Programming : A modern approach 2/e K. N. King
Shell üzerine kitaplar
Diğer Kaynaklar: UNIX System Programming 2/e Keith Haviland, Dina Gray, Ben Salama
C Programming : A modern approach 2/e K. N. King
Shell üzerine kitaplar

Ders - Program Öğrenme Kazanım İlişkisi

Ders Öğrenme Kazanımları

1

2

3

4

Program Kazanımları
1) PÇ 1.1) Matematik, fen bilimleri ve bilgisayar mühendisliği konularında yeterli bilgi birikimi
2) PÇ 1.2) Matematik, fen bilimleri ve bilgisayar mühendisliği konularında kuramsal ve uygulamalı bilgileri mühendislik problemlerini modelleme ve çözme için uygulayabilme becerisi.
3) PÇ 2.1) Karmaşık mühendislik problemlerini saptama
4) PÇ 2.2) Karmaşık mühendislik problemlerini tanımlama
5) PÇ 2.3) Karmaşık mühendislik problemlerini formüle etme
6) PÇ 2.4) Karmaşık mühendislik problemlerini çözme becerisi
7) PÇ 2.5) Uygun analiz ve modelleme yöntemlerini seçme ve uygulama becerisi
8) PÇ 3.1) 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
9) PÇ 3.2) Karmaşık bir sistemi, süreci, cihazı veya ürünü gerçekçi kısıtlar ve koşullar altında modern tasarım yöntemlerini uygulama becerisi
10) PÇ 4.1) 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
11) PÇ 4.2) Mühendislik uygulamalarında karşılaşılan karmaşık problemlerin analizi ve çözümü için gerekli olan modern teknik ve araçları seçme ve kullanma becerisi
12) PÇ 4.3) Bilişim teknolojilerini etkin bir şekilde kullanma becerisi.
13) PÇ 5.1) Karmaşık mühendislik problemlerinin veya disipline özgü araştırma konularının incelenmesi deney tasarlama
14) PÇ 5.2) Karmaşık mühendislik problemlerinin veya disipline özgü araştırma konularının incelenmesi deney yapma,
15) PÇ 5.3 ) Karmaşık mühendislik problemlerinin veya disipline özgü araştırma konularının incelenmesi veri toplama
16) PÇ 5.4) Karmaşık mühendislik problemlerinin veya disipline özgü araştırma konularının incelenmesi sonuçları analiz etme
17) PÇ 5.5) Karmaşık mühendislik problemlerinin veya disipline özgü araştırma konularının incelenmesi yorumlama becerisi

Ders - Öğrenme Kazanımı İlişkisi

Etkisi Yok 1 En Düşük 2 Düşük 3 Orta 4 Yüksek 5 En Yüksek
           
Dersin Program Kazanımlarına Etkisi Katkı Payı
1) PÇ 1.1) Matematik, fen bilimleri ve bilgisayar mühendisliği konularında yeterli bilgi birikimi
2) PÇ 1.2) Matematik, fen bilimleri ve bilgisayar mühendisliği konularında kuramsal ve uygulamalı bilgileri mühendislik problemlerini modelleme ve çözme için uygulayabilme becerisi.
3) PÇ 2.1) Karmaşık mühendislik problemlerini saptama 4
4) PÇ 2.2) Karmaşık mühendislik problemlerini tanımlama
5) PÇ 2.3) Karmaşık mühendislik problemlerini formüle etme
6) PÇ 2.4) Karmaşık mühendislik problemlerini çözme becerisi
7) PÇ 2.5) Uygun analiz ve modelleme yöntemlerini seçme ve uygulama becerisi
8) PÇ 3.1) 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
9) PÇ 3.2) Karmaşık bir sistemi, süreci, cihazı veya ürünü gerçekçi kısıtlar ve koşullar altında modern tasarım yöntemlerini uygulama becerisi
10) PÇ 4.1) 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
11) PÇ 4.2) Mühendislik uygulamalarında karşılaşılan karmaşık problemlerin analizi ve çözümü için gerekli olan modern teknik ve araçları seçme ve kullanma becerisi
12) PÇ 4.3) Bilişim teknolojilerini etkin bir şekilde kullanma becerisi.
13) PÇ 5.1) Karmaşık mühendislik problemlerinin veya disipline özgü araştırma konularının incelenmesi deney tasarlama
14) PÇ 5.2) Karmaşık mühendislik problemlerinin veya disipline özgü araştırma konularının incelenmesi deney yapma,
15) PÇ 5.3 ) Karmaşık mühendislik problemlerinin veya disipline özgü araştırma konularının incelenmesi veri toplama
16) PÇ 5.4) Karmaşık mühendislik problemlerinin veya disipline özgü araştırma konularının incelenmesi sonuçları analiz etme
17) PÇ 5.5) Karmaşık mühendislik problemlerinin veya disipline özgü araştırma konularının incelenmesi yorumlama becerisi

Öğrenme Etkinliği ve Öğretme Yöntemleri

Alan Çalışması
Proje Hazırlama

Ölçme ve Değerlendirme Yöntemleri ve Kriterleri

Ölçme ve Değerlendirme

Yarıyıl İçi Çalışmaları Aktivite Sayısı Katkı Payı
Ödev 1 % 25
Ara Sınavlar 1 % 25
Yarıyıl/Yıl Sonu Sınavı 1 % 50
Toplam % 100
YARIYIL İÇİ ÇALIŞMALARININ BAŞARI NOTU KATKISI % 50
YARIYIL SONU ÇALIŞMALARININ BAŞARI NOTUNA KATKISI % 50
Toplam % 100

İş Yükü ve AKTS Kredisi Hesaplaması

Aktiviteler Aktivite Sayısı Süre (Saat) İş Yükü
Ders Saati 14 3 42
Laboratuvar 14 2 28
Sınıf Dışı Ders Çalışması 14 3 42
Ödevler 10 1 10
Ara Sınavlar 1 2 2
Final 1 3 3
Toplam İş Yükü 127