Ders Detayı
Ders Detayı
Ders Tanımı
| Ders | Kodu | Yarıyıl | T+U Saat | Kredi | AKTS |
|---|---|---|---|---|---|
| İLERİ PROGRAMLAMA | - | Bahar Dönemi | 3+2 | 4 | 5 |
| Ders Programı |
| Ön Koşul Dersleri | |
| Önerilen Seçmeli Dersler |
| Dersin Dili | İngilizce |
| Dersin Seviyesi | Lisans |
| Dersin Türü | Zorunlu |
| Dersin Koordinatörü | Prof.Dr. Selim AKYOKUŞ |
| Dersi Verenler | Prof.Dr. Selim AKYOKUŞ, Malik GEYLANİ |
| Dersin Yardımcıları | |
| Dersin Amacı | Bu dersin amacı, programlama uygulamaları, verimlilik ve veri bilimi üzerinde durularak Python kullanan öğrencilerin programlama ve problem çözme yeteneklerini ve becerilerini geliştirmektir. Python, çok sayıda kütüphane ile eğitim, bilimsel hesaplama ve veri biliminde yaygın olarak kullanılan bir dildir. Öğrenciler, bu derste yapay zeka ve veri bilimi için geliştirilmiş yerleşik kitaplıklardan yararlanan verimli programları arkalarındaki karmaşık mantık ve matematik hakkında bilgi sahibi olmak zorunda kalmadan öğrenecek, tasarlayacak, geliştirecek ve test edecektir. Programlama verimliliği ve analizi, bazı temel algoritmaların incelenmesi ve analizi, grafik kullanıcı arayüzleri, Python'un gelişmiş özellikleri, Python Veri Yapıları, Farklı Veri Depolarından Veri Setleri Yükleme, NumPy ile Dizi Yönelimli Programlama, Yüksek Performanslı NumPy Dizileri, Pandas Serisi ve DataFrames, Düzenli İfadeler ve Veri Düzenleme, Zaman Serileri ve Basit Doğrusal Regresyon, Doğal Dil İşleme (NLP), Web Tarama, Veri Madenciliği Twitter: Duygu Analizi, Makine Öğrenimi: Sınıflandırma, Regresyon ve Kümeleme, Derin Öğrenme Evrişimli ve Tekrarlayan Sinir Ağları, İşbirlikçi Filtreleme, Optimizasyon ile Öneriler. |
| Dersin İçeriği | Bu ders; Verimli algoritma geliştirme,Arama ve sıralama algoritma analizi,Python Veri Yapıları,Veri Analizi ve Görselleştirme,Numpy ve Scipy ile Dizi-Tabanlı ve Bilimsel Programlama,Pandas ile Veri İşleme,Veri Yükleme, depolama ve dosya Formatları; Veri Görselleştirme,Zaman Serileri ve Basit Lineer Regresyon,Doğal Dil İşleme ve Web Veri Çıkarma,Twitter Veri Madenciliği: Duygu Analizi, JSON ve Web Servisleri,Makine Öğrenme: Sınıflandırma, Regresyon ve Kümeleme ,Derin Öğrenme: Evrişimli ve Tekrarlayan SinirAğları,İşbirlikçi Filtreleme, Öneri Sunma,Optimizasyon; konularını içermektedir. |
| Dersin Öğrenme Kazanımları | Öğretim Yöntemleri | Ölçme Yöntemleri |
| 1 - Verimli program tasarlama, uygulama ve test etme. | ||
| 2 - Farklı problemler için program kodunu öğrenerek, analiz ederek, çözerek ve geliştirerek programlama becerilerini geliştirme. | ||
| 3 - Yapılandırılmış programlama, soyut veri türleri, sınıflar ve nesneler kullanarak modüler programların nasıl tasarlanacağını, geliştirileceğini ve uygulanacağını öğrenme. | ||
| 4 - Birçok alanda bulunan yerleşik ve üçüncü taraf yazılım kütüpanelerinin özelliklerinden yararlanma. | ||
| 5 - Verilerin nasıl depolayacağını, yükleneğini, değiştirileceğini ve keşfedileceğini öğrenme. | ||
| 6 - Verileri özetleme, görselleştirme ve analiz etme. | ||
| 7 - Matematik, bilim, mühendislik, finans, yapay zeka ve oyun konularında çok çeşitli problemler için program yazma. | ||
| 8 - Birkaç örnek üzerinde bazı makine öğrenimi, veri madenciliği ve optimizasyon kitaplıklarının nasıl kullanılacağını ve uygulanacağını öğrenme. |
| Öğretim Yöntemleri: | |
| Ölçme Yöntemleri: |
Ders Akışı
| Sıra | Konular | Ön Hazırlık |
|---|---|---|
| 1 | Verimli algoritma geliştirme | |
| 2 | Arama ve sıralama algoritma analizi | |
| 3 | Python Veri Yapıları | |
| 4 | Veri Analizi ve Görselleştirme | |
| 5 | Numpy ve Scipy ile Dizi-Tabanlı ve Bilimsel Programlama | |
| 6 | Pandas ile Veri İşleme | |
| 7 | Veri Yükleme, depolama ve dosya Formatları; Veri Görselleştirme | |
| 8 | Zaman Serileri ve Basit Lineer Regresyon | |
| 9 | Doğal Dil İşleme ve Web Veri Çıkarma | |
| 10 | Twitter Veri Madenciliği: Duygu Analizi, JSON ve Web Servisleri | |
| 11 | Makine Öğrenme: Sınıflandırma, Regresyon ve Kümeleme | |
| 12 | Derin Öğrenme: Evrişimli ve Tekrarlayan SinirAğları | |
| 13 | İşbirlikçi Filtreleme, Öneri Sunma | |
| 14 | Optimizasyon |
| Kaynak |
| Intro to Python for Computer Science and Data Science: Learning to Program with AI, Big Data and The Cloud, Paul Deitel, Harvey Deitel, Pearson, 2020 |
| - Toby Segaran, Programming Collective Intelligence, O Reilly Press, 2007. - Brad Miller and David Ranum, Luther College, Problem Solving with Algorithms and Data Structures using Python, Franklin, Beedle & Associates, 2011 |
Dersin Program Yeterliliklerine Katkısı
| Dersin Program Yeterliliklerine Katkısı | |||||||
| No | Program Yeterliliği | Katkı Düzeyi | |||||
| 1 | 2 | 3 | 4 | 5 | |||
Değerlendirme Sistemi
| Katkı Düzeyi | Mutlak Değerlendirme | |
| Ara Sınavın Başarıya Oranı | 30 | |
| Genel Sınavın Başarıya Oranı | 70 | |
| Toplam | 100 | |
| AKTS / İşyükü Tablosu | ||||||
| Etkinlik | Sayı | Süresi (Saat) | Toplam İş Yükü (Saat) | |||
| Ders Saati | 14 | 3 | 42 | |||
| Rehberli Problem Çözme | 10 | 4 | 40 | |||
| Problem Çözümü / Ödev / Proje / Rapor Tanzimi | 6 | 6 | 36 | |||
| Okul Dışı Diğer Faaliyetler | 0 | 0 | 0 | |||
| Proje Sunumu / Seminer | 0 | 0 | 0 | |||
| Kısa Sınav (QUİZ) ve Hazırlığı | 2 | 6 | 12 | |||
| Ara Sınav ve Hazırlığı | 1 | 12 | 12 | |||
| Genel Sınav ve Hazırlığı | 1 | 20 | 20 | |||
| Performans Görevi, Bakım Planı | 0 | 0 | 0 | |||
| Toplam İş Yükü (Saat) | 162 | |||||
| Dersin AKTS Kredisi = Toplam İş Yükü (Saat)/30*=(162/30) | 5 | |||||
| Dersin AKTS Kredisi: *30 saatlik çalışma 1 AKTS kredisi sayılmaktadır. | ||||||
Dersin Detaylı Bilgileri
Ders Tanımı
| Ders | Kodu | Yarıyıl | T+U Saat | Kredi | AKTS |
|---|---|---|---|---|---|
| İLERİ PROGRAMLAMA | - | Bahar Dönemi | 3+2 | 4 | 5 |
| Ders Programı |
| Ön Koşul Dersleri | |
| Önerilen Seçmeli Dersler |
| Dersin Dili | İngilizce |
| Dersin Seviyesi | Lisans |
| Dersin Türü | Zorunlu |
| Dersin Koordinatörü | Prof.Dr. Selim AKYOKUŞ |
| Dersi Verenler | Prof.Dr. Selim AKYOKUŞ, Malik GEYLANİ |
| Dersin Yardımcıları | |
| Dersin Amacı | Bu dersin amacı, programlama uygulamaları, verimlilik ve veri bilimi üzerinde durularak Python kullanan öğrencilerin programlama ve problem çözme yeteneklerini ve becerilerini geliştirmektir. Python, çok sayıda kütüphane ile eğitim, bilimsel hesaplama ve veri biliminde yaygın olarak kullanılan bir dildir. Öğrenciler, bu derste yapay zeka ve veri bilimi için geliştirilmiş yerleşik kitaplıklardan yararlanan verimli programları arkalarındaki karmaşık mantık ve matematik hakkında bilgi sahibi olmak zorunda kalmadan öğrenecek, tasarlayacak, geliştirecek ve test edecektir. Programlama verimliliği ve analizi, bazı temel algoritmaların incelenmesi ve analizi, grafik kullanıcı arayüzleri, Python'un gelişmiş özellikleri, Python Veri Yapıları, Farklı Veri Depolarından Veri Setleri Yükleme, NumPy ile Dizi Yönelimli Programlama, Yüksek Performanslı NumPy Dizileri, Pandas Serisi ve DataFrames, Düzenli İfadeler ve Veri Düzenleme, Zaman Serileri ve Basit Doğrusal Regresyon, Doğal Dil İşleme (NLP), Web Tarama, Veri Madenciliği Twitter: Duygu Analizi, Makine Öğrenimi: Sınıflandırma, Regresyon ve Kümeleme, Derin Öğrenme Evrişimli ve Tekrarlayan Sinir Ağları, İşbirlikçi Filtreleme, Optimizasyon ile Öneriler. |
| Dersin İçeriği | Bu ders; Verimli algoritma geliştirme,Arama ve sıralama algoritma analizi,Python Veri Yapıları,Veri Analizi ve Görselleştirme,Numpy ve Scipy ile Dizi-Tabanlı ve Bilimsel Programlama,Pandas ile Veri İşleme,Veri Yükleme, depolama ve dosya Formatları; Veri Görselleştirme,Zaman Serileri ve Basit Lineer Regresyon,Doğal Dil İşleme ve Web Veri Çıkarma,Twitter Veri Madenciliği: Duygu Analizi, JSON ve Web Servisleri,Makine Öğrenme: Sınıflandırma, Regresyon ve Kümeleme ,Derin Öğrenme: Evrişimli ve Tekrarlayan SinirAğları,İşbirlikçi Filtreleme, Öneri Sunma,Optimizasyon; konularını içermektedir. |
| Dersin Öğrenme Kazanımları | Öğretim Yöntemleri | Ölçme Yöntemleri |
| 1 - Verimli program tasarlama, uygulama ve test etme. | ||
| 2 - Farklı problemler için program kodunu öğrenerek, analiz ederek, çözerek ve geliştirerek programlama becerilerini geliştirme. | ||
| 3 - Yapılandırılmış programlama, soyut veri türleri, sınıflar ve nesneler kullanarak modüler programların nasıl tasarlanacağını, geliştirileceğini ve uygulanacağını öğrenme. | ||
| 4 - Birçok alanda bulunan yerleşik ve üçüncü taraf yazılım kütüpanelerinin özelliklerinden yararlanma. | ||
| 5 - Verilerin nasıl depolayacağını, yükleneğini, değiştirileceğini ve keşfedileceğini öğrenme. | ||
| 6 - Verileri özetleme, görselleştirme ve analiz etme. | ||
| 7 - Matematik, bilim, mühendislik, finans, yapay zeka ve oyun konularında çok çeşitli problemler için program yazma. | ||
| 8 - Birkaç örnek üzerinde bazı makine öğrenimi, veri madenciliği ve optimizasyon kitaplıklarının nasıl kullanılacağını ve uygulanacağını öğrenme. |
| Öğretim Yöntemleri: | |
| Ölçme Yöntemleri: |
Ders Akışı
| Sıra | Konular | Ön Hazırlık |
|---|---|---|
| 1 | Verimli algoritma geliştirme | |
| 2 | Arama ve sıralama algoritma analizi | |
| 3 | Python Veri Yapıları | |
| 4 | Veri Analizi ve Görselleştirme | |
| 5 | Numpy ve Scipy ile Dizi-Tabanlı ve Bilimsel Programlama | |
| 6 | Pandas ile Veri İşleme | |
| 7 | Veri Yükleme, depolama ve dosya Formatları; Veri Görselleştirme | |
| 8 | Zaman Serileri ve Basit Lineer Regresyon | |
| 9 | Doğal Dil İşleme ve Web Veri Çıkarma | |
| 10 | Twitter Veri Madenciliği: Duygu Analizi, JSON ve Web Servisleri | |
| 11 | Makine Öğrenme: Sınıflandırma, Regresyon ve Kümeleme | |
| 12 | Derin Öğrenme: Evrişimli ve Tekrarlayan SinirAğları | |
| 13 | İşbirlikçi Filtreleme, Öneri Sunma | |
| 14 | Optimizasyon |
| Kaynak |
| Intro to Python for Computer Science and Data Science: Learning to Program with AI, Big Data and The Cloud, Paul Deitel, Harvey Deitel, Pearson, 2020 |
| - Toby Segaran, Programming Collective Intelligence, O Reilly Press, 2007. - Brad Miller and David Ranum, Luther College, Problem Solving with Algorithms and Data Structures using Python, Franklin, Beedle & Associates, 2011 |
Dersin Program Yeterliliklerine Katkısı
| Dersin Program Yeterliliklerine Katkısı | |||||||
| No | Program Yeterliliği | Katkı Düzeyi | |||||
| 1 | 2 | 3 | 4 | 5 | |||
Değerlendirme Sistemi
| Katkı Düzeyi | Mutlak Değerlendirme | |
| Ara Sınavın Başarıya Oranı | 30 | |
| Genel Sınavın Başarıya Oranı | 70 | |
| Toplam | 100 | |