Bilgisayar Programcılığı
Önlisans TYYÇ: 5. Düzey QF-EHEA: Kısa Düzey EQF-LLL: 5. Düzey

Ders Genel Tanıtım Bilgileri

Ders Kodu: MYO053
Ders İsmi: İleri Python
Ders Yarıyılı: Bahar
Ders Kredileri:
AKTS
3
Öğretim Dili: Türkçe
Ders Koşulu:
Ders İş Deneyimini Gerektiriyor mu?: Hayır
Dersin Türü: Bölüm/Program Seçmeli
Dersin Seviyesi:
Önlisans TYYÇ:5. Düzey QF-EHEA:Kısa Düzey EQF-LLL:5. Düzey
Dersin Veriliş Şekli: E-Öğrenme
Dersin Koordinatörü: Öğr. Gör. AHMET SELİM ÖVER
Dersi Veren(ler): Öğr. Gör. Mustafa Koçal
Dersin Yardımcıları:

Dersin Amaç ve İçeriği

Dersin Amacı: Bu dersin ana amacı, Özgün Programlama 1 dersinde kazanılan programlama becerilerini öğrencilerin uygulamasını sağlamaktır. Özellikle, ders gerçek hayatta kullanılan problem çözme metodolojilerini gerçek örnekler üzerinde öğretmeyi hedeflemektedir.
Dersin İçeriği: Spam filtrelemeden kullanıcılara film, kitap ve müzik önerisine kadar, ders içeriği çoğunlukla pratik uygulamalara dayanmaktadır. Tüm öğrenciler, derste öğrendiklerini uygulamalı projeler oluşturarak pratiğe dönüştürmelerini sağlayacak bir dizi mini proje tamamlamak zorundadır.

Öğrenme Kazanımları

Bu dersi başarıyla tamamlayabilen öğrenciler;
1) Pratik veri madenciliği tekniklerini (sınıflandırma, kümeleme vb.) öğrenmek.
2) İşbirlikçi filtreleme tekniklerini öğrenin.
3) Belge alımı ve sıralama konularında bilgi edinin.
4) Gelişmiş Python kavramlarıyla (lambda fonksiyonları, dekoratörler, vb.) tanışın.
5) Öğrenilen veri madenciliği tekniklerini gerçek hayatta kullanarak uygulayın.
6) Küçük gruplar halinde projeler üzerinden takım çalışmasını öğrenin.

Ders Akış Planı

Hafta Konu Ön Hazırlık
1) Dosyalar, Veritabanları, Pickle, İstisnalar Think Py – Ch 14
2) GUI Programlama - Araçlar
3) GUI Programlama - Düzen Yöneticileri
4) GUI Programlama - Olaylar
5) Topluluk Zekası Girişi, Önerilerde Bulunma
6) Topluluk Zekası Girişi, Önerilerde Bulunma (Devam) Ch 1, 2
7) Topluluk Zekası Girişi, Önerilerde Bulunma (Devam) Ch 1, 2
8) Topluluk Zekası Girişi, Önerilerde Bulunma (Devam) Ch 1, 2
9) İşbirlikçi Filtreleme Ch 2
10) İşbirlikçi Filtreleme (Devam) Ch 2
11) İşbirlikçi Filtreleme (Devam) Ch 2
12) Grupları Keşfetme - Hiyerarşik Kümeleme Ch 3
13) Grupları Keşfetme - Hiyerarşik Kümeleme (Devam) Ch 3
14) Grupları Keşfetme - k-Means Kümeleme Ch 3
15) Final

Kaynaklar

Ders Notları / Kitaplar: Programming Collective Intelligence by Toby Segaran. O’Reilly Press (2007, 1st edition).
Diğer Kaynaklar: Programming Collective Intelligence by Toby Segaran. O’Reilly Press (2007, 1st edition).

Ders - Program Öğrenme Kazanım İlişkisi

Course Learning Outcomes

1

2

3

4

5

6

