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 | |||||||
---|---|---|---|---|---|---|---|
No | Temel öğrenme Kazanımları | Katkı Düzeyi | |||||
1 | 2 | 3 | 4 | 5 | |||
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 | |||
---|---|---|---|
Hafta | Konular | Ö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 |