GERİ DÖN

Ders Öğretim Planı


Dersin Kodu Dersin Adı Dersin Türü Yıl Yarıyıl AKTS Kredi
EBST101 Algoritma ve Programlamanın Temelleri Ders 1 1 5.00 3.00

Lisans


Türkçe


Bu dersin amacı, öğrencilere , algoritmalar ve programlama konularında güçlü bir temel sağlamaktır. Öğrenciler, veri yapıları ve algoritmalar ile problem çözme becerilerini geliştirirken, programlama tekniklerini uygulamalı olarak öğreneceklerdir. Ayrıca, gerçek dünya problemlerine yönelik algoritma çözümleri geliştirmek için gerekli teorik ve pratik bilgiye sahip olacaklardır.


Dr. Öğr. Üyesi Ertan AKGENÇ


1 Algoritma ve Programlama Becerisi: Algoritma tasarlayabilir ve Python programlama dili ile uygulamalar geliştirebilir.
2 Değişkenler, veri tipleri, operatörler ve kontrol yapıları gibi temel programlama kavramlarını etkili biçimde kullanabilir.
3 Problemleri çözmek için akış diyagramlarını oluşturabilir ve algoritmik düşünme becerisini kullanabilir.
4 Ptyhon ile listeler, kümeler, sözlükler gibi temel veri yapılarını kullanarak veri işlemleri gerçekleştirebilir.
5 Pandas ve NumPy ile veri ön işleme yapabilir; Matplotlib ve Seaborn kullanarak verileri görselleştirebilir.
6 if, else if, switch-case, for ve while gibi yapıların mantığını kavrayarak uygun algoritmalarda uygulayabilir.
7 Genetik algoritma, karınca kolonisi ve sürü zekâsı gibi optimizasyon yöntemlerini kullanarak problem çözümü gerçekleştirebilir.
8 Geliştirdiği algoritmaları etkin biçimde kodlayabilir, test edebilir ve hata ayıklama tekniklerini uygulayabilir.
9 Etik ve Toplumsal Sorumluluk Bilinci: Programlamanın etik boyutlarını ve topluma olan etkilerini değerlendirebilir.

Birinci Öğretim


• Programlamaya Giriş (Python, Java veya C gibi dillerde temel programlama bilgisi) • Matematiksel Temeller (Lineer cebir, olasılık, istatistik) • Algoritmalar ve Veri Yapıları • Temel İstatistik ve Olasılık Teorisi


• Uygulamalı Çalışmalar: Dersin daha verimli olması için öğrencilerin her hafta küçük projeler veya uygulamalar yapmaları önerilir. • Proje Odaklı Yaklaşım: Öğrencilerin dönem boyunca bir proje geliştirmeleri teşvik edilmelidir. • Güncel Kaynaklar ve Makaleler: Hızla gelişen bir alan olduğundan, güncel akademik makaleler ve sektördeki yenilikler takip edilmelidir. • Açık Kaynak Kütüphaneler ve Araçlar: Öğrencilerin Python ile ilgili kütüphanelerini aktif kullanmaları önerilir. • Etik ve Toplumsal Etkiler: Programlamanın etik boyutu, veri gizliliği ve toplumsal etkileri konularına ders içinde yer verilmelidir. • Çapraz Disipliner Yaklaşım: Matematik, istatistik ve bilişim bilimleri ile entegre bir eğitim modeli benimsenmelidir.


Bu ders, algoritmalar ve programlama konularını kapsamlı bir şekilde ele alır. Ders kapsamında; algoritma tasarımı, veri yapıları, programlama teknik ve bilgileri gibi konular işlenir. Öğrenciler, Python programlama dili ve kütüphaneleri (NumPy, Pandas, Seaborn, Mathplotlib vb.) kullanarak pratik uygulamalar gerçekleştireceklerdir.


