Bu dersin sonunda öğrenciler; 1) Yapay zekaya giriş ve temel kavramları, uygulama alanları, kişisel, sosyal ve iş dünyasına etkilerini bilir, 2) Veri bilimi, büyük veri, veri madenciliği, makine öğrenmesi konu alanlarını, temel bileşenlerini, birbirinden farklılıklarını, uygulama amaçlarını ve yöntemlerini bilir, 3) Python programlama dilinin yapısını, çalışma modeli ve özelliklerini bilir, 4) Python ve veri bilimi yazılım geliştirme ortamlarını (Anaconda, Jupiter, Google Colab, Spyder vb.) ve kurulumlarını bilir, 5) Python Programlama Dilinde değişkenler, basit veri türleri, atamalar ve aritmetik işlemleri bilir, 6) Python Programlama Dilinde kontrol ve döngü deyimlerinin kullanımını bilir, 7) Python Programlama Dilinde hata-istisna durum yönetimini bilir, 8) Python Programlama Dilinde veri yapılarını (Tuple, List, Dictionary, Set vb.) bilir, 9) Python Programlama Dilinde fonksiyonların kullanımını, yazılımların fonksiyonel analizi ve tasarımını bilir, 10) Python Programlama Dilinde sınıfların kullanımını bilir, 11) Python Programlama Dilinde nesneye yönelimli yaklaşım ve Model-View-Controlor (MVC) şablonu doğrultusunda yazılımların analiz ve tasarımını bilir, 12) Veri bilimi projelerinin ana aşamaları bilir, 13) Verinin toplanması, verinin temizlenmesi ve işlenmesi, veri özelliklerinin belirlenmesi, keşfe yönelik veri analizi, veri modelleri ve algoritmalarının tasarımı ve kullanımını aşamalarını bilir, 14) Gözetimli Makine Öğrenmesi (Supervised Machine Learning) modellerini/algoritmalarını bilir, 15) Gözetimsiz Makine Öğrenmesi (Unsupervised Machine Learning) modellerini/algoritmalarını bilir, 16) Bir dönem projesini uygulama düzeyinde geliştirebilecek bilgi ve becerilere sahip olur.
DERSİN VERİLİŞ BİÇİMİ
Yüz Yüze
DERSİN ÖNKOŞULLARI
Yok
ÖNERİLEN DERSLER
Yok
DERS TANIMI
Dersin iki ana amacı bulunmaktadır:
a. Python programlama dilinin yapısı ve bileşenlerini öğrenerek veri bilimi, makine öğrenmesi, kurumsal uygulama ile web yazılımlarını geliştirmek için gerekli temel programlama bilgi ve becerilerini edinmek,
b. Edinilen programlama bilgi ve becerilerini kullanarak giriş düzeydeki veri bilimi ve makine öğrenmesi uygulamalarını gerçekleştirmektir.
DERS İÇERİĞİ
HAFTA
KONULAR
1. Hafta
Dersin Tanıtımı,Yapay Zekaya Giriş ve Temel Kavramları, Uygulama Alanları, Kişisel, Sosyal ve İş Dünyasına Etkileri Temel Konular: Veri Bilimi, Büyük Veri, Veri Madenciliği, Makine Öğrenmesi ve Temel Bileşenleri, Python Yazılım Geliştirme Ortamları ve Kurulumları (Anaconda, Google Colab, Jupiter, Spyder vb.)hakkında bilgi
2. Hafta
Python Programlama Dili Yazım Kuralları ve Farklılıkları (Boşluk, Hücre (Cell) Kavramı,Değişkenler, Basit Veri Türleri (Integer, Floating Point, String, Boolean, Date, vb.), Deyimler, Atamalar ve Aritmetik İşlemler,Python'da Veri Yapıları,Python'da Hazır Paketler ve Kullanım Alanları
3. Hafta
Kontrol ve Döngü Deyimleri (IF, IF-Else, Switch, For Loop, While Loop vb),For ve While Deyimleriyle Veri İşleme,Hata-İstisna Durum Yönetimi (Exception Handling)
4. Hafta
Fonksiyonların Kullanımı,Python Yazılımlarının Fonksiyonel Analizi ve Tasarımı
5. Hafta
Nesne Yönelimli Programlama ve Temel Kavramlar, Sınıflar (Class) ve Kullanımları,Python Projeleri Kaynak Kodlarının Organize Yöntemleri (Fonksiyonel, NYP, Modül, Paket Kavramları, NYP Yaklaşımı doğrultusunda Model-View-Kontrolor (MVC) Şablonu Kullanılarak Python Projelerinin Organize Edilmesi
6. Hafta
Python'da Veri Yapıları ve Kullanımları (List, Tuple, Dicitionary, Set vb.)
7. Hafta
Veri Bilimi ve Makine Öğrenmesi Proje Yönetimi Genel Aşamaları,Projenin Tanımlanması ve Başlatılması (İhtiyaç analizi ve problemin tanımı, Proje amaçlarının belirlenmesi, Proje başlatma belgesinin hazırlanması),Projenin Yürütülmesi (Veri Bilimi Adımları (İhtiyaç belirtimi, Veri kaynaklarının belirlemesi ve verinin elde edilmesi))
8. Hafta
A R A S I N A V H A F T A S I
9. Hafta
Keşfe Yönelik Veri Analizi (EDA),Verinin Hazırlanması (temizlenmesi, birleştirilmesi, dönüştürülmesi),Verinin Görselleştirilmesine Yönelik Python Kütüphaneleri (Seaborn, Matplotlib vb.),Veri İşleme ve Hesaplamaya Yönelik Python Kütüphaneleri (Pandas, Numpy, Scipy, vb.)
10. Hafta
Makine Öğrenmesi Temel Kavramları,Makine Öğrenmesi Uygulama Adımları ve Alanları,Öğrenme Modelleri
11. Hafta
Gözetimli Makine Öğrenmesi Modelleri (Supervised Machine Learning,K-NN Öğrenme Modeli vb.
12. Hafta
Gözetimsiz Makine Öğrenmesi (Unsupervised Learning), K-Means Öğrenme Modeli vb.
13. Hafta
Genel Tekrar
14. Hafta
Dönem Projelerinin Sunulması ve Değerlendirme
ZORUNLU YA DA ÖNERİLEN KAYNAKLAR
Pramod Singh, (2019). Machine Learning with PySpark, APress Media, NY, USA. Puneet Mathur, (2019). Machine Learning Applications Using Python: Cases Studies from Healthcare, Retail, and Finance. , APress Media, NY, USA. Andreas C. Müller, Sarah Guido (Author) (2016). Introduction to Machine Learning with Python: A Guide for Data Scientists. O'Reilly Media. Oliver Theobald (2018). Machine Learning For Absolute Beginners: A Plain English Introduction (Machine Learning From Scratch). Independent Publisher. Mueller, J.P., Massaron, L.(2016). Machine Learning For Dummies, John Wiley & Sons, Inc., USA. Oliver Theobald (2018). Machine Learning For Absolute Beginners: A Plain English Introduction (Machine Learning From Scratch).
ÖĞRETİM YÖNTEM VE TEKNİKLERİ
Project-Supported Traditional Instructional Method
DEĞERLENDİRME YÖNTEMİ VE GEÇME KRİTERLERİ
Sayısı
Toplam Katkısı(%)
Ara Sınav
1
40
Proje
1
20
Diğer
1
10
Toplam(%)
70
Yıl İçinin Başarıya Oranı(%)
70
Finalin Başarıya Oranı(%)
30
Toplam(%)
100
AKTS İŞ YÜKÜ
Aktivite
Sayı
Süresi(Saat)
İş Yükü
Ara Sınav
1
1,5
1,5
Kısa Sınavlara hazırlık
0
1
0
Sınıf Dışı Ders Çalışma Süresi
14
1
14
Final Sınavına Hazırlık
1
22
22
Ders Saati
13
2
26
Ara Sınava Hazırlık
1
14
14
Laboratuvar
14
2
28
Final Sınavı
1
1,5
1,5
Ödevler
Sunum (Hazırlık dahil)
1
3
3
Proje
1
24
24
Rapor yazma
1
23
23
Toplam İş Yükü
157
Toplam İş Yükü / 30
5,23
Dersin AKTS Kredisi
5
DİL
Türkçe
STAJ / UYGULAMA
Yok
PROGRAM YETERLİLİKLERİ (P) / DERSİN ÖĞRENME KAZANIMLARI (Ö) MATRİSİ