Ders Adı İleri Programlama
Ders Kodu BGV-3255
Dersin Türü Zorunlu
Ders Biriminin Seviyesi Ön Lisans
Yıl 2
Dönem 3.Yarıyıl
AKTS 3
Dersi Veren(ler) Dr. Öğr. Üyesi Birkan BÜYÜKARIKAN
Dersin Yardımcıları
Ders İşleme Biçimi Yüz Yüze
Önkoşul Dersleri
Dersin İçeriği Bu dersin içeriği, temel Python programlamanın yanı sıra diziler, çizim, sembolik hesaplama, bilimsel algoritmalar, nesne yönelimli programlama ve rastgele değişkenleri içerir. Öğrenciler NumPy, Matplotlib, Math ve diğerleri gibi popüler Python paketleriyle tanıştırılacaklardır. Ayrıca dosyalama uygulamalarını da öğrenecektir.
Dersin Verildiği Diller Türkçe
Dersin Amacı Dersin temel amacı, belirlenen yüksek seviyeli programlama diline (Python, C# gibi) hakim olup, ileri programlama tekniklerini kullanarak uygulama geliştirmek.
No Dersin Kazanımları  
1 Python programlama dilini tanır.
2 Python ile nesne tabanlı programlar uygulama becerisi kazanır.
3 Python'daki veri türlerini ve yapılarını kavrar.
4 Sorunları bilimsel hesaplamalarla çözer.
5 Hesaplama sonuçlarını görselleştirebilir.
6 Dosya sistemleri ve regex kullanılan işlemleri tanımlayabilir.
7 Python'da kullanılan kapsülleme, kalıtım ve polimorfizm gibi Nesne Tabanlı Programlama kavramlarını ifade eder.
DERSİN KAZANIMLARI / PROGRAM YETERLİKLERİ İLİŞKİ MATRİSİ
DKPY1PY2PY3PY4PY5PY6PY7PY8PY9PY10
1
2
3
4
5
6
7
5-Çok Yüksek İlişkili 4- Yüksek İlişkili 3-Orta İlişkili 2- Zayıf İlişkili 1-Çok Zayıf İlişkili 0-İlişkisiz
Hafta Konular  
1 Programlamaya giriş, temel kavramlar ve kullanılan editörlerin tanıtımı.
2 Veri tipleri ve Karar mekanizmaları
3 Döngüler ve Kontrol ifadeleri
4 Kontrol yapıları, Liste, Tuple, Dictionary
5 Matrisler (Çoklu listeler)
6 Matematiksel İşlemler
7 Dahili fonksiyonlar ve modüller
8 Exception yakalama ve Debug etme
9 Metinsel işlemler
10 Nesneye yönelik programlama - Method aşırı yükleme - Statik ve Sınıf İçi methodlar - Sınıf özelliklerine erişme
11 İleri Seviye Sınıflar - Sınıfı dökümante etmek - Kapsülleme - Soyut sınıflar - Sınıf dekoratörleri
12 Veri işleme
13 Veri görselleştirme
14 Çoklu Thread ve Çoklu İşleme - Thread senkronizasyonu - Rlock & Semaphore - Global interpreted - Çoklu işlem modülü
No Bölüm Öğrenme Çıktısı Katkı Düzeyi
1 İleri düzey hesaplama ve/veya bilişim bilgilerini bilişim problemlerini çözmede uygulama becerisi. 4
2 Farklı teknolojiler, yazılım mimarileri ve yaşam-döngüsü yaklaşımları kullanarak çözümler geliştirmek. 4
3 Bir yazılım sistemini, bileşenini, sürecini veya programını, modern teknikler ve bilişim uygulamalarına yönelik bilişim araçlarını kullanarak, tasarlama, gerçekleştirme ve değerlendirme becerisi. 4
4 Yazılım gereksinimlerini anlamak için, veri toplama, analiz etme ve yorumlama becerisi. 4
5 Yazılım projeleri üzerindeki çalışmalar kapsamında ortaya çıkan problemler üzerinde etkin sözlü ve yazılı iletişim ve kritik düşünme becerileri. 4
6 Bilim ve teknoloji alanındaki güncel gelişmeleri izlemede bilgiye erişim becerisi bilişim alanında bilimsel araştırma yapmak ve bir projeyi gerçekleştirmek. 3
7 Bilişim ile ilgili profesyonel, hukuksal, sosyal ve sorumluluklar konularında anlayış. 2
8 Proje ve risk yönetim becerisi; girişimciliğin, yenilikçilik ve sürdürülebilir kalkınmanın önemi hakkında farkındalık; uluslararası standartların ve yöntemlerin bilinmesi. 3
9 Bilişim çözümlerinin, karar verme boyutunda, küresel, sosyal ve hukuki boyutları üzerindeki etkisini anlamak. 4
10 Bilişim uygulamaları için mükemmellik standartlarının geliştirilmesi, benimsenmesi ve sürekli kullanımının desteklenmesi. 2
Yarıyıl İçi Çalışmaları Sayısı Katkı Payı
Ara Sınav 1 50
Kısa Sınav 0 0
Ödev 0 0
Devam 0 0
Uygulama 1 30
Labaratuvar 1 20
Proje 0 0
Atölye 0 0
Seminer 0 0
Arazi Çalışması 0 0
Sözlü sınav 0 0
Portfolyo 0 0
Doküman İncelemesi 0 0
Performans değerlendirme 0 0
Sunum 0 0
Alan Çalışması 0 0
Vaka Çalışması 0 0
Video Kaydı 0 0
Öz değerlendirme 0 0
Akran Değerlendirme 0 0
Eşleştirme Testleri 0 0
Çoktan seçmeli test 0 0
Kısa Cevaplı test 0 0
Kontrol listeleri 0 0
Dereceleme Ölçekleri 0 0
Zihin Haritalama 0 0
Araştırma yazısı 0 0
Çevrimiçi anket 0 0
Çevrimiçi Kısa sınav 0 0
TOPLAM 0
Yıliçinin Başarıya Oranı 40
Finalin Başarıya Oranı 60
TOPLAM 100
AKTS kredilerinin belirlenmesinde öğrenci işyükü anketlerinden faydalanılmaktadır.
Etkinlik Sayısı Süresi Toplam
Ders Süresi (Sınav Haftaları Hariç) 14 2 28
Sınıf Dışı Ders Çalışma Süresi 14 2 28
Ödevler 3 2 6
Sunum 0 0 0
Proje 0 0 0
Laboratuar Çalışması 14 2 28
Arazi ya da Alan Çalışması 0 0 0
Ara Sınavlar 1 0 0
Yarıyıl Sonu Sınavı 1 0 0
İşyükü Saati (30) 0
Toplam İşyükü / Saat 90    
Dersin Akts Kredisi 3    
Ders Notu 1) Kent D. Lee, ""Python Programming Fundamentals"", 2nd edition, Springer 2) Tony Gaddis, ""Starting out With Python"", 4th edition, Pearson"
Diğer Kaynaklar 1) Jake VanderPlas, “Python Data Science Handbook: Essential Tools for Working with Data”, 1st Edition, O'Reilly 2) Aurelien Geron, Hands-On Machine Learning with Scikit-Learn and TensorFlow: Concepts, Tools, and Techniques to Build Intelligent Systems”, 1st Edition,O'Reilly
Materyal
Dökümanlar
Ödevler
Sınavlar
Materyal Diğer
Planlanmış Öğrenme Faaliyetleri ve Öğretim Yöntemleri