Dersin Adı
|
Algoritma Tasarımı
|
Kodu
|
Yarıyıl
|
Teori
(saat/hafta)
|
Uygulama/Lab
(saat/hafta)
|
Yerel Kredi
|
AKTS
|
CE 401
|
Güz/Bahar
|
3
|
0
|
3
|
5
|
Ön-Koşul(lar)
|
|
CE 221 Başarılı olmak (En az DD notu almış olmak) |
|
Dersin Dili
|
İngilizce
|
Dersin Türü
|
Seçmeli
|
Dersin Düzeyi
|
Lisans
|
Dersin Veriliş Şekli
|
- |
Dersin Öğretim Yöntem ve Teknikleri
|
Problem çözme Anlatım / Sunum
|
Ulusal Meslek Sınıflandırma Kodu
|
-
|
Dersin Koordinatörü
|
|
Öğretim Eleman(lar)ı
|
|
Yardımcı(ları)
|
- |
Dersin Amacı
|
Bu dersin amacı algoritmalara, kullanımlarını motive eden gerçek hayattaki problemlere bakarak tanıtmaktır. Öğrenciler bilgisayar uygulamalarında karşılacakları bir dizi tasarım ve analiz tekniklerini öğreneceklerdir. 'Greedy' algoritmalar, 'Divide & Conquer' tipi algoritmalar ve dinamik programlama farklı örnek uygulamalar ile ele alınacak. Bunların yanı sıra yaklaşım algoritmaları, yük dengeleme ve küme kapsama problemleri aracılığı ile işlenecektir. |
Öğrenme Çıktıları
|
#
|
İçerik
|
PÇ Sub
|
* Katkı Düzeyi
|
1
|
2
|
3
|
4
|
5
|
1 | farklı tip algoritmaları ve kullanım amaçlarını sınıflayabilecektir, | | | | | | | 2 | farklı tip algoritmaların zaman ve uzay karmaşıklıklarını açıklayabilecektir, | | | | | | | 3 | belirli hesaplama problemlerini çözmek üzere verimli “açgözlü” algoritmalar yaratabilecektir, | | | | | | | 4 | belirli hesaplama problemlerini çözmek üzere verimli “böl ve yönet” tipi algoritmalar kodlayabilecektir, | | | | | | | 5 | belirli optimizasyon problemlerini çözmek üzere verimli “dinamik programlama” algoritmaları formüle edebilecektir. | | | | | | |
|
Ders Tanımı
|
Ders temel algoritma analizi, çizge kuramı konsepti, aç gözlü algoritmaları, böl ve yönet algoritmaları, dinamik programlama ve yakınsak algoritmaları kapsar. |
Dersin İlişkili Olduğu Sürdürülebilir Kalkınma Amaçları
|
|
|
Temel Ders |
|
Uzmanlık/Alan Dersleri |
X
|
Destek Dersleri |
|
İletişim ve Yönetim Becerileri Dersleri |
|
Aktarılabilir Beceri Dersleri |
|
HAFTALIK KONULAR VE İLGİLİ ÖN HAZIRLIK ÇALIŞMALARI
Hafta |
Konular |
Ön Hazırlık |
Öğrenme Çıktısı
|
1 |
Introduction: Some Representative Problems |
Course Book; Chapter 1. |
2 |
Basics of Algorithms Analysis |
Course Book; Chapter 2. |
3 |
Graphs |
Course Book; Chapter 3. |
4 |
Greedy Algorithms: Interval Scheduling |
Course Book; Chapter 4. |
5 |
Greedy Algorithms: Scheduling to Minimize Lateness |
Course Book; Chapter 4. |
6 |
Greedy Algorithms : Minimum-Cost |
Course Book; Chapter 4. |
7 |
Divide and Conquer: Counting Inversions |
Course Book; Chapter 5. |
8 |
Ara sınav |
|
9 |
Divide and Conquer: Integer Multiplication |
Course Book; Chapter 5. |
10 |
Divide and Conquer: Convolutions and The Fast Fourier Transform |
Course Book; Chapter 5. |
11 |
Dynamic Programming: Weighted Interval Scheduling |
Course Book; Chapter 6. |
12 |
Dynamic Programming: Subset Sums and Knapsacks |
Course Book; Chapter 6. |
13 |
Dynamic Programming: Sequence Alignment |
Course Book; Chapter 6. |
14 |
Approximation Algorithms: Load Balancing |
Course Book; Chapter 11. |
15 |
Dönemin gözden geçirilmesi |
|
16 |
Final sınavı |
|
Ders Kitabı
|
Algorithm Design, Jon Kleinberg, Éva Tardos, ISBN-10: 0321295358, ISBN-13: 9780321295354, Addison-Wesley, 2005. |
Önerilen Okumalar/Materyaller
|
Algorithms, Cormen, T.H., Liesersan, C.E. and Rivest, R.L. ISBN 0-01-013143-0, McGraw-Hill |
DEĞERLENDİRME ÖLÇÜTLERİ
Yarıyıl Aktiviteleri
|
Sayı |
Katkı Payı % |
LO 1 | LO 2 | LO 3 | LO 4 | LO 5 |
Katılım |
-
|
-
|
Laboratuvar / Uygulama |
-
|
-
|
Arazi Çalışması |
-
|
-
|
Küçük Sınav / Stüdyo Kritiği |
-
|
-
|
Portfolyo |
-
|
-
|
Ödev |
1
|
30
|
Sunum / Jüri Önünde Sunum |
-
|
-
|
Proje |
-
|
-
|
Seminer/Çalıştay |
-
|
-
|
Sözlü Sınav |
-
|
-
|
Ara Sınav |
1
|
30
|
Final Sınavı |
1
|
40
|
Toplam |
3
|
100
|
Yarıyıl İçi Çalışmalarının Başarı Notuna Katkısı |
2
|
60
|
Yarıyıl Sonu Çalışmalarının Başarı Notuna Katkısı |
1
|
40
|
Toplam |
3 |
100 |
AKTS / İŞ YÜKÜ TABLOSU
Yarıyıl Aktiviteleri
|
Sayı |
Süre (Saat) |
İş Yükü |
Teorik Ders Saati (Sınav haftası dahildir: 16 x teorik ders saati) |
16
|
3
|
48
|
Laboratuvar / Uygulama Ders Saati (Sınav haftası dahildir. 16 x uygulama/lab ders saati) |
-
|
-
|
-
|
Sınıf Dışı Ders Çalışması |
14
|
4
|
56
|
Arazi Çalışması |
-
|
-
|
-
|
Küçük Sınav / Stüdyo Kritiği |
-
|
-
|
-
|
Portfolyo |
-
|
-
|
-
|
Ödev |
4
|
5
|
20
|
Sunum / Jüri Önünde Sunum |
-
|
-
|
-
|
Proje |
-
|
-
|
-
|
Seminer/Çalıştay |
-
|
-
|
-
|
Sözlü Sınav |
-
|
-
|
-
|
Ara Sınavlar |
1
|
12
|
12
|
Final Sınavı |
1
|
14
|
14
|
|
|
Toplam |
150
|
DERSİN ÖĞRENME ÇIKTILARININ PROGRAM YETERLİLİKLERİ İLE İLİŞKİSİ
#
|
PÇ Sub |
Program Yeterlilikleri / Çıktıları
|
* Katkı Düzeyi
|
1
|
2
|
3
|
4
|
5
|
1 |
Matematik, Fen Bilimleri ve Bilgisayar Mühendisliği konularında yeterli bilgi sahibidir; bu alanlardaki kuramsal ve uygulamalı bilgileri, karmaşık mühendislik problemlerinde kullanır.
|
-
|
-
|
-
|
X
|
-
|
2 |
Karmaşık Bilgisayar Mühendisliği problemlerini saptar, tanımlar, formüle eder ve çözer; bu amaca uygun analiz ve modelleme yöntemlerini seçer ve uygular.
|
-
|
-
|
-
|
X
|
-
|
3 |
Karmaşık bir sistemi, süreci, cihazı veya ürünü gerçekçi kısıtlar ve koşullar altında, belirli gereksinimleri karşılayacak şekilde tasarlar; bu amaçla modern tasarım yöntemlerini uygular.
|
-
|
-
|
-
|
X
|
-
|
4 |
Bilgisayar Mühendisliği uygulamalarında karşılaşılan karmaşık problemlerin analizi ve çözümü için gerekli olan modern teknik ve araçları geliştirir, seçer ve kullanır; bilişim teknolojilerini etkin bir şekilde kullanır.
|
-
|
-
|
-
|
-
|
-
|
5 |
Karmaşık Bilgisayar Mühendisliği problemlerinin veya araştırma konularının incelenmesi için deney tasarlar, deney yapar, veri toplar, sonuçları analiz eder ve yorumlar.
|
-
|
-
|
-
|
-
|
-
|
6 |
Bilgisayar Mühendisliği disiplini içinde ve çok disiplinli takımlarda etkin biçimde çalışır; bireysel çalışma sergiler.
|
-
|
-
|
-
|
-
|
-
|
7 |
Türkçe sözlü ve yazılı etkin iletişim kurar; etkin rapor yazar ve yazılı raporları anlar, tasarım ve üretim raporları hazırlar, etkin sunum yapar, açık ve anlaşılır talimat verir ve alır.
|
-
|
-
|
-
|
-
|
-
|
8 |
Bilgisayar Mühendisliği uygulamalarının evrensel ve toplumsal boyutlarda sağlık, çevre ve güvenlik üzerindeki etkileri ve çağın mühendislik alanına yansıyan sorunları hakkında bilgi sahibidir; mühendislik çözümlerinin hukuksal sonuçlarının farkındadır.
|
-
|
-
|
-
|
-
|
-
|
9 |
Etik ilkelerine uygun davranma, mesleki ve etik sorumluluk bilincine sahiptir; mühendislik uygulamalarında kullanılan standartlar hakkında bilgi sahibidir.
|
-
|
-
|
-
|
-
|
-
|
10 |
Proje yönetimi, risk yönetimi ve değişiklik yönetimi gibi, iş hayatındaki uygulamalar hakkında bilgi sahibidir; girişimcilik, yenilikçilik hakkında bilinçlidir; sürdürülebilir kalkınma hakkında bilgi sahibidir.
|
-
|
-
|
-
|
-
|
-
|
11 |
Bir yabancı dili kullanarak Bilgisayar Mühendisliği ile ilişkili konularda, bilgi toplar ve meslektaşları ile iletişim kurar. ("European Language Portfolio Global Scale", Level B1)
|
-
|
-
|
-
|
-
|
-
|
12 |
İkinci yabancı dili orta düzeyde kullanır.
|
-
|
-
|
-
|
-
|
-
|
13 |
Yaşam boyu öğrenmenin gerekliliği bilincindedir; bilgiye erişir, bilim ve teknolojideki gelişmeleri izler ve kendini sürekli yeniler; insanlık tarihi boyunca oluşan bilgi birikimini Bilgisayar Mühendisliği alanıyla ilişkilendirir.
|
-
|
-
|
-
|
-
|
-
|
*1 Lowest, 2 Low, 3 Average, 4 High, 5 Highest