Author: EmreLevent
Syllabus
| Hafta | Konu | Tarih |
|---|---|---|
| 1 | Giriş | |
| 2 | Mantık Kapıları ve Aritmetiği | |
| 3 | Kombinasyonel ve Ardışık Devreler | |
| 4 | Sonlu Durum Makinaları | |
| 5 | Bellekler | |
| 6 | RISC-V İşlemcisi | |
| 7 | Pipelining ve Performans | |
| 8 | Vize | Sınav Haftası |
| 9 | RISC-V İşlemci Tasarımı | |
| 10 | Resmi Tatil | |
| 11 | RISC, CISC ISA ve Çağrılmalar, Assembler, Linker ve Loader’lar | |
| 12 | Cache’ler | |
| 13 | Virtual Memory, Sistem Çağrıları ve Interrupt’lar | |
| 14 | Paralelizm, Çok Çekirdek ve Senkronizasyon | |
| 15 | Final | Sınav Haftası |
Detailed Course Description
Ders Açıklaması
Bu ders temel mantık kapıları, kombinasyonel ve ardışık devreler, sonlu durum makinaları, bellekler, RISC-V işlemci komut seti, pipelining ve performans, RISC, CISC, ISA, assembler, linker, loader, cache’ler, sanal bellek, interruptlar, paralelizm, giriş ve çıkış elemanları konularını içermektedir. Ders kapsamında başlangıç tasarım verilen bir RISC-V işlemcisinin kontrol ve ALU blokları temel SystemVerilog dili özellikleri kullanılarak tasarım ve doğrulama çalışmaları yapılacaktır.
Ders Saatleri (Teorik + Lab)
Cuma 9.00-13.00
Öğretim Elemanları ve Ofis Saatleri
Dr. Öğr. Üyesi Vecdi Emre Levent, Ofis 311 – Cuma 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.
- Computer Organization and Design RISC-V Edition, David A. Patterson, Morgan Kaufmann, 2017
- Digital Design and Computer Architecture: ARM Edition, Sarrah Harris, Morgan Kaufmann, 2015
- Digital Design and Computer Architecture, David Harris, Morgan Kaufmann, 2012
- Modern Computer Architecture and Organization: Learn x86, ARM, and RISC-V architecture, Jim Jedin, Packt Publishing, 2020
Yazılımlar
Xilinx Vivado 2019.1
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ı
- Boruhattı ile Performansa Dayalı Tasarım
- RISC, CISC Mimarileri
- Bilgisayar Organizasyonu
- RISC-V İşlemcisi Tasarımı
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 | 24 | 2 | 48 |
Öğrenciler dersten başarılı olmak için dönem boyunca ortalama 232 saat harcamaları beklenmektedir.
Kodlama Ödevleri
Kodlama ödevlerinin notlandırılması, kodun doğruluğu, kalite ve algoritmik gerçeklemedeki detayları incelenerek yapılacaktır.
Doğruluk
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.
Homeworks
Lecture Notes
Syllabus
| Hafta | Konu | Tarih |
|---|---|---|
| 1 | Giriş | Asenkron |
| 2 | Bilgisayar Temelleri | Asenkron |
| 3 | Yazılım ve İşletim Sistemleri | Asenkron |
| 4 | İnternetin Temelleri | Asenkron |
| 5 | Temel Bilgisayar Güvenliği | Asenkron |
| 6 | Word I | Asenkron |
| 7 | Word II | Asenkron |
| 8 | Vize | Sınav Haftası |
| 9 | Word III | Asenkron |
| 10 | Excel I | Asenkron |
| 11 | Excel II | Asenkron |
| 12 | Excel III | Asenkron |
| 13 | PowerPoint I | Asenkron |
| 14 | PointPoint II | Asenkron |
| 15 | Final | Sınav Haftası |
Ders Açıklaması
Bu derste öğrenciye, bilgisayarın temel donanım birimlerinin ve işletim sistemlerinin tanıtılması, internet kullanımı hakkında bilgi verilmesi ve ofis programlarını (Word, Excel, Powerpoint) kullanarak bilgisayarda doküman, elektronik tablo ve sunum hazırlamak için gerekli olan temel bilgi ve becerilerin kazandırılması amaçlanmaktadır.
Ders Saatleri (Teorik + Lab)
Asenkron
Ön Gereksinimler
Yok
Yardımcı Kaynaklar
Dersin referans kaynakları aşağıda listelenmektedir.
• Bilgisayara Giriş ve Office 2007, Kriter Basım Yayın Dağıtım
• Temel Bilgisayar Eğitimi, Tugay Arat, Nesip Ergül, Eğitim Kitabevi Yayınevi
• Bilgisayara Giriş, Becit İşçitürk, PEGEM Akademi
• Computer Concepts, Illustrated Series, 9th Edition, (2013). J. Jamrich Parsons, & D. Oja, Course Technology, Boston, MA.
• Microsoft Office 2013 Fundamentals – Illustrated Series, (2014), M. Hunt, B. Clemens, Course Technology, Cengage Learning, Boston, MA.
Yazılımlar
Microsoft Office (Word, Excel, Powerpoint) yazılımı kullanılacaktır.
Dersler
Dersler asenkron olarak yürütülecektir.
Öğrenim Çıktıları
- Donanım ve yazılımların çalışması hakkında bilgi sahibi olur
- Bilgisayar ve çevre bileşen donanımlarını tanır
- İşletim sistemi, internet, ofis uygulamaları kullanmayı öğrenir
- Dijital ortamda sunum hazırlama becerisi kazanır
- İletişim teknolojileri hakkında bilgi edinir
Notlandırma
Dönem notu; vize, ödevler ve final sınavı ile belirlenecektir. Değerlendirme yüzdeleri aşağıdaki tabloda verilmiştir.
| Faaliyetler | Oranlar |
|---|---|
| Vize | %30 |
| Ödev | %20 |
| Final | %50 |
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 |
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.
Information Technologies
Course Description: Bu derste öğrenciye, bilgisayarın temel donanım birimlerinin ve işletim sistemlerinin tanıtılması, internet kullanımı hakkında bilgi verilmesi ve ofis programlarını (Word, Excel, Powerpoint) kullanarak bilgisayarda doküman, elektronik tablo ve sunum hazırlamak için gerekli olan temel bilgi ve becerilerin kazandırılması amaçlanmaktadır.
Advanced Computer Architecture
Course Description: Bu ders temel mantık kapıları, kombinasyonel ve ardışık devreler, sonlu durum makinaları, bellekler, RISC-V işlemci komut seti, pipelining ve performans, RISC, CISC, ISA, assembler, linker, loader, cache’ler, sanal bellek, interruptlar, paralelizm, giriş ve çıkış elemanları konularını içermektedir. Ders kapsamında başlangıç tasarım verilen bir RISC-V işlemcisinin kontrol ve ALU blokları temel SystemVerilog dili özellikleri kullanılarak tasarım ve doğrulama çalışmaları yapılacaktır.
Final Sample Questions
Decorator
- “Hello” print yapan bir fonksiyon tanımlayınız.
Ekrana aldığı fonksiyonun geriye döndürdüğü string ifadenin tersten yazıp, başına *** ve sonuna — ekleyen bir decorator fonksiyon geliştiriniz.
print yapan fonksiyonu dekoratör fonksiyonu ile dekore ediniz.
Beklenen çıktı ***olleH—
Tasarım Kalıpları
- Tasarım kalıpları kullanmanın avantajları nelerdir?
- Fabrika tasarım kalıbı nasıl çalışır?
- Adapter tasarım kalıbı nasıl çalışır?
- Command tasarım kalıbı nasıl çalışır?
- MVC nedir? Nasıl çalışır?
- Bir dilden başka bir dile çeviri yapan bir uygulama bulunmaktadır. Mevcut olan uygulamaya yeni diller eklenmek isteniyor. 3 elemanlı bir kelime listesi yaratınız. Kelimeleri “Merhaba”, “Güzel”, “Evet” içerikleri ile doldurunuz. Yeni eklenebilecek dillere karşı esnek bir çözüm sağlayacak uygun bir tasarım kalıbı kullanarak uygulama geliştiriniz. Hangi tasarım kalıbının neden kullanıldığını açıklayınız.
Refactoring ve Yazılım Testi
- Kirli ve Temiz Kod nedir?
- Aşağıda verilen kaynak koda refactoring işlemi uygulayınız.

Eş Zamanlılık
- Thread ve Process arasındaki farklar nedir?
- Sequential, Concurrent ve Paralel hesaplama arasındaki farklar nedir?
- Fibonacci sayısını tespit eden bir fonksiyon geliştiriniz. Bu fonksiyonu hem concurrent hemde ardışık olarak 10,11 ve 12 argümanları ile çalıştırıp hesaplama sürelerini gösteren bir uygulama geliştiriniz
