2019-2020 Yılı FB-CPU V1.0 Tasarımı ve Öğrencilerin Hazırladığı Proje Teslim Dosyaları:
Proje kapsamında FB-CPU isminde bir işlemcinin tasarımı ve tasarlanan işlemci üzerinde makine dili ile yazılan çeşitli kod parçacıkları yazılacaktır. Proje sonunda basit bir işlemcideki RAM, Kontrol Ünitesi ve Saklayıcıların bir arada çalışıp, makine dilindeki kod parçacıklarını nasıl yürütebildiği gözlemlenecektir.
Bu ders ile bilgisayar sistemleri dünyasına giriş yapılmaktadır. Bilgisayarların nasıl tasarlandıkları, nasıl uygulandıkları, en düşük seviyelerde nasıl programlandıkları ve tüm sistemin nasıl bir araya geldiği gösterilmektedir. Yüksek seviyeli diller (C, C++, vb..) ile programlarınızı yazdığınızda, yazdığınız kodun düşük düzeyli işlemlere nasıl dönüştüğü ve koşturulduğu hakkında bilgi edinilecektir. Ders; Sayı sistemleri ve boole cebiri, mantık kapıları, birleşik devrelerin tasarımı ve basitleştirilmesi, kod çözücüler, çoklayıcılar, toplayıcılar, sıralı mantık ve saklayıcılar, assembly diline giriş konularından oluşmaktadır.
Ders Saatleri (Teorik + Lab)
Pazartesi 13.00-17.00
Öğretim Elemanları ve Ofis Saatleri
Dr. Öğr. Üyesi Vecdi Emre Levent, Ofis 311 – Pazartesi 17.00-18.00, Salı 16.00-17.00
Logic and Computer Design Fundamentals,M. Mano and C. R. Kime, Prentice Hall (2008).
Introduction to Computing Systems From bits and gates to C and beyond, Yale Patt, Sanjay Patel-McGraw-Hill (2005).
The Elements of Computing Systems: Building a Modern Computer from First Principles, Noam Nisan, Shimon Schocken, MIT Press (2005)
Aşağıdaki Youtube oynatma listelerinide takip edebilirsiniz.
Bit, Byte, Veri Türleri
Kombinasyonel Devreler
Ardışık Devreler:
Vonn Neumann Mimarisi
LC-3 ve Assembly
Kesmeler
Yazılımlar
Yok
Dersler
Dersin haftalık 2 saat teorik, 2 saat laboratuvar bölümü bulunmaktadır. Öğretim üyesi tarafından verilen ders materyallerinin ders öncesi incelenip, ders sonrasında ise tekrar edilmesi beklenmektedir.
Öğrenim Çıktıları
Bilgisayar sistemlerinde soyutlamanın rolünü ve önemini anlamak
Basit kombinasyonel mantık devresi tasarımında, standart dijital bileşenleri kullanabilmek
Dijital mantık kullanarak sonlu durum makinesini (FSM) bir saat senkron sıralı devre olarak tasarlayıp uygulayabilmek
Assembly dilini kullanarak basit bir FSM tasarlayabilmek
Assembly ile uygulama geliştirebilmek
Quizler
Dönem içerisinde iki adet quiz yapılacaktır. 30 dk süre verilecektir. Quiz tarihi bir hafta önceden duyurulacaktır.
Notlandırma
Derslere %80 oranında devam zorunludur.
Dönem notu; vize, lablar, ödevler, proje ve final sınavı ile belirlenecektir. Değerlendirme yüzdeleri aşağıdaki tabloda verilmiştir.
Faaliyetler
Oranlar
Vize
%15
Ödev/Quiz
%10
Lab
%15
Proje
%40
Final
%20
Bonus
5 Puan’a kadar
Ödev ve quizlerin teslim saati üzerinden her geçen saat için 5 puan kesilecektir.
Dönem sonu notunun karşılık geldiği ağırlık ve harf notu aşağıdaki tabloda verilmiştir.
Dönem Notu
Ağırlık
Harf Notu
90-100
4.00
AA
85-89
3.50
BA
80-84
3.00
BB
75-79
2.50
CB
65-74
2.00
CC
50-64
1.50
DC
45-49
1.00
DD
0 -44
0
FF
Beklenen Efor
Öğrencinin dönem içinde göstermesi beklenen efor tablosu aşağıda verilmiştir.
İçerik
Saat
Kaç Defa
Ara Toplam
Derse Hazırlık
2
14
28
Ders Tekrarı
2
14
28
Ödev
4
6
24
Proje
48
1
48
Sınıf Dersi
4
14
56
Ara Sınav ve Final
24
2
48
Öğrenciler dersten başarılı olmak için dönem boyunca ortalama 232 saat harcamaları beklenmektedir.
Verilecek her bir ödev için test girişi ve beklenen çıkışlar paylaşılacaktır. Ancak ödev kontrolü yapılırken sizinle paylaşılmamış başka test durumları da denenecektir. Çalışma zamanı, beklenenden çok uzun süren kodlar yanlış olarak değerlendirilebilir.
Teori
Kod, istenen algoritmanın tasarımı olmalıdır. En optimum çözüm beklenmemektedir. Ancak bellek ve çalışma zamanı beklenenden çok fazla olmamalıdır.
Yazılı Ödevler
Ödev kendi el yazınız ile yazılmalıdır. Ödev cevap kağıtının üzerinde, dersin adı, öğrenci adı ve soyadı, öğrenci numarası ve tarih bulunmalıdır.
Akademik Dürüstlük
Ödevin amacı, ders hakkında derinlemesine araştırma yapmayı öğrenmek ve pratik bilgiler kazanmayı sağlamaktır. Verilen ödevler hakkında, diğer öğrenciler ile birlikte çalışma teşvik edilmektedir. Çalışma grubu oluşturan öğrenciler, kendi başına çalışan öğrencilere göre sınavlarda daha başarılı olmaktadırlar.
Ancak bir ödevi çözmek için başkaları ile birlikte çalışsanız bile, her bir sorunun çözümünü yardım almadan kendiniz yapmalısınız. Çözümünüzü bir araştırma yolu ile elde ederseniz (örn. bir internet araması), çözümü kendi cümle ve/veya kodunuz ile ifade etmelisiniz. Çözümü sözlü olarak sorulduğunda, öğrencinin açıklayabilmesi beklenmektedir.
Verilen ödev bir kod ise, kendinizin yazması gerekmektedir. Hata ayıklamada başkalarından yardım alabilirsiniz. Kodda intihal tespiti için manuel ve otomatik mekanizmalar kullanılacaktır. İntihal, sınav içi kopya ve benzeri davranışlar disiplin yönetmeliğine göre cezalandırılır.
Bu dersin amacı, ileri seviye nesneye yönelimli programlama konseptlerini Python dili aracılığı ile aktarılmasıdır. Konular arasında sınıflar, kalıtım, çok biçimlilik, istisna idaresi, decorator, veri yapıları, tasarım kalıpları, test ve eş zamanlılık bulunur.
Ders Saatleri (Teorik + Lab)
Cuma 14.00-18.00
Öğretim Elemanları ve Ofis Saatleri
Dr. Öğr. Üyesi Vecdi Emre Levent, Ofis 311 – Salı 16.00-17.00
Arş. Gör. Uğur Özbalkan, Ofis 311 – Salı 16.00-17.00
Ön Gereksinimler
Yok
Yardımcı Kaynaklar
Dersin referans kaynakları aşağıda listelenmektedir.
Python dili ile geliştirilecek olan uygulamalar, Visual Studio Community kullanılarak yürütülecektir.
Dersler
Dersin haftalık 2 saat teorik, 2 saat laboratuvar bölümü bulunmaktadır. Öğretim üyesi tarafından verilen ders materyallerinin ders öncesi incelenip, ders sonrasında ise tekrar edilmesi beklenmektedir.
Öğrenim Çıktıları
Nesneye yönelik tasarım kavramlarını (kalıtım, polimorfizm ve bilgi gizleme) anlamak
Python dili ile yazılmış uygulama ve sınıf kütüphanesi içeren projeler geliştirebilmek
İleri seviye yazılım kalıpları konseptleri kullanılması
Performans yönelik yazılım geliştirme süreçlerinin anlaşılması
Quizler
Dönem içerisinde iki adet quiz yapılacaktır. 30 dk süre verilecektir. Quiz tarihi bir hafta önceden duyurulacaktır.
Notlandırma
Derslere %80 oranında devam zorunludur.
Dönem notu; vize, lablar, ödevler, proje ve final sınavı ile belirlenecektir. Değerlendirme yüzdeleri aşağıdaki tabloda verilmiştir.
Faaliyetler
Oranlar
Vize
%20
Ödev/Quiz
%10
Lab
%15
Proje
%25
Final
%30
Bonus
5 Puan’a kadar
Ödev ve quizlerin teslim saati üzerinden her geçen saat için 5 puan kesilecektir.
Dönem sonu notunun karşılık geldiği ağırlık ve harf notu aşağıdaki tabloda verilmiştir.
Dönem Notu
Ağırlık
Harf Notu
90-100
4.00
AA
85-89
3.50
BA
80-84
3.00
BB
75-79
2.50
CB
65-74
2.00
CC
50-64
1.50
DC
45-49
1.00
DD
0 -44
0
FF
Beklenen Efor
Öğrencinin dönem içinde göstermesi beklenen efor tablosu aşağıda verilmiştir.
İçerik
Saat
Kaç Defa
Ara Toplam
Derse Hazırlık
2
14
28
Ders Tekrarı
2
14
28
Ödev
4
6
24
Proje
48
1
48
Sınıf Dersi
4
14
56
Ara Sınav ve Final
3
2
6
Öğrenciler dersten başarılı olmak için dönem boyunca ortalama 190 saat harcamaları beklenmektedir.
Verilecek her bir ödev için test girişi ve beklenen çıkışlar paylaşılacaktır. Ancak ödev kontrolü yapılırken sizinle paylaşılmamış başka test durumları da denenecektir. Çalışma zamanı, beklenenden çok uzun süren kodlar yanlış olarak değerlendirilebilir.
Teori
Kod, istenen algoritmanın tasarımı olmalıdır. En optimum çözüm beklenmemektedir. Ancak bellek ve çalışma zamanı beklenenden çok fazla olmamalıdır.
Yazılı Ödevler
Ödev kendi el yazınız ile yazılmalıdır. Ödev cevap kağıtının üzerinde, dersin adı, öğrenci adı ve soyadı, öğrenci numarası ve tarih bulunmalıdır.
Akademik Dürüstlük
Ödevin amacı, ders hakkında derinlemesine araştırma yapmayı öğrenmek ve pratik bilgiler kazanmayı sağlamaktır. Verilen ödevler hakkında, diğer öğrenciler ile birlikte çalışma teşvik edilmektedir. Çalışma grubu oluşturan öğrenciler, kendi başına çalışan öğrencilere göre sınavlarda daha başarılı olmaktadırlar.
Ancak bir ödevi çözmek için başkaları ile birlikte çalışsanız bile, her bir sorunun çözümünü yardım almadan kendiniz yapmalısınız. Çözümünüzü bir araştırma yolu ile elde ederseniz (örn. bir internet araması), çözümü kendi cümle ve/veya kodunuz ile ifade etmelisiniz. Çözümü sözlü olarak sorulduğunda, öğrencinin açıklayabilmesi beklenmektedir.
Verilen ödev bir kod ise, kendinizin yazması gerekmektedir. Hata ayıklamada başkalarından yardım alabilirsiniz. Kodda intihal tespiti için manuel ve otomatik mekanizmalar kullanılacaktır. İntihal, sınav içi kopya ve benzeri davranışlar disiplin yönetmeliğine göre cezalandırılır.