Bu dersin amacı öğrencilerin programlama yeteneklerini temel algoritmaların, gerçeklemelerinin ve hesapsal problemlere uygulamalarının incelenmesi yoluyla geliştirmektir.
1. Nesneye Yönelik Programlama
1.1. Class, Instance
1.2. Base class, sub class, super class
1.3. Statik fonksiyon, alan, sınıf
1.4. Abstract fonksiyon, sınıf
1.5. Referans davranışı, Değer davranışı, sığ/derin kopyalama
2. Karakter Dizisi Algoritmaları
2.1. KArakter dizilerinde arama
2.2. En uzun ortak alt dizi
3.1..Özyineleme
3.2. Stack
3.3. Depth First Search (DFS) Derinlik öncelikli gezinme/arama
4.1. Queue
4.2. Beadth First Search (BFS) Genişlik öncelikli gezinme/arama
5.1. Ağaçlar
5.1.1 Ağaçların inşası
5.1.2. Ağaçlarda arama/gezinme
6. Çizgeler
6.1. Çizgelerin İnşası
6.2. Çizgelerde arama/gezinme
6.3. Çizge Algoritmaları (Shortest-path, All pairs shortest path, Djikstra's algorithm)
--bir problem verildiğinde, öğrenciler problemin mantıksal bileşenlerini ve bunların arasındaki ilişkileri ayırt edebilecek ve her biri için hangi algoritmaları kullanabileceğini belirleyebilecek.
--bir algoritma verildiğinde, öğrenciler bunun performansını ve karakteristiklerini aynı türden diğer algoritmalar ile karşılaştırabiliyor olacak.
--bir kaynak kodu verildiğinde, öğrenciler bunun içinde gerçeklenmiş olan veri yapılarını ve algoritmaları ayırt edip, belirleyebilecek.
teorik ders, ödev
The Art of Computer Programming, Addison-Wesley, Donald Knuth
Algorithms, 4th Ed. Robert Sedgewick
| Hafta | Konu Başlıkları |
|---|---|
| 1 | Karakter Dizisi Algoritmaları (karakter dizisinde arama,en uzun ortak altdizi) |
| 2 | Karakter Dizisi Algoritmaları (edit mesafesi: Levenstein Distance) |
| 3 | Nesneye Yönelik Programlama (Class, Instance, Base class, sub class, super class) |
| 4 | Nesneye Yönelik Programlama (Statik fonksiyon/alan/sınıf, Abstract fonksiyon/sınıf) |
| 5 | Referans davranışı, değer davranışı, sığ/derin kopyalama (shallow/deep copy) |
| 6 | 1.Arasınav |
| 7 | Ağaçlar, Ağaçların Nesneler ile inşası |
| 8 | Ağaçlarda arama/gezinme |
| 9 | Çizgeler, çizgelerin nesneler ile inşası |
| 10 | Çizgelerde döngü arama |
| 11 | 2. Arasınav |
| 12 | Çizgelerin matris temsili, matris ve nesneler şeklinde temsiller arasında dönüşüm |
| 13 | Çizgelerde arama/gezinme |
| 14 | Çizge algoritmaları (shortest path, all pairs shortest path, Djikstra's algorithm) |
| Etkinlikler | Sayı | Katkı Payı |
|---|---|---|
| Yarıyıl içi çalışmaların başarı notuna katkısı | 2 | 40 |
| Yarıyıl sonu çalışmaların başarı notuna katkısı | 1 | 60 |
| Toplam | 3 | 100 |
| Etkinlikler | Sayı | Katkı Payı |
|---|---|---|
| Ödevler | 0 | 0 |
| Sunum | 0 | 0 |
| Arasınavlar (Hazırlık Süresi Dahil) | 2 | 40 |
| Proje | 0 | 0 |
| Laboratuar | 0 | 0 |
| Diğer Uygulamalar | 0 | 0 |
| Kısa Sınavlar | 0 | 0 |
| Dönem Ödevi / Projesi | 0 | 0 |
| Portfolyo Çalışmaları | 0 | 0 |
| Raporlar | 0 | 0 |
| Öğrenme Günlükleri | 0 | 0 |
| Bitirme Tezi/Projesi | 0 | 0 |
| Seminer | 0 | 0 |
| Diğer | 0 | 0 |
| Toplam | 2 | 40 |
| Etkinlikler | Sayı | Süre | Toplam İş Yükü |
|---|---|---|---|
| Ders Süresi | 14 | 3 | 42 |
| Sınıf Dışı Çalışma Süresi | 14 | 3 | 42 |
| Ödevler | 14 | 1 | 14 |
| Arasınavlar (Hazırlık Süresi Dahil) | 1 | 10 | 10 |
| Yarıyıl Sonu Sınavı (Hazırlık Süresi Dahil) | 1 | 20 | 20 |
| Toplam İş Yükü | 128 | ||
| Toplam İş Yükü / 25 | 5.12 | ||
| Dersin AKTS Kredisi | 5 | ||