Program Kazanımları
1) Problem çözme ve analitik düşünme yeteneklerini kazanır. 3 3 3 3 3 3
2) Bilgisayar programlama, donanım ve yazılım temellerini, temel bilgisayar kavramlarını öğrenir. 3 3 3 3 3 3
3) Problemlere göre algoritmalar geliştirir, temel algoritmalardan problemine uygun olanları ayırt etme becerisi kazanır. 3 3 3 3 3 3
4) Nesneye yönelik programlama konseptini ve web programlamayı kavrar. 3 3 3 3 3 3
5) Sayı tabanı sistemleri, temel elektronik ve bilgisayar donanımı bilgisini öğrenir. 3 3 3 3 3 3
6) Mobil programlama becerisi edinir, mobil platformlar için uygulamalar geliştirir. 3 3 3 3 3 3
7) Veritabanı tasarım ve kodlamasını yapar. 3 3 3 3 3 3
8) Bilgisayar ağları, açık kaynak kodlu işletim sistemleri programlamayı ve kullanmayı öğrenir. 3 3 3 3 3 3
9) İngilizce dilini etkin bir biçimde kullanır. 3 3 3 3 3 3
10) Programlamanın ihtiyaçlarına göre uygun veri yapıları kullanmayı öğrenir. 3 3 3 3 3 3
11) Bireysel ya da takım olarak yazılım geliştirir. 3 3 3 3 3 3
12) Alanındaki gelişmeleri, son teknoloji araçlarını/uygulamalarını takip eder. 3 3 3 3 3 3
13) Mesleki ve etik sorumluluk bilinci kazanır, meslek etiği farkındalığına sahiptir. 3 3 3 3 3 3

Ders - Öğrenme Kazanımı İlişkisi

Etkisi Yok 1 En Düşük 2 Orta 3 En Yüksek
       
Dersin Program Kazanımlarına Etkisi Katkı Payı
1) Problem çözme ve analitik düşünme yeteneklerini kazanır. 3
2) Bilgisayar programlama, donanım ve yazılım temellerini, temel bilgisayar kavramlarını öğrenir. 3
3) Problemlere göre algoritmalar geliştirir, temel algoritmalardan problemine uygun olanları ayırt etme becerisi kazanır. 3
4) Nesneye yönelik programlama konseptini ve web programlamayı kavrar. 3
5) Sayı tabanı sistemleri, temel elektronik ve bilgisayar donanımı bilgisini öğrenir. 3
6) Mobil programlama becerisi edinir, mobil platformlar için uygulamalar geliştirir. 3
7) Veritabanı tasarım ve kodlamasını yapar. 3
8) Bilgisayar ağları, açık kaynak kodlu işletim sistemleri programlamayı ve kullanmayı öğrenir. 3
9) İngilizce dilini etkin bir biçimde kullanır. 3
10) Programlamanın ihtiyaçlarına göre uygun veri yapıları kullanmayı öğrenir. 3
11) Bireysel ya da takım olarak yazılım geliştirir. 3
12) Alanındaki gelişmeleri, son teknoloji araçlarını/uygulamalarını takip eder. 3
13) Mesleki ve etik sorumluluk bilinci kazanır, meslek etiği farkındalığına sahiptir. 3

Ölçme ve Değerlendirme

Yarıyıl İçi Çalışmaları Aktivite Sayısı Katkı Payı
Ödev 2 % 20
Projeler 1 % 35
Final 1 % 45
Toplam % 100
YARIYIL İÇİ ÇALIŞMALARININ BAŞARI NOTU KATKISI % 55
YARIYIL SONU ÇALIŞMALARININ BAŞARI NOTUNA KATKISI % 45
Toplam % 100

İş Yükü ve AKTS Kredisi Hesaplaması

Aktiviteler Aktivite Sayısı Aktiviteye Hazırlık Aktivitede Harçanan Süre Aktivite Gereksinimi İçin Süre İş Yükü
Ders Saati 3 5 15
Proje 1 30 30
Ödevler 2 6 12
Final 1 30 30
Toplam İş Yükü 87