BİLGİSAYAR PROGRAMCILIĞI | |||||
Önlisans | TYYÇ: 5. Düzey | QF-EHEA: Kısa Düzey | EQF-LLL: 5. Düzey |
Ders Kodu: | 2000121004 | ||||||||
Ders İsmi: | Algoritma Tasarımı | ||||||||
Ders Yarıyılı: | Bahar | ||||||||
Ders Kredileri: |
|
||||||||
Öğretim Dili: | TR | ||||||||
Ders Koşulu: | |||||||||
Ders İş Deneyimini Gerektiriyor mu?: | Hayır | ||||||||
Dersin Türü: | Zorunlu | ||||||||
Dersin Seviyesi: |
|
||||||||
Dersin Veriliş Şekli: | Yüz yüze | ||||||||
Dersin Koordinatörü: | Öğr.Gör. Yasemin GÜNTER | ||||||||
Dersi Veren(ler): |
Öğr.Gör. Yasemin GÜNTER |
||||||||
Dersin Yardımcıları: |
Dersin Amacı: | Dersin amacı, karmaşık problemlerin çözümü için algoritma tasarım yaklaşımlarının öğrenilmesi ve uygulanmasıdır. Dersin hedefleri; algoritma geliştirme yaklaşımlarının bilinmesi, gelişmiş veri yapılarının kullanılabilmesi, matris algoritmalarının uygulanabilmesi ve yeni bir problemin çözümü için yeni bir algoritmanın tasarlanabilmesidir. |
Dersin İçeriği: | Asimptotik notasyonlar, recurrence yöntemleri, algoritma geliştirme yaklaşımları, hash tabloları, red-black ağaçları, dinamik programlama, greedy algoritmalar, matris algoritmaları, doğrusal programlama, sayı teorisi algoritmaları, string algoritmaları, NP-Completeness. |
Bu dersi başarıyla tamamlayabilen öğrenciler;
|
Hafta | Konu | Ön Hazırlık |
1) | Öğrencilerle tanışma ve dersin içeriğini anlatma | 1.Introduction to The Design and Analysis of Algorithms, Anany Levitin, Pearson ,3 RD Edition. 2. Algoritmalar ve Programlama, Burcu Yılmazel, Sevcan Yılmaz Gündüz, Alper Kürşat Uysal, Anadolu Üniversitesi Yayınları,2016. |
2) | Algoritma Nedir? Algoritmaların Temel Özellikleri, Algoritma Gösterim Yöntemleri | 1.Introduction to The Design and Analysis of Algorithms, Anany Levitin, Pearson ,3 RD Edition. 2. Algoritmalar ve Programlama, Burcu Yılmazel, Sevcan Yılmaz Gündüz, Alper Kürşat Uysal, Anadolu Üniversitesi Yayınları,2016. |
3) | Algoritmaların Sınıflandırılması, Veri Yapıları | 1.Introduction to The Design and Analysis of Algorithms, Anany Levitin, Pearson ,3 RD Edition. 2. Algoritmalar ve Programlama, Burcu Yılmazel, Sevcan Yılmaz Gündüz, Alper Kürşat Uysal, Anadolu Üniversitesi Yayınları,2016. |
4) | Diziler, Bağlı Listeler, Kuyruklar ve Yığınlar | 1.Introduction to The Design and Analysis of Algorithms, Anany Levitin, Pearson ,3 RD Edition. 2. Algoritmalar ve Programlama, Burcu Yılmazel, Sevcan Yılmaz Gündüz, Alper Kürşat Uysal, Anadolu Üniversitesi Yayınları,2016. |
5) | Ağaçlar, İkili Ağaçlar, İkili Ağaçlarda Gezinme Yöntemleri | 1.Introduction to The Design and Analysis of Algorithms, Anany Levitin, Pearson ,3 RD Edition. 2. Algoritmalar ve Programlama, Burcu Yılmazel, Sevcan Yılmaz Gündüz, Alper Kürşat Uysal, Anadolu Üniversitesi Yayınları,2016. |
6) | İkili Arama Ağaçları, AVL Ağaçları, Yığın Ağaçları | 1.Introduction to The Design and Analysis of Algorithms, Anany Levitin, Pearson ,3 RD Edition. 2. Algoritmalar ve Programlama, Burcu Yılmazel, Sevcan Yılmaz Gündüz, Alper Kürşat Uysal, Anadolu Üniversitesi Yayınları,2016. |
7) | Özetleme (Hash) Tabloları | 1.Introduction to The Design and Analysis of Algorithms, Anany Levitin, Pearson ,3 RD Edition. 2. Algoritmalar ve Programlama, Burcu Yılmazel, Sevcan Yılmaz Gündüz, Alper Kürşat Uysal, Anadolu Üniversitesi Yayınları,2016. |
8) | Ara Sınav-1 | |
9) | Algoritma İle Problem Çözme, Algoritma Tasarlama Teknikleri | 1.Introduction to The Design and Analysis of Algorithms, Anany Levitin, Pearson ,3 RD Edition. 2. Algoritmalar ve Programlama, Burcu Yılmazel, Sevcan Yılmaz Gündüz, Alper Kürşat Uysal, Anadolu Üniversitesi Yayınları,2016. |
10) | Döngü- Tekrarlama Algoritmaları, Küçült- Fethet Yöntemi Algoritmaları, Özyinelemeli Fonksiyon Algoritmaları ve Böl-Fethet Yöntemi Algoritmaları | 1.Introduction to The Design and Analysis of Algorithms, Anany Levitin, Pearson ,3 RD Edition. 2. Algoritmalar ve Programlama, Burcu Yılmazel, Sevcan Yılmaz Gündüz, Alper Kürşat Uysal, Anadolu Üniversitesi Yayınları,2016. |
11) | Algoritma Analizi | 1.Introduction to The Design and Analysis of Algorithms, Anany Levitin, Pearson ,3 RD Edition. 2. Algoritmalar ve Programlama, Burcu Yılmazel, Sevcan Yılmaz Gündüz, Alper Kürşat Uysal, Anadolu Üniversitesi Yayınları,2016. |
12) | Ara Sınav-2 | |
13) | Arama Algoritmaları, Ardışık Arama, İkili Arama ve Arama Algoritmalarının Karşılaştırılması | 1.Introduction to The Design and Analysis of Algorithms, Anany Levitin, Pearson ,3 RD Edition. 2. Algoritmalar ve Programlama, Burcu Yılmazel, Sevcan Yılmaz Gündüz, Alper Kürşat Uysal, Anadolu Üniversitesi Yayınları,2016. |
14) | Sıralama Algoritmaları, Sıralama Algoritmalarının Özellikleri | 1.Introduction to The Design and Analysis of Algorithms, Anany Levitin, Pearson ,3 RD Edition. 2. Algoritmalar ve Programlama, Burcu Yılmazel, Sevcan Yılmaz Gündüz, Alper Kürşat Uysal, Anadolu Üniversitesi Yayınları,2016. |
15) | Çizge Algoritmaları | 1.Introduction to The Design and Analysis of Algorithms, Anany Levitin, Pearson ,3 RD Edition. 2. Algoritmalar ve Programlama, Burcu Yılmazel, Sevcan Yılmaz Gündüz, Alper Kürşat Uysal, Anadolu Üniversitesi Yayınları,2016. |
16) | Final Sınavı |
Ders Notları / Kitaplar: | 1.Introduction to The Design and Analysis of Algorithms, Anany Levitin, Pearson ,3 RD Edition. 2. Algoritmalar ve Programlama, Burcu Yılmazel, Sevcan Yılmaz Gündüz, Alper Kürşat Uysal, Anadolu Üniversitesi Yayınları,2016. |
Diğer Kaynaklar: | 1.Introduction to The Design and Analysis of Algorithms, Anany Levitin, Pearson ,3 RD Edition. 2. Algorithms and Programming Burcu Yılmazel, Sevcan Yılmaz Gündüz, Alper Kürşat Uysal, Anadolu University Publications,2016. |
Ders Öğrenme Kazanımları | 1 |
2 |
3 |
4 |
5 |
6 |
---|---|---|---|---|---|---|
Program Kazanımları | ||||||
1) Matematik, fen bilimleri ve hesaplama alanlarındaki bilgi birikimini yazılım sistemlerini geliştirme ve bilgisayar programlama ile ilgili problemlerinin çözümüne uygulama becerisine sahip olmak. | ||||||
2) Yazılım sistemlerini geliştirme ve bilgisayar programlama alanına özgü sorunları analiz etme ve modelleme, çözümleri için uygun yazılım gereksinimlerini belirleme ve tanımlama becerisine sahip olmak. | ||||||
3) Belirlenen gereksinimleri karşılayacak yazılım sistemini, sistem parçasını, işlemi veya programı tasarlama, geliştirme ve değerlendirme becerisine sahip olmak. | ||||||
4) Yazılım sistemlerini geliştirme ve bilgisayar programlama uygulamaları için modern teknik ve programlama araçlarını kullanma becerisine sahip olmak. | ||||||
5) Yazılım sistemlerini geliştirme ve bilgisayar programlama disiplini ve disiplinler arası takımlarda veya bireysel olarak etkin biçimde çalışabilmek için gerekli iş yeteneklerini ortaya koyabilme becerisine sahip olmak. | ||||||
6) Yazılım sistemlerini geliştirme ve bilgisayar programlarının analiz, tasarım, uygulama, doğrulama, geçerleme ve bakım süreçlerini uygulayarak geliştirilmesindeki yaklaşımları uygulama becerisine sahip olmak. | ||||||
7) Yazılım ve bilgisayar programlama alanında mesleki, hukuksal, etik ve sosyal sorunlar hakkında farkındalık ve sorumluluk bilincine sahip olmak. |
Etkisi Yok | 1 En Düşük | 2 Düşük | 3 Orta | 4 Yüksek | 5 En Yüksek |
Dersin Program Kazanımlarına Etkisi | Katkı Payı | |
1) | Matematik, fen bilimleri ve hesaplama alanlarındaki bilgi birikimini yazılım sistemlerini geliştirme ve bilgisayar programlama ile ilgili problemlerinin çözümüne uygulama becerisine sahip olmak. | 4 |
2) | Yazılım sistemlerini geliştirme ve bilgisayar programlama alanına özgü sorunları analiz etme ve modelleme, çözümleri için uygun yazılım gereksinimlerini belirleme ve tanımlama becerisine sahip olmak. | 5 |
3) | Belirlenen gereksinimleri karşılayacak yazılım sistemini, sistem parçasını, işlemi veya programı tasarlama, geliştirme ve değerlendirme becerisine sahip olmak. | 5 |
4) | Yazılım sistemlerini geliştirme ve bilgisayar programlama uygulamaları için modern teknik ve programlama araçlarını kullanma becerisine sahip olmak. | 4 |
5) | Yazılım sistemlerini geliştirme ve bilgisayar programlama disiplini ve disiplinler arası takımlarda veya bireysel olarak etkin biçimde çalışabilmek için gerekli iş yeteneklerini ortaya koyabilme becerisine sahip olmak. | 4 |
6) | Yazılım sistemlerini geliştirme ve bilgisayar programlarının analiz, tasarım, uygulama, doğrulama, geçerleme ve bakım süreçlerini uygulayarak geliştirilmesindeki yaklaşımları uygulama becerisine sahip olmak. | 3 |
7) | Yazılım ve bilgisayar programlama alanında mesleki, hukuksal, etik ve sosyal sorunlar hakkında farkındalık ve sorumluluk bilincine sahip olmak. | 2 |
Anlatım | |
Beyin fırtınası /Altı şapka | |
Ders | |
Grup çalışması ve ödevi | |
Laboratuvar | |
Okuma | |
Ödev | |
Problem Çözme | |
Proje Hazırlama | |
Rapor Yazma | |
Seminer | |
Örnek olay çalışması | |
Web Tabanlı Öğrenme |
Yazılı Sınav (Açık uçlu sorular, çoktan seçmeli, doğru yanlış, eşleştirme, boşluk doldurma, sıralama) | |
Ödev | |
Uygulama | |
Grup Projesi | |
Sunum | |
Raporlama |
Yarıyıl İçi Çalışmaları | Aktivite Sayısı | Katkı Payı |
Ara Sınavlar | 1 | % 40 |
Yarıyıl/Yıl Sonu Sınavı | 1 | % 60 |
Toplam | % 100 | |
YARIYIL İÇİ ÇALIŞMALARININ BAŞARI NOTU KATKISI | % 40 | |
YARIYIL SONU ÇALIŞMALARININ BAŞARI NOTUNA KATKISI | % 60 | |
Toplam | % 100 |
Aktiviteler | Aktivite Sayısı | Süre (Saat) | İş Yükü |
Ders Saati | 14 | 2 | 28 |
Sınıf Dışı Ders Çalışması | 4 | 15 | 60 |
Ara Sınavlar | 1 | 10 | 10 |
Final | 1 | 10 | 10 |
Toplam İş Yükü | 108 |