Algoritma ve İleri Programlama I(MAT231)
Ders Kodu | Dersin Adı | Yarıyıl | Teori | Uygulama | Lab | Kredisi | AKTS |
---|---|---|---|---|---|---|---|
MAT231 | Algoritma ve İleri Programlama I | 3 | 1 | 1 | 1 | 3 | 3 |
Ön Koşul | |
Derse Kabul Koşulları |
Dersin Dili | Fransızca |
Türü | Zorunlu |
Dersin Düzeyi | Lisans |
Dersi Veren(ler) | Can Ozan OĞUZ canozanoguz@gmail.com (Email) |
Dersin Yardımcıları | |
Dersin Amacı | Bu dersin amacı öğrencilerin programlama yeteneklerini temel algoritmaların, gerçeklemelerinin ve hesapsal problemlere uygulamalarının incelenmesi yoluyla geliştirmektir. |
İçerik |
Temel programlama tekrarı (Python ile): değişken, değer, ifade, atama, koşul, döngü, fonksiyon Veri yapıları: liste, dizi, çok boyutlu dizi,ağaç, yığıt, kuyruk Algoritmalar: sıralama, arama, agregasyon fonksiyonları Özyineleme: nümerik hesaplama, ağaçta gezinme Algoritma analizi: zaman/uzay karmaşıklığı, karmaşıklık sınıfları |
Dersin Öğrenme Çıktıları |
--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. |
Öğretim Yöntemleri | teorik ders, pratik alıştırmalar |
Kaynaklar |
Algorithmique - 3ème édition - Cours avec 957 exercices et 158 problèmes - Cormen, Leiserson, Riverst, Stein Problem Solving with Algorithms and Data Structures Using Python - Bradley N Miller and David L. Ranum The Art of Computer Programming - Donald Knuth Python - How to Program - Deitel Data Structures and Algorithms Using Python - Rance D. Necaise Data Structures and Algorithms with Object-Oriented Design Patterns in Python - Bruno R.Preiss |
Teori Konu Başlıkları
Hafta | Konu Başlıkları |
---|---|
1 | Algoritmalara giriş, Öklid Bölme Algoritması Programlama |
2 | Zaman Karmaşıklığı İncelemesi: En büyük ve en küçük bölen bulma |
3 | Özyineleme |
4 | Veri Yapıları I |
5 | Veri yapıları II |
6 | Veri yapıları III |
7 | Sıralama Algoritmaları: Zaman karmaşıklığı ve uygulamalar I |
8 | Arasınav |
9 | Sıralama Algoritmaları: Zaman karmaşıklığı ve uygulamalar II |
10 | Soyut Veri Yapıları |
11 | Ağaçlar: derinlik öncelikli gezinme, genişlik öncelikli gezinme |
12 | Nümerik algoritmalar: rastgele sayı üreteçleri, nümerik kök bulma algoritmaları, lineer regresyon |
13 | Arama: basit arama, ikili arama, rekürsif arama |
14 | Karmaşıklık sınıfları, algoritmaların karmaşıklıklarının karşılaştırılması |
Uygulama Konu Başlıkları
Hafta | Konu Başlıkları |
---|
Başarı Notuna Etki Oranları
Sayı | Katkı Payı | |
---|---|---|
Yarıyıl içi çalışmaların başarı notuna katkısı | 1 | 50 |
Yarıyıl sonu çalışmaların başarı notuna katkısı | 1 | 50 |
Toplam | 2 | 100 |
Yarıyıl İçi Çalışmaları
Sayı | Katkı Payı | |
---|---|---|
Ödevler | 0 | 0 |
Sunum | 0 | 0 |
Arasınavlar (Hazırlık Süresi Dahil) | 1 | 100 |
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 |
Bütünleme | 0 | 0 |
Toplam | 1 | 100 |
Numara | Program Yeterlilikleri | Puan | ||||
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
1 | Çıkarım yaparak muhakeme yapmanın ilkelerini anlar; ürettiği ya da karşılaştığı matematiksel ifadenin doğruluğunu ve uygunluğunu sistematik şekilde sorgulayabilir; | X | ||||
2 | Temel matematik netice ve kavramlarını doğru şekilde bilir ve kullanır; | X | ||||
3 | Sık kullanılan hesap tekniklerine ve algoritmalara hakimdir; bunları hayata geçirmek için iyi bir hesap becerisine sahiptir; bir problemin çözümü için bildiği araçlar arasından ilgili aleti tespit edip kullanabilir ve bu aletlere sahip olup olmadığını muhakeme edebilir; | X | ||||
4 | Matematiksel fikirlerini yapılandırarak hem yazılı hem de sözlü ifade edebilir; | X | ||||
5 | Bildiği matematiksel kavram ve neticeler arasındaki bağlantıları idrak eder, matematik nesnelerinin temsil biçimlerinin (şekiller, formüller, ifadeler, tahminler, örnek kümeleri , ...) birinden diğerine geçiş yapabilir; | X | ||||
6 | Rehber gözetiminde özerk bir öğrenme tecrübesi geçirmiş ve karmaşık bir problemin çözümünün anlaşılması için stratejiler geliştirmiştir; | X | ||||
7 | Bilgisayar biliminin teori ve uygulamaları hakkında, bir programlama dili öğrenmeye devam etmeye yetecek temellere sahiptir; | X | ||||
8 | Matematik modellerinin uygunluğunu ve matematik aletlerinin doğa bilimlerinde ve iş dünyasında kullanımını sorgulamıştır; matematik kavramlarının tarihi evriminin farkındadır; | X | ||||
9 | Bir akademik serbestlik atmosferi içinde matematik içi veya dışı bir konuya adım atma fırsatına sahip olmuştur, eğitimde yolunu kendi başına çizmeyi ve sorumluluk almayı öğrenmiştir; | X | ||||
10 | Yabancı bir ülkede okumak ve çalışmaya yetecek seviyede fransızcaya ve başka bir yabancı dile hakimdir. | X |
Etkinlikler | Sayı | Süre | Toplam İş Yükü |
---|---|---|---|
Ders Süresi | 14 | 3 | 42 |
Sınıf Dışı Çalışma Süresi | 14 | 1 | 14 |
Ödevler | 0 | 0 | 0 |
Sunum | 0 | 0 | 0 |
Arasınavlar (Hazırlık Süresi Dahil) | 1 | 10 | 10 |
Proje | 0 | 0 | 0 |
Laboratuar | 0 | 0 | 0 |
Diğer Uygulamalar | 0 | 0 | 0 |
Yarıyıl Sonu Sınavı (Hazırlık Süresi Dahil) | 1 | 10 | 10 |
Kısa Sınavlar | 0 | 0 | 0 |
Dönem Ödevi / Projesi | 0 | 0 | 0 |
Portfolyo Çalışmaları | 0 | 0 | 0 |
Raporlar | 0 | 0 | 0 |
Öğrenme Günlükleri | 0 | 0 | 0 |
Bitirme Tezi/Projesi | 0 | 0 | 0 |
Seminer | 0 | 0 | 0 |
Diğer | 0 | 0 | 0 |
Bütünleme | 0 | 0 | 0 |
Ts Yıl Sonu | 0 | 0 | 0 |
Hazırlık Yıl Sonu | 0 | 0 | 0 |
Hazırlık Bütünleme | 0 | 0 | 0 |
Toplam İş Yükü | 76 | ||
Toplam İş Yükü / 25 | 3.04 | ||
Dersin AKTS Kredisi | 3 |