Mühendislik ve Doğa Bilimleri Fakültesi · Bilgisayar Mühendisliği · Lisans
Dersin Amacı
Bu dersin amacı, öğrencilere algoritmaların tasarlanması, doğruluğunun değerlendirilmesi ve çalışma verimliliğinin analiz edilmesi konusunda temel bilgi ve beceriler kazandırmaktır. Ders kapsamında zaman ve bellek karmaşıklığı, asimptotik notasyonlar, arama ve sıralama algoritmaları, özyinelemeli algoritmalar, açgözlü algoritmalar, böl ve fethet yaklaşımı, dinamik programlama ve graf algoritmaları gibi temel konular ele alınarak öğrencilerin farklı problemlere uygun algoritmaları seçebilmesi, karşılaştırabilmesi ve performans açısından değerlendirebilmesi hedeflenmektedir.
Ders İçeriği
Algoritma kavramı ve algoritma analizi, asimptotik gösterimler (Big-O, Θ, Ω), zaman ve alan karmaşıklığı analizi, sıralama algoritmaları ve karmaşıklıklarının incelenmesi, arama algoritmaları ve en iyi-ortalama-en kötü durum analizleri, ikili ağaç tabanlı algoritmaların zaman karmaşıklığı, grafik temsilleri ve graf tabanlı algoritmalar (BFS, DFS, en kısa yol ve minimum kapsayan ağaç algoritmaları), açgözlü (greedy) algoritma yaklaşımı ve uygulamaları.
Zorunlu Kaynaklar
•Kevin Wayne, Robert Sedgewick. Algoritmalar. Nobel, 2018
•Introduction to the Design and Analysis of Algorithms (3rd Edition) by Anany Levitin, 2011
•Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein. Introduction to Algorithms. (3rd Edition) 2008.
•Robert Sedgewick, Philippe Flajolet. An Introduction to the Analysis of Algorithms. (2nd Edition) 2013.
Kurallar
1. Yönetmeliğe göre bir öğrenci toplam ders saatinin en az % 70’ine devam etmemesi halinde derse devamsızlıktan kalır ve (DZ) notu ile başarısız olur. Bu “tolerans” sebepsiz harcanabilir bir hakkı değil, hayatın olağan akışı içinde karşılaşılan yaşamsal sorunlarda dersin hemen kaybedilmemesi için getirilmiş bir tedbirdir. Bu toleransın aşılması durumunda hiçbir istisna yoktur, rapor kabul edilmez. Bir ders yükünün yüzde 30’undan daha fazlasında olunmaması halinde, o ders kazanımlarının elde edilemeyeceği kabul edilir. Gelişim ancak varlıkta olan bir mevhum olup yokluğunuzda bu, mümkün görülmemektedir.
2. Dersi alttan alıp devamsızlıktan kalmamış olmak, derse devam edilmemesi gerektiği olarak yorumlanmamalıdır. Bir eksiklik ve sorun vardır ki ders tekrar alınmaktadır. Bu olumsuzluğun ancak derse ciddiyetle katılım ile giderilebileceğini anımsayınız.
3. Sorumluluklarını önemseyip ihmal etmemek, çalışmak ve gayret göstermek, işinde doğru ve dürüst tutum sergilemek mühendislikte “teknik borçsuzluk” olarak ifade edilmekle, öğrenciliğinizle ilgili teknik borcunuzun bulunmasının, ders başarısızlığınızın nedeni olacağını ve bunun sorumluluğunun sizde olduğunu unutmayınız.
4. Dersi derste öğrenmek ve bunun için istekli olmak, ders öncesinde hazırlıklı olmak, dersin sorularla açılmasına katkı sunmak; akademik faydanın artışı için önemlidir. Derste soru sormaktan, ders gündemi hakkında fikir beyan etmekten çekinmemelisiniz. Böyle davranmanız, ders kazanımları kadar kişisel gelişiminize de önemli katkı sunar, özgüven ve kendinizi ifade edebilme gücünüzü artırır.
5. Daha fazla açıklama gerektiren sorularınızda, merakınızı ve sorularınızı gidermek için akademik görüşme saatlerinde görüşebilirsiniz.
6. Dersi, sizde oluşması istenen mühendislik binasının bir tuğlası olarak görünüz ve onun eksik, zayıf kalmasına izin vermeyiniz ki bina da sağlam olabilsin. Bu nedenle konuları ve anlamadıklarınızı biriktirmeyiniz, sıcağı sıcağına yanıtlarını arayınız.
7. Eğitimin, doğal zekanın gelişimi için olduğunu unutmayınız. Yapay zekayı kendinizle ikame etmeyiniz, çıktılarını kendi çıktılarınız gibi sunmayınız. Etik yönü bir yana, bu kendinize yapacağınız en büyük kötülük, gelişmenizin önüne kendi elinizle öreceğiniz bir duvar olur. Hiçbir aracı kendiniz yerine koymamanız, sizden beklenmektedir.
8. Tüm sınavlarda, yoklamalarda ve çalışmalarınızda etik kurallara uyunuz. Değerli yapınızı her durumda korumanız ve etik kuralların dışına çıkmamanız, her şeyden önemlidir ve eğitimin temelini oluşturur. Aksi davranışlar, en büyük zararı sahibine vermekle, üniversitemizin ilgili yönetmeliği gereği cezai soruşturmaya konu edilir.
9. Derslere mutlaka defter, kalem gibi gereksinimleriniz tam olarak geliniz. Beyninizin bu hazırlığınızın varlığına göre derste karşılacaklarına önem atfedeceğini, ya sindireceğini ya hemen unutacağını anımsayınız.
10. Derste notlarınızı alınız. Başkalarının notları, yaptıkları hataları da size taşıyacağından; başkalarından not almayınız. Ders defterinizi, yazarı siz olan bir el yazması kitap olarak görünüz ve kıymet veriniz. Not almak, beyninizin anlama sürecine olağanüstü katkı sağlayan, karmaşık ve çok yönlü bir bilişsel etkinliktir; bundan kendinizi mahrum bırakmayınız.
11. Ders içinde spontane quizler, derse fiili katılımınız, söz alışlarınız “derse katılım ve ders içi ölçme” puanı olarak değerlendirilecektir.
12. Yoklamada var gibi gözükmek için derse sadece fiziken gelmeyiniz, ruhunuzu da derse getiriniz ve konsantre olunuz. Arka sıraları mümkün olduğunca seçmeyip dersin merkezinde olmaya gayret ediniz. Dersin interaktif yürümesinin, sizin katılımınıza bağlı olduğunu unutmayınız.
13. Derslerde her türlü ders dışı telefon, tablet, bilgisayar ile uğraşıda bulunmak; kabul edilir değildir. Bu durum olumsuz değerlendirilir. Ders anında dersten kopuk halde, özellikle arka sıralardaki gruplaşmalı konuşmalar da aynı sınıfta kabul edilir. Sınıf içi huzuru ve konsantrasyonu bu etkilere yönelik uyarılara duyarsız kalındığında, öğrenci dersin dışına davet edilir.
14. Sınav tarihleri tabloda ilan edildiği gibidir. Sınavların konuları makul bir süre öncesinde ilan edilecektir. İZÜ yönetmeliklerine göre kabul edilen mazeretler çerçevesinde girilmeyen sınavlar için telafi sınavı verilecektir.
15. Final sınavı bütün dönem boyu işlenmiş olan konuları kapsar. Final sınav günü, saati ve yeri Dekanlık tarafından ilan edilecektir.
16. Derse geç gelmeyiniz. Özellikle ilk 10 dakikadan sonra, ders konsantrasyonunu bozmamanız için sınıfa giriş yapmayınız, bir sonraki oturumu bekleyiniz. 10 dakika içinde sınıfa girdiğinizde, ders konsantrasyonunu bozucu giriş şekillerinden ve gürültü yapmaktan kaçınınız. Geç gelmeyi alışkanlık haline getirmeyiniz; bu, olumsuz kanaat nedenidir.
17. Güncel ders içeriği dışındaki konularda görüşmek için ders “teneffüs” aralarını kullanmayınız. Bu eğiliminiz başkasının teneffüs hakkını elinden almak anlamına geldiğini ve zarar verici olduğunu unutmayınız. Görüşmenin maliyetine katlanınız ve görüşme saatlerinde randevu alarak konuyu görüşünüz.
Dersin Öğrenme Çıktıları
- Graf tabanlı algoritmaları uygular.
- Açgözlü (Greedy) algoritma yaklaşımını tanımlar.
- Algoritma ve algoritma analizi kavramlarını tanımlar.
- Algoritmaların zaman karmaşıklığını hesaplar.
- Algoritmaların alan karmaşıklığını hesaplar.
- Sıralama algoritmalarının zaman karmaşıklığını analiz eder.
- Arama algoritmalarının en iyi, ortalama ve en kötü durum karmaşıklıklarını hesaplar.
- Arama algoritmalarının en iyi, ortalama ve en kötü durum karmaşıklıklarını hesaplar.
Temel Alan Dağılımı
Öğretim Yöntem ve Teknikleri
Ölçme ve Değerlendirme
AKTS / İş Yükü
| Etkinlik | Sayı | Süre (saat) | Toplam İş Yükü |
|---|---|---|---|
| Ders Süresi (Sınav Haftası Dahil) | 15 | 3 | 45 |
| Sınıf Dışı Ders Çalışma Süresi | 15 | 4 | 60 |
| Ara Sınav | 1 | 2 | 2 |
| Kısa Sınav | 0 | 0 | 0 |
| Ödev | 2 | 4 | 8 |
| Uygulama | 10 | 2 | 20 |
| Final | 1 | 2 | 2 |
Ders Akışı
| Hafta | Konu | Ön Hazırlık |
|---|---|---|
| 1 | Algoritma Analizine Giriş | Ders notari |
| 2 | Algoritmaların Analizi | Ders notlari |
| 3 | Algoritma Analizi (Yinelemeli İlişkileri Çözme) | Ders notlari |
| 4 | Üretken işlevler, bölme ve egemenlik yöntemleri | Ders notlari |
| 5 | Sıralama ve analiz etme | Ders notlari |
| 6 | En küçük k sayıyı + dinamik programlama yöntemini | Ders notlari |
| 7 | Dinamik programlama | Ders notlari |
| 8 | Ara Sınav | Ara Sınav |
| 9 | En uzun Ortak Sıra (dinamik programlama) | ders notları |
| 10 | Açgözlü Algoritmalar | Ders notlari |
| 11 | Açgözlü Algoritmalar | Ders notlari |
| 12 | Açgözlü Algoritmalar (Huffman Kodlaması) | Ders notlari |
| 13 | Geri İzleme Algoritmaları, Dal ve Sınır Algoritmaları ve grafiklerin temel tanımları | Ders notlari |
| 14 | Grafikleri gösterin ve aralarında gezinin + Topolojik Sıralama ve Güçlü Bağlantılı Bileşenler | Ders notlari |
| 15 | Grafteki En Kısa Yolları Bulma+ İki köşe arasındaki en kısa yolu bulun+ Minimumu kapsayan ağacı bulma | Ders notlari |
| 16 | Final Sınavı | Final Sınavı |


