DERS BİLGİLERİ
Ders Kodu Yarıyıl Ders Süresi Kredi AKTS
Computer Systems from The Programmer's Perspective CEN   434 8 3 3 6

Ön Koşul Dersleri
Ders Hakkında Önerilen Diğer Hususlar None

Dersin Dili İngilizce
Dersin Seviyesi Lisans
Dersin Türü Seçmeli
Dersin Koordinatörü Dr. Öğr. Üyesi Serkan KARTAL
Dersi Verenler
 
Dersin Yardımcıları
Dersin Amacı
Bu dersin amacı, tüm bilgisayar sistemlerinin altında yatan önemli ve kalıcı kavramları açıklamak ve bu fikirlerin uygulama programlarının doğruluğunu, performansını ve faydasını etkilemesinin somut yollarını göstermektir.
Dersin İçeriği
Bu kurs, bir programıcın gözünden bilgisayar sistemlerinin programları nasıl çalıştırdığını, bilgiyi nasıl sakladığını ve programların nasıl haberleştiğini sunar. Öğrencilerin özellikle performans, taşınabilirlik ve sağlamlık açısından daha etkili kod geliştirebilen programcılar olmalarını sağlar.Ders; performans değerlendirme ve optimizasyon, bilgisayar aritmetiği, bellek organizasyonu ve yönetimi, ağ teknolojisi ve protokolleri ve eşzamanlı hesaplamayı destekleme konularını kapsamaktadır.

Dersin Öğrenme Kazanımları
1) Sayısal değerlerin (işaretsiz, ikinin tümleyeni ve kayan noktalı) bit düzeyinde gösterimlerini, aritmetik ve bit seviyesinde yapılan matematiksel işlemlerin özelliklerini açıklar.
2) Yetersiz bellek ve CPU performansı, çökmeler ve güvenlik açıkları gibi kusurlu sistem kullanımının sonuçlarını analiz eder
3) Proses ve iş parçacığı kontrolü, sanal bellek ve ağ için sistem desteği de dahil olmak üzere programcıların altta çalışan sistemle etkileşimlerini araştırır.
4)
5)
6)
7)
8)
9)
10)
11)
12)
13)
14)
15)


DERSİN PROGRAM KAZANIMLARINA KATKISI
NoTemel öğrenme KazanımlarıKatkı Düzeyi
12345
1
1. Matematik, fen bilimleri ve bilgisayarla ilgili mühendislik konularında yeterli altyapıya sahip olma; bu alanlardaki kuramsal bilgileri beraber kullanabilme
2
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
3
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
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
5
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
6
Bireysel olarak ve disiplin içi/çok disiplinli takımlarda etkin çalışabilme becerisi, sorumluluk alma ve özgüven
7
Bilgiye erişebilme, kaynak araştırması yapabilme ve bilgi kaynaklarını kullanabilme becerisi
8
Yaşam boyu öğrenmenin gerekliliği bilinci; bilim ve teknolojideki gelişmeleri izleme ve kendini sürekli yenileme becerisi
9
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
10
Mesleki ve etik sorumluluk bilinci; mühendislik uygulamalarında kullanılan standartlar hakkında bilgi
11
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
12
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

DERS AKIŞI
HaftaKonularÖn Hazırlık Yöntem
1 Bilgilerin Temsili ve Değiştirilmesi Ders notlarının okunması
2 Tamsayıların Temsili ve Kayan Noktalı Sayılar Ders notlarının okunması
3 C Programlarının Makine Düzeyinde Gösterimi Ders notlarının okunması
4 Program Performansını Optimize Etme Ders notlarının okunması
5 Modern İşlemcileri Anlamak Ders notlarının okunması
6 Bellek Hiyerarşisi Ders notlarının okunması
7 Önbellekler Ders notlarının okunması
8 Ara Sınav Ders notlarının okunması
9 Bağlama ve Yükleme Ders notlarının okunması
10 İstisnai Kontrol Akışı Ders notlarının okunması
11 Program Yürütme Zamanını Ölçme Ders notlarının okunması
12 Sanal bellek Ders notlarının okunması
13 İplikler ile Eşzamanlı Programlama Ders notlarının okunması
14 Ağ Programlama Ders notlarının okunması
15 Hata işleme Ders notlarının okunması
16-17 Yarıyıl Sonu Sınavları Ders notlarının okunması

KAYNAKLAR
Ders Notu
Diğer Kaynaklar