DERS BİLGİ PAKETİ · MAT231

Algoritma ve İleri Programlama I

Zorunlu · Fransızca Erasmus+ değişim öğrencilerine açık
AKTS
3
Yerel Kredi
3
Teori + Uygulama + Lab
1 + 1 + 1
Dersin Düzeyi
Lisans
Ön Koşul
-
Yarıyıl
3

İçerik

Dersin Amacı

Bu dersin amacı öğrencilerin programlama yeteneklerini temel algoritmaların, gerçeklemelerinin ve hesapsal problemlere uygulamalarının incelenmesi yoluyla geliştirmektir.

Dersin İçeriği

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

Konu Başlıkları

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ı

Değerlendirme Sistemi

Başarı Notuna Etki Oranları
Etkinlikler 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ı
Etkinlikler 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

Yeterlilik İlişkisi

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

AKTS - İş Yükü Tablosu

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