BİL716 - EVRİMSEL HESAPLAMA

Dersin Adı Kodu Yarıyılı Teori
(saat/hafta)
Uygulama
(saat/hafta)
Yerel Kredi AKTS
EVRİMSEL HESAPLAMA BİL716 Herhangi Yarıyıl/Yıl 3 0 3 8
Önkoşul(lar)-var ise
Dersin DiliTürkçe
Dersin TürüSeçmeli 
Dersin verilme şekliYüz yüze 
Dersin öğrenme ve öğretme teknikleriAnlatım
Tartışma
Rapor Hazırlama ve/veya Sunma
Sorun/Problem Çözme
Proje Tasarımı/Yönetimi
 
Dersin sorumlusu(ları)Bölüm Sorumluları (bbm-bologna@cs.hacettepe.edu.tr) 
Dersin amacıBu ders, doğal evrim sistemleri ve bu sistemlerden esinlenerek ortaya çıkan evrimsel hesaplama teknikleri, algoritmaları ve uygulamalarının öğrenilmesini hedefler. Bu alandaki hem teorik, hem de pratik bilginin edilmesini amaçlar.  
Dersin öğrenme çıktıları
  1. öğrenciler varolan evrimsel algoritmalar ve temelleri hakkında bilgi sahibi olacaktır
  2. Bu algoritmaların davranışları ve uygulamaları hakkında bilgi sahibi olacak ve bu alanda bir proje gerçekleştirmiş olacaklardır
  3. bu alandaki yeni çalışmaları takip edecek ve bu çalışmalardan birkaçını sunarak sunum tekniklerini geliştireceklerdir.
Dersin içeriğiEvrimsel algoritmalar, Eş-Evrim, Çoklu Optimizasyon. 
KaynaklarIntroduction to Evolutionary Computing, A. E. Eiben, J. Smith, Springer.
Genetic Programming: An Introduction on the Automatic Evolution of Computer Programs and Its Applications, W. Banzhaf, Morgan Kaufman Publishers.
An Introduction to Genetic Algorithms, M. Mitchell, MIT Press.
Konferans Bildileri ve Makaleler : IEEE Transactions on Evolutionary Computation, GECCO, EureGP, SEAL.
 

Haftalara Göre İşlenecek Konular

HaftalarKonular
1. HaftaEvrimsel Hesaplamaya Giriş
2. HaftaEvrimsel Algoritmaların Bileşenleri
3. HaftaGenetik Algoritmalar
4. HaftaGenetik Programlama
5. HaftaGramatiksel Evrim
6. HaftaEvrim Stratejileri
7. HaftaŞema Teoremi
8. HaftaEvrimsel Algoritmalarda Parametre Kontrolu
9. HaftaEş-Evrim
10. HaftaEvrimsel Hesaplamada Çoklu Optimizasyon
11. HaftaEvrimsel Hesaplamada İleri Konular
12. HaftaEvrimsel Hesaplama Uygulamaları
13. HaftaEvrimsel Hesaplama Uygulamaları
14. HaftaProje Sunumları
15. HaftaGenel Sınava Hazırlık
16. HaftaGenel sınav

Değerlendirme Sistemi

Yarıyıl içi çalışmalarıSayısıKatkı Payı %
Devam (a)00
Laboratuar00
Uygulama00
Alan Çalışması00
Derse Özgü Staj (Varsa) 00
Ödevler00
Sunum220
Projeler130
Seminer00
Ara Sınavlar00
Genel sınav150
Toplam100
Yarıyıl İçi Çalışmalarının Başarı Notuna Katkısı350
Yarıyıl Sonu Sınavının Başarı Notuna Katkısı150
Toplam100

AKTS (Öğrenci İş Yükü) Tablosu

Etkinlikler Sayısı Süresi Toplam İş Yükü
Ders Süresi 14 3 42
Laboratuvar 0 0 0
Uygulama000
Derse özgü staj (varsa)000
Alan Çalışması000
Sınıf Dışı Ders Çalışma Süresi (Ön Çalışma, pekiştirme, vb)13452
Sunum / Seminer Hazırlama21020
Proje19696
Ödevler000
Ara sınavlara hazırlanma süresi000
Genel sınava hazırlanma süresi13030
Toplam İş Yükü31143240

Dersin Öğrenme Çıktılarının Program Yeterlilikleri İle İlişkilendirilmesi

D.9. Program YeterlilikleriKatkı Düzeyi*
12345
1. Mezunlar, Bilgi Yığını (Bilgisayar Bilimleri kapsamındaki tüm temel alanlar) ile tanımlanan Bilgisayar Bilimleri alanına hakim olmalıdır.  X  
2. Mezunlar, soyutlama, karmaşıklık ve evrimsel değişim gibi sıkça adı geçen konular ve ortak kaynak, güvenlik ve paralellik gibi genel ilkeler hakkında bir anlayışa sahip olmalıdır. Mezunlar, bu konular ve ilkelerin bilgisayar bilimleri alanında geniş bir uygulama alanına sahip olduğunun farkında olmalı ve bunların sadece tanıtıldıkları alanlarla ilgili olmadığını da göz önünde bulundurmalıdır.   X 
3. Bilgisayar Bilimlerindeki temel bir husus teori ve pratiğin karşılıklı etkileşimine dair anlayış ve onlar arasındaki esas bağlantılardır. Bilgisayar Bilimlerinden mezun olanlar teori ve pratiğin nasıl birbirini etkilediğini anlamak durumundadır.    X
4. Bilgisayar Bilimlerinden mezun olanlar detay ve soyutlamanın farklı düzeylerinde düşünmelidir. Bu anlayış, bilgisayar sistemlerinin yapısını ve onların kurulumunda ve analizinde izlenen süreçlerin değerini anlamak için çeşitli bileşenlerin detaylarının gerçekleştirilmesinde etkin olmalıdır. Mezunlar, bir bilgisayar sisteminin, insanlar ve fiziksel dünyayı da kapsayacak şekilde hangi ortamda işlevsel olabileceğinin farkında olmalıdır.    X
5. Mezunlar, sadece kod yazma ve bitlerle oynama değil, aynı zamanda edindikleri bilgi birikimini araştırmalarındaki gerçek problemleri çözmede de kullanabilmelidir. Mezunlar herhangi bir teknik veya bilimsel problemleri kendi başlarına çözebilmeli ve her türlü problem için başka çözüm önerileri getirebilmelidir. Verilen bir problemin birden fazla çözümünün olduğunun ve bu çözümler arasından birini seçmenin yalnızca teknik bir eylem olmadığının, çünkü bu çözümlerin insanların hayatlarında gerçek bi    X
6. Mezunların edindikleri bilgi birikimini başarılı bir şekilde uyguladıklarından emin olmak için, bütün mezunlar en az bir kapsamlı projede yer almalıdır. Çoğu durumda, bu deneyim bir yazılım geliştirme projesi olacaktır, ancak diğer deneyimler de özel durumlarda uygundur. Bunun gibi projeler öğrencileri birleştirici olmaya teşvik etmeli, potansiyel çözümlerin hesaplamalarını gerektirmeli ve tipik ders projelerine göre daha geniş ölçekli çalışmalar yapmalarını gerektirmelidir. Öğrenciler, proje de    X
7. Bilgisayar Bilimleri mezunları, hesaplama alanının çok hızlı bir şekilde geliştiğinin farkında olmalıdır. Belirli diller ve teknoloji platformları zaman içinde değişebilir. Bu nedenle, mezunlar öğrenmeye devam etmeleri ve becerilerini de bu yönde geliştirmeleri gerektiğinin farkında olmalıdır. Bu beceriyi geliştirmek için, öğrenciler eğitimleri boyunca temel öncelikli ilkelerin yanında çeşitli programlama dillerine, araçlara ve teknolojilere maruz bırakılmalıdır. Mezunlar araştırmalarına devam e    X
8. Mezunlar, bilgisayar teknolojisinin kurulumu ve kullanımında sosyal, yasal, etik ve kültürel hususların farkında olmalıdır. Bu hususlara kişisel ve profesyonel ilkelerle güdümlenmiş olarak bilinçli bir perspektiften yanıt vermelilerdir. Aynı zamanda sosyal, yasal ve etik standartların uluslar arası olarak değiştiğinin farkında olmalıdırlar.    X
9. Mezunlar hem İngilizce hem de Türkçe dillerinde teknik terimlere vakıf olmalıdır. Teknik problemler ve çözümleri hakkında çeşitli dinleyici gruplarına kısa ve öz sunum yapma becerileri olmalıdır. Bu, yüz yüze, yazılı veya elektronik iletişimi içerebilir (Türkçe ve İngilizce'de). Takım üyeleri halinde etkili bir şekilde çalışmaya hazırlıklı olmalıdırlar. Mezunlar, tamamlama zamanını, öncelikleri ve ilerlemeyi de göz önünde bulundurarak kendi öğrenme ve gelişimlerini yönetebilmelidir.   X 
10. Platformlar, gömülü mikro-sensörlerden yüksek performanslı öbeklere ve dağıtık bulutlara kadar değişebilir. Bilgisayar uygulamaları modern yaşamın neredeyse bütün yönleri üzerinde etkilidir. Mezunlar hesaplamada var olan bütün imkanlar üzerinde bir anlayışa sahip olmalıdır.    X
11. Mezunlar, hesaplamanın birçok farklı alanla etkileşim içerisinde olduğunu anlamalıdır. Birçok problem için çözümler hem hesaplama becerileri hem de alan bilgisi gerektirir. Bu nedenle, mezunlar kariyerleri boyunca farklı alanlardaki uzmanlarla iletişim kurmalı ve onlardan öğrenmelidir.    X
12. Mezunlar, uzman düzeyinde gerekli olan bilgi birikimlerini geliştirmeli ve bilimsel yöntemleri bilimsel problemleri çözmek için kullanabilmelidir. Mezunlar özgün araştırma tanımlayabilmeli ve yürütebilmelidir.    X
13. Mezunlar, bilgisayar bilimlerinde verilecek bir dersin planını yapabilmeli ve dersi verebilmelidir.    X

*1 En düşük, 2 Düşük, 3 Orta, 4 Yüksek, 5 Çok yüksek