Ders Detayı
Ders Tanımı
Ders | Kodu | Yarıyıl | T+U Saat | Kredi | AKTS |
---|---|---|---|---|---|
ALGORİTMA VE VERİ YAPILARI | - | Bahar Dönemi | 2+0 | 2 | 4 |
Ders Programı |
Ön Koşul Dersleri | |
Önerilen Seçmeli Dersler |
Dersin Dili | İngilizce |
Dersin Seviyesi | Lisans |
Dersin Türü | Zorunlu |
Dersin Koordinatörü | Prof.Dr. Gökhan SİLAHTAROĞLU |
Dersi Verenler | Prof.Dr. Gökhan SİLAHTAROĞLU |
Dersin Yardımcıları | |
Dersin Amacı | Bir algoritmanın etkin, anlaşılır ve doğru olabilmesi için algoritmanın işleyeceği verilerin düzenlenmesi gerektiğinden öğrencilerimizin verilerin düzenlenme biçimini belirleyen yapıtaşları olan veri yapılarını tanımalarını sağlamak; Ayrıca, belirli bir algoritmanın işletimi için bilgisayar ortamında ne kadar süreye ve belleğe gereksinim olduğu önemli olduğunu göstermektir. |
Dersin İçeriği | Bu ders; Derse ilişkin genel tanımlar ve temel kavramlar.,Veri Modelleri,C Programlama Dili hakkında Genel Tekrar,Enum, struct, union, typedef Yapıları,Yığın,Kuyruk,Listeler,Ağaçlar,Sıralama Algoritmaları,Arama Algoritmaları,Çizgeler,En Kısa Yol Algoritmaları,Depolama Yönetimi,Otomatik Liste Yönetimi.,Dinamik Bellek Yönetimi.; konularını içermektedir. |
Dersin Öğrenme Kazanımları | Öğretim Yöntemleri | Ölçme Yöntemleri |
1. Veri Yapılarına ilişkin genel tanımları yaparak, temel kavramları tanıyabilecek ve kullanabilecektir. | 16, 8, 9 | A |
1.1. Veri yapıları türlerini açıklar. | 6, 9 | E |
1.2. Farklı veri yapılarını ayırt eder. | 10, 6, 9 | |
2. C Programlama Dili hakkında genel bilgileri kullanabilecektir. | 8, 9 | A, E |
2.1. C programlama dilinin özelliklerini kullanır. | 10, 9 | |
2.2. C programlama dilinin tarihsel gelişim sürecini açıklar. | 16, 9 | |
3. Yığın ve Özyinelemeyi tanıyabilecek ve özelliklerini kullanabilecektir. | 13, 9 | A |
3.1. Yığının özelliklerini kullanır. | 8, 9 | |
3.2. Özyinelemeyi kullanır. | 9 | E, F, H |
4. Kuyruk ve Liste Veri Yapılarını tanıyabilecek ve özelliklerini kullanabilecektir. | 8, 9 | A, E |
4.1. Kuyruğu tanımlar ve özelliklerini kullanır. | 13, 16, 6, 8, 9 | |
4.2. Liste Veri Yapısını tanımlar ve özelliklerini kullanır. | 10, 16, 8, 9 | |
5. Ağaç Veri Yapısını tanıyabilecek ve özelliklerini kullanabilecektir. | 16, 6, 9 | A, E |
5.1. Ağaç veri yapısını uygular. | 10, 16, 6, 9 | |
5.2. Agaç türlerini listeler. | 10, 16, 6, 9 | |
6 . Sıralama ve Arama Algoritmalarını tanıyabilecek ve özelliklerini kullanabilecektir. | 10, 16, 9 | A, E |
6.1. Sıralama Algoritmaları türlerini listeler. | 6, 8, 9 | |
6.2. Sıralama Algoritmalarını uygular. | 16, 6, 8, 9 | |
6.3. Arama algoritmaları türlerini listeler. | 16, 6, 9 | |
7. Çizgeleri, Warshall, En Kısa Yol Algoritmalarını tanıyabilecek ve özelliklerini kullanabilecektir. | 12, 13, 16, 6, 8, 9 | A, E |
7.1. Warshal Algoritmalarını kullanır. | 6, 8, 9 | E |
7.2. En kısa yol Algoritmalarını kullanır. | 10, 16, 9 | |
8. Depolama, Liste, Dinamik Bellek Yönetimlerinin özelliklerini kullanabilecektir. | 16, 8, 9 | A, E |
8.1. Depolama, Liste ve Belleği tanımlar. | 8, 9 | E, F |
8.2. Depolama, liste ve belleğe ilişkin işlemleri yapar. | 16, 6, 8, 9 |
Öğretim Yöntemleri: | 10: Tartışma Yöntemi, 12: Problem Çözme Yöntemi, 13: Örnek Olay Yöntemi, 16: Soru - Cevap Tekniği , 6: Deneyimle Öğrenme Modeli, 8: Ters-yüz Edilmiş Sınıf Modeli, 9: Anlatım Yöntemi |
Ölçme Yöntemleri: | A: Klasik Yazılı Sınav, E: Ödev, F: Proje Görevi, H: Performans Görevi |
Ders Akışı
Sıra | Konular | Ön Hazırlık |
---|---|---|
1 | Derse ilişkin genel tanımlar ve temel kavramlar. | |
2 | Veri Modelleri | |
3 | C Programlama Dili hakkında Genel Tekrar | |
4 | Enum, struct, union, typedef Yapıları | |
5 | Yığın | |
6 | Kuyruk | |
7 | Listeler | |
8 | Ağaçlar | |
9 | Sıralama Algoritmaları | |
9 | Arama Algoritmaları | |
10 | Çizgeler | |
11 | En Kısa Yol Algoritmaları | |
12 | Depolama Yönetimi | |
13 | Otomatik Liste Yönetimi. | |
14 | Dinamik Bellek Yönetimi. |
Kaynak |
Data Structures and Algorithms Made Easy: Data Structures and Algorithmic Puzzles 5th ed. Edition Narasimha Karumanchi (Author) |
[1]All lecture notes available at http://mebis.medipol.edu.tr 2] Rifat Çölkesen, Veri Yapıları ve Algoritmalar, Papatya Bilim Yay. [3] Introduction to the Design and Analysis of Algorithms 3rd Edition, Anany Levitin (Author) |
Dersin Program Yeterliliklerine Katkısı
Dersin Program Yeterliliklerine Katkısı | |||||||
No | Program Yeterliliği | Katkı Düzeyi | |||||
1 | 2 | 3 | 4 | 5 | |||
1 | Bilişim ve yönetim alanında teorik bilgileri tanımlar. | ||||||
2 | Bilişim ve yönetim alanında gerekli matematiksel ve istatistiki yöntemleri anlatır. | X | |||||
3 | Bilişim ve yönetim alanında gerekli en az bir bilgisayar programı kullanır. | X | |||||
4 | Bilişim ve yönetim alanında gerekli olan mesleki yabancı dil yeterliliğini gösterir. | ||||||
5 | Bilişim projeleri hazırlar ve takım çalışmalarını yönetir. | ||||||
6 | Mesleki alanda yaşam boyu öğrenmenin gerekliliği bilinciyle bilim ve teknolojideki gelişmeleri izleyerek kendini sürekli yenileyip edindiği bilgi ve becerileri eleştirel olarak değerlendirilir. | ||||||
7 | Bilişim ve yönetim alanında teorik ve uygulamaya yönelik bilgileri kullanır. | X | |||||
8 | En az A1 düzeyinde bir yabancı dili kullanarak güncel teknolojileri takip eder, sözlü / yazılı iletişim kurar. | ||||||
9 | Örgüt / kurumsal, iş ve toplumsal etik değerlerini benimser ve kullanır. | ||||||
10 | Topluma hizmet duyarlılığı çerçevesinde, sosyal sorumluluk ilkelerini benimser ve gerektiğinde inisiyatif alır. | ||||||
11 | Disiplinler arası çalışmalar yürütebilmek için farklı disiplinlerde (ekonomi, finans, sosyoloji, hukuk, işletme) temel bilgileri ve verileri analiz ederek alanında kullanır. | ||||||
12 | Masaüstü, mobil, web gibi farklı platform yazılımlarını tek başına ve/veya bir ekip içerisinde yazar. |
Değerlendirme Sistemi
Katkı Düzeyi | Mutlak Değerlendirme | |
Ara Sınavın Başarıya Oranı | 20 | |
Genel Sınavın Başarıya Oranı | 80 | |
Toplam | 100 |
AKTS / İşyükü Tablosu | ||||||
Etkinlik | Sayı | Süresi (Saat) | Toplam İş Yükü (Saat) | |||
Ders Saati | 14 | 2 | 28 | |||
Rehberli Problem Çözme | 14 | 2 | 28 | |||
Problem Çözümü / Ödev / Proje / Rapor Tanzimi | 6 | 5 | 30 | |||
Okul Dışı Diğer Faaliyetler | 0 | 0 | 0 | |||
Proje Sunumu / Seminer | 0 | 0 | 0 | |||
Kısa Sınav (QUİZ) ve Hazırlığı | 1 | 2 | 2 | |||
Ara Sınav ve Hazırlığı | 1 | 15 | 15 | |||
Genel Sınav ve Hazırlığı | 1 | 15 | 15 | |||
Performans Görevi, Bakım Planı | 0 | 0 | 0 | |||
Toplam İş Yükü (Saat) | 118 | |||||
Dersin AKTS Kredisi = Toplam İş Yükü (Saat)/30*=(118/30) | 4 | |||||
Dersin AKTS Kredisi: *30 saatlik çalışma 1 AKTS kredisi sayılmaktadır. |
Dersin Detaylı Bilgileri
Ders Tanımı
Ders | Kodu | Yarıyıl | T+U Saat | Kredi | AKTS |
---|---|---|---|---|---|
ALGORİTMA VE VERİ YAPILARI | - | Bahar Dönemi | 2+0 | 2 | 4 |
Ders Programı |
Ön Koşul Dersleri | |
Önerilen Seçmeli Dersler |
Dersin Dili | İngilizce |
Dersin Seviyesi | Lisans |
Dersin Türü | Zorunlu |
Dersin Koordinatörü | Prof.Dr. Gökhan SİLAHTAROĞLU |
Dersi Verenler | Prof.Dr. Gökhan SİLAHTAROĞLU |
Dersin Yardımcıları | |
Dersin Amacı | Bir algoritmanın etkin, anlaşılır ve doğru olabilmesi için algoritmanın işleyeceği verilerin düzenlenmesi gerektiğinden öğrencilerimizin verilerin düzenlenme biçimini belirleyen yapıtaşları olan veri yapılarını tanımalarını sağlamak; Ayrıca, belirli bir algoritmanın işletimi için bilgisayar ortamında ne kadar süreye ve belleğe gereksinim olduğu önemli olduğunu göstermektir. |
Dersin İçeriği | Bu ders; Derse ilişkin genel tanımlar ve temel kavramlar.,Veri Modelleri,C Programlama Dili hakkında Genel Tekrar,Enum, struct, union, typedef Yapıları,Yığın,Kuyruk,Listeler,Ağaçlar,Sıralama Algoritmaları,Arama Algoritmaları,Çizgeler,En Kısa Yol Algoritmaları,Depolama Yönetimi,Otomatik Liste Yönetimi.,Dinamik Bellek Yönetimi.; konularını içermektedir. |
Dersin Öğrenme Kazanımları | Öğretim Yöntemleri | Ölçme Yöntemleri |
1. Veri Yapılarına ilişkin genel tanımları yaparak, temel kavramları tanıyabilecek ve kullanabilecektir. | 16, 8, 9 | A |
1.1. Veri yapıları türlerini açıklar. | 6, 9 | E |
1.2. Farklı veri yapılarını ayırt eder. | 10, 6, 9 | |
2. C Programlama Dili hakkında genel bilgileri kullanabilecektir. | 8, 9 | A, E |
2.1. C programlama dilinin özelliklerini kullanır. | 10, 9 | |
2.2. C programlama dilinin tarihsel gelişim sürecini açıklar. | 16, 9 | |
3. Yığın ve Özyinelemeyi tanıyabilecek ve özelliklerini kullanabilecektir. | 13, 9 | A |
3.1. Yığının özelliklerini kullanır. | 8, 9 | |
3.2. Özyinelemeyi kullanır. | 9 | E, F, H |
4. Kuyruk ve Liste Veri Yapılarını tanıyabilecek ve özelliklerini kullanabilecektir. | 8, 9 | A, E |
4.1. Kuyruğu tanımlar ve özelliklerini kullanır. | 13, 16, 6, 8, 9 | |
4.2. Liste Veri Yapısını tanımlar ve özelliklerini kullanır. | 10, 16, 8, 9 | |
5. Ağaç Veri Yapısını tanıyabilecek ve özelliklerini kullanabilecektir. | 16, 6, 9 | A, E |
5.1. Ağaç veri yapısını uygular. | 10, 16, 6, 9 | |
5.2. Agaç türlerini listeler. | 10, 16, 6, 9 | |
6 . Sıralama ve Arama Algoritmalarını tanıyabilecek ve özelliklerini kullanabilecektir. | 10, 16, 9 | A, E |
6.1. Sıralama Algoritmaları türlerini listeler. | 6, 8, 9 | |
6.2. Sıralama Algoritmalarını uygular. | 16, 6, 8, 9 | |
6.3. Arama algoritmaları türlerini listeler. | 16, 6, 9 | |
7. Çizgeleri, Warshall, En Kısa Yol Algoritmalarını tanıyabilecek ve özelliklerini kullanabilecektir. | 12, 13, 16, 6, 8, 9 | A, E |
7.1. Warshal Algoritmalarını kullanır. | 6, 8, 9 | E |
7.2. En kısa yol Algoritmalarını kullanır. | 10, 16, 9 | |
8. Depolama, Liste, Dinamik Bellek Yönetimlerinin özelliklerini kullanabilecektir. | 16, 8, 9 | A, E |
8.1. Depolama, Liste ve Belleği tanımlar. | 8, 9 | E, F |
8.2. Depolama, liste ve belleğe ilişkin işlemleri yapar. | 16, 6, 8, 9 |
Öğretim Yöntemleri: | 10: Tartışma Yöntemi, 12: Problem Çözme Yöntemi, 13: Örnek Olay Yöntemi, 16: Soru - Cevap Tekniği , 6: Deneyimle Öğrenme Modeli, 8: Ters-yüz Edilmiş Sınıf Modeli, 9: Anlatım Yöntemi |
Ölçme Yöntemleri: | A: Klasik Yazılı Sınav, E: Ödev, F: Proje Görevi, H: Performans Görevi |
Ders Akışı
Sıra | Konular | Ön Hazırlık |
---|---|---|
1 | Derse ilişkin genel tanımlar ve temel kavramlar. | |
2 | Veri Modelleri | |
3 | C Programlama Dili hakkında Genel Tekrar | |
4 | Enum, struct, union, typedef Yapıları | |
5 | Yığın | |
6 | Kuyruk | |
7 | Listeler | |
8 | Ağaçlar | |
9 | Sıralama Algoritmaları | |
9 | Arama Algoritmaları | |
10 | Çizgeler | |
11 | En Kısa Yol Algoritmaları | |
12 | Depolama Yönetimi | |
13 | Otomatik Liste Yönetimi. | |
14 | Dinamik Bellek Yönetimi. |
Kaynak |
Data Structures and Algorithms Made Easy: Data Structures and Algorithmic Puzzles 5th ed. Edition Narasimha Karumanchi (Author) |
[1]All lecture notes available at http://mebis.medipol.edu.tr 2] Rifat Çölkesen, Veri Yapıları ve Algoritmalar, Papatya Bilim Yay. [3] Introduction to the Design and Analysis of Algorithms 3rd Edition, Anany Levitin (Author) |
Dersin Program Yeterliliklerine Katkısı
Dersin Program Yeterliliklerine Katkısı | |||||||
No | Program Yeterliliği | Katkı Düzeyi | |||||
1 | 2 | 3 | 4 | 5 | |||
1 | Bilişim ve yönetim alanında teorik bilgileri tanımlar. | ||||||
2 | Bilişim ve yönetim alanında gerekli matematiksel ve istatistiki yöntemleri anlatır. | X | |||||
3 | Bilişim ve yönetim alanında gerekli en az bir bilgisayar programı kullanır. | X | |||||
4 | Bilişim ve yönetim alanında gerekli olan mesleki yabancı dil yeterliliğini gösterir. | ||||||
5 | Bilişim projeleri hazırlar ve takım çalışmalarını yönetir. | ||||||
6 | Mesleki alanda yaşam boyu öğrenmenin gerekliliği bilinciyle bilim ve teknolojideki gelişmeleri izleyerek kendini sürekli yenileyip edindiği bilgi ve becerileri eleştirel olarak değerlendirilir. | ||||||
7 | Bilişim ve yönetim alanında teorik ve uygulamaya yönelik bilgileri kullanır. | X | |||||
8 | En az A1 düzeyinde bir yabancı dili kullanarak güncel teknolojileri takip eder, sözlü / yazılı iletişim kurar. | ||||||
9 | Örgüt / kurumsal, iş ve toplumsal etik değerlerini benimser ve kullanır. | ||||||
10 | Topluma hizmet duyarlılığı çerçevesinde, sosyal sorumluluk ilkelerini benimser ve gerektiğinde inisiyatif alır. | ||||||
11 | Disiplinler arası çalışmalar yürütebilmek için farklı disiplinlerde (ekonomi, finans, sosyoloji, hukuk, işletme) temel bilgileri ve verileri analiz ederek alanında kullanır. | ||||||
12 | Masaüstü, mobil, web gibi farklı platform yazılımlarını tek başına ve/veya bir ekip içerisinde yazar. |
Değerlendirme Sistemi
Katkı Düzeyi | Mutlak Değerlendirme | |
Ara Sınavın Başarıya Oranı | 20 | |
Genel Sınavın Başarıya Oranı | 80 | |
Toplam | 100 |