Hafta Teorik [OgretimYontemVeTeknikleri] [OnHazirlik]
1 Giriş ve Temel Kavramlar Algoritma ve Programlama nedir? Tarihçesi ve uygulama alanları Algoritma ve programlamanın temel kavramları Dersin işleyişi ve kaynakların tanıtımı
2 Algoritma kavramı ve özellikleri İyi bir algoritmanın nitelikleri Adım adım algoritma geliştirme yöntemleri
3 Akış diyagramı sembolleri ve kuralları Gerçek yaşamdan algoritmik örnekler Problem çözme basamaklarının analizi
4 Python ile Programlamaya Giriş Python’un temel yapıları (değişkenler, veri tipleri, operatörler) Koşullu ifadeler ve döngüler Algoritma mantığı ve akış şemaları
5 Veri Yapıları ve Algoritmalar Listeler, kümeler, sözlükler Fonksiyonlar ve modüler programlama
6 Veri Ön İşleme ve Analiz Veri toplama ve temizleme yöntemleri Pandas ve NumPy kullanımı Veri görselleştirme (Matplotlib, Seaborn)
7 If, else if, switch-case vb. yapılarının tanımı Koşul ifadeleri ve karşılaştırma operatörleri ile ilişkisi Uygulamalı karar yapısı örnekleri
8 Ara Sınav
9 While, do-while ve for döngülerinin kullanımı İç içe döngüler ve break komutu Döngü tabanlı problem çözme örnekleri
10 Optimizasyon Algoritmaları Genetik algoritmalar Karınca kolonisi ve sürü zekası Optimizasyon problemleri için uygulamalar
11 Algoritma oluşturma ve kodlama süreci Geliştirilen örneklerin çıktılarının analizi Kodun iyileştirilmesi ve hata ayıklama teknikleri
12 Model değerlendirme ve iyileştirme yöntemleri Büyük veri ve programlama ilişkisi
13 Proje Çalışmaları ve Uygulamalar Küçük çaplı bir programlama projesi geliştirme Model eğitme, değerlendirme ve sonuç analizi
14 Final Sınavı

1. Tungut, H. B. (2021). ALGORİTMA VE PROGRAMLAMA MANTIĞI (Vol. 108). KODLAB YAYIN DAĞITIM YAZILIM LTD. ŞTİ.. 2. Sebetci, Ö. (2019). Nesne temelli programlamaya giriş ve algoritmalar. Hiperlink eğit. ilet. yay. san. tic. ve ltd. sti.. 3. Padmanabhan, T. R. (2016). Programming with python. Springer Singapore. 4. Hetland, M. L. (2014). Python Algorithms: mastering basic algorithms in the Python Language. Apress.


Yok


Yarıyıl (Yıl) İçi Etkinlikleri Adet Değer
Ara Sınav 1 80
Ev Ödevi 1 20
Toplam 100
Yarıyıl (Yıl) Sonu Etkinlikleri Adet Değer
Final Sınavı 1 100
Toplam 100
Yarıyıl (Yıl) İçi Etkinlikleri 40
Yarıyıl (Yıl) Sonu Etkinlikleri 60

Bu dersin staj gereksinimi doğrudan bulunmamakla birlikte, öğrencilerin programlama alanlarında uygulamalı deneyim kazanabilmeleri için staj yapmaları önerilir. Özellikle teknoloji şirketleri, laboratuvarları ve araştırma merkezlerinde staj yaparak gerçek dünya problemleri üzerinde çalışma fırsatı bulabilirler. Ayrıca, Kaggle gibi platformlarda veri bilimi yarışmalarına katılarak veya açık kaynak projelerde çalışarak deneyimlerini artırabilirler.


Etkinlikler Sayısı Süresi (saat) Toplam İş Yükü (saat)
Ara Sınav 1 1 1
Final Sınavı 1 1 1
Bütünleme Sınavı 1 1 1
Problem Çözümü 1 10 10
Tartışma 1 2 2
Takım/Grup Çalışması 1 10 10
Beyin Fırtınası 1 6 6
Bireysel Çalışma 14 3 42
Ara Sınav İçin Bireysel Çalışma 1 12 12
Final Sınavı içiin Bireysel Çalışma 1 16 16
Performans 1 9 9
Ev Ödevi 5 3 15
Toplam İş Yükü (saat) 125

PÇ 1 PÇ 2 PÇ 3 PÇ 4 PÇ 5 PÇ 6 PÇ 7 PÇ 8 PÇ 9 PÇ 10
ÖÇ 1 5 1 1 1 1 1 1 2 2 3
ÖÇ 2 5 3 1 2 3 3 1 2 3 4
ÖÇ 3 4 3 1 3 3 3 1 1 2 2
ÖÇ 4 5 3 1 3 3 3 1 1 2 2
ÖÇ 5 4 3 1 3 4 4 1 1 1 2
ÖÇ 6 4 3 1 3 4 3 1 1 2 2
ÖÇ 7 5 1 1 1 1 1 1 1 1 1
ÖÇ 8 5 1 1 1 1 1 4 3 3 2
ÖÇ 9 1 1 1 1 1 1 5 5 5 5
* Katkı Düzeyi : 1 Çok düşük 2 Düşük 3 Orta 4 Yüksek 5 Çok yüksek