BİLGİSAYAR PROGRAMCILIĞI | |||||
---|---|---|---|---|---|
Kazanılan Yeterlilik | Program Süresi | Toplam Kredi (AKTS) | Öğretim Şekli | Yeterliliğin Düzeyi ve Öğrenme Alanı | |
ÖNLİSANS DERECESİ | 2 | 120 | ÖRGÜN |
TYÇ, TYYÇ, EQF-LLL, ISCED (2011):5. Düzey QF-EHEA:Kısa Düzey TYYÇ, ISCED (1997-2013): 48,52 |
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 | ||||||||||
Ders İçin Önerilen Diğer Hususlar: | |||||||||||
Dersin Türü: | Zorunlu | ||||||||||
Dersin Seviyesi: |
|
||||||||||
Dersin Veriliş Şekli: | Yüz yüze | ||||||||||
Dersin Koordinatörü: | Öğr.Gör. Ayşenur ÖZTÜRK | ||||||||||
Dersi Veren(ler): |
|
||||||||||
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. 3. Açıklamalı Algoritma Örnek Soruları ve Çözümleri, Deniz Mertkan Gezgin, Paradigma Akademi, 2012. |
Diğer Kaynaklar: | 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. Açıklamalı Algoritma Örnek Soruları ve Çözümleri, Deniz Mertkan Gezgin, Paradigma Akademi, 2012. |
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 |