Ana içeriğe atla

Ders Detayı

Ders Tanımı

DersKoduYarıyılT+U SaatKrediAKTS
İLERİ PROGRAMLAMA-Bahar Dönemi3+245
Ders Programı
Ön Koşul Dersleri
Önerilen Seçmeli Dersler
Dersin Diliİngilizce
Dersin SeviyesiLisans
Dersin TürüZorunlu
Dersin KoordinatörüProf.Dr. Selim AKYOKUŞ
Dersi VerenlerProf.Dr. Selim AKYOKUŞ
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ğiBu 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ıraKonularÖn Hazırlık
1Verimli algoritma geliştirme
2Arama ve sıralama algoritma analizi
3Python Veri Yapıları
4Veri Analizi ve Görselleştirme
5Numpy ve Scipy ile Dizi-Tabanlı ve Bilimsel Programlama
6Pandas ile Veri İşleme
7Veri Yükleme, depolama ve dosya Formatları;
Veri Görselleştirme
8Zaman Serileri ve Basit Lineer Regresyon
9Doğal Dil İşleme ve Web Veri Çıkarma
10Twitter Veri Madenciliği: Duygu Analizi, JSON ve Web Servisleri
11Makine Öğrenme: Sınıflandırma, Regresyon ve Kümeleme
12Derin Öğrenme: Evrişimli ve Tekrarlayan SinirAğları
13İşbirlikçi Filtreleme, Öneri Sunma
14Optimizasyon
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ı
NoProgram Yeterliliği Katkı Düzeyi
12345
1
1. Matematik, fen bilimleri ve ilgili mühendislik disiplinine özgü konularda yeterli bilgi birikimi; bu alanlardaki kuramsal ve uygulamalı bilgileri, karmaşık mühendislik problemlerinde kullanabilme becerisi
X
2
2. Karmaşık mühendislik problemlerini saptama, tanımlama, formüle etme ve çözme becerisi; bu amaçla uygun analiz ve modelleme yöntemlerini seçme ve uygulama becerisi
X
3
3. Karmaşık bir sistemi, süreci, cihazı veya ürünü gerçekçi kısıtlar ve koşullar altında, belirli gereksinimleri karşılayacak şekilde tasarlama becerisi; bu amaçla modern tasarım yöntemlerini uygulama becerisi
X
4
4. Mühendislik uygulamalarında karşılaşılan karmaşık problemlerin analizi ve çözümü için gerekli olan modern teknik ve araçları geliştirme, seçme ve kullanma becerisi; bilişim teknolojilerini etkin bir şekilde kullanma becerisi
X
5
5. Karmaşık mühendislik problemlerinin veya disipline özgü araştırma konularının incelenmesi için deney tasarlama, deney yapma, veri toplama, sonuçları analiz etme ve yorumlama becerisi
X
6
6. Disiplin içi ve çok disiplinli takımlarda etkin biçimde çalışabilme becerisi; bireysel çalışma becerisi
X
7
7. Sözlü ve yazılı etkin iletişim kurma becerisi; en az bir yabancı dil bilgisi; etkin rapor yazma ve yazılı raporları anlama, tasarım ve üretim raporları hazırlayabilme, etkin sunum yapabilme, açık ve anlaşılır talimat verme ve alma becerisi
X
8
8. Yaşam boyu öğrenmenin gerekliliği bilinci; bilgiye erişebilme, bilim ve teknolojideki gelişmeleri izleme ve kendini sürekli yenileme becerisi
X
9
9. Etik ilkelerine uygun davranma, mesleki ve etik sorumluluk bilinci; mühendislik uygulamalarında kullanılan standartlar hakkında bilgi
X
10
10. Proje yönetimi, risk yönetimi ve değişiklik yönetimi gibi, iş hayatındaki uygulamalar hakkında bilgi; girişimcilik, yenilikçilik hakkında farkındalık; sürdürülebilir kalkınma hakkında bilgi
11
11. Mühendislik uygulamalarının evrensel ve toplumsal boyutlarda sağlık, çevre ve güvenlik üzerindeki etkileri ve çağın mühendislik alanına yansıyan sorunları hakkında bilgi; mühendislik çözümlerinin hukuksal sonuçları konusunda farkındalık

Değerlendirme Sistemi

Katkı DüzeyiMutlak 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
EtkinlikSayıSüresi (Saat)Toplam İş Yükü (Saat)
Ders Saati14342
Rehberli Problem Çözme10440
Problem Çözümü / Ödev / Proje / Rapor Tanzimi6636
Okul Dışı Diğer Faaliyetler000
Proje Sunumu / Seminer000
Kısa Sınav (QUİZ) ve Hazırlığı2612
Ara Sınav ve Hazırlığı11212
Genel Sınav ve Hazırlığı12020
Performans Görevi, Bakım Planı000
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ı

DersKoduYarıyılT+U SaatKrediAKTS
İLERİ PROGRAMLAMA-Bahar Dönemi3+245
Ders Programı
Ön Koşul Dersleri
Önerilen Seçmeli Dersler
Dersin Diliİngilizce
Dersin SeviyesiLisans
Dersin TürüZorunlu
Dersin KoordinatörüProf.Dr. Selim AKYOKUŞ
Dersi VerenlerProf.Dr. Selim AKYOKUŞ
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ğiBu 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ıraKonularÖn Hazırlık
1Verimli algoritma geliştirme
2Arama ve sıralama algoritma analizi
3Python Veri Yapıları
4Veri Analizi ve Görselleştirme
5Numpy ve Scipy ile Dizi-Tabanlı ve Bilimsel Programlama
6Pandas ile Veri İşleme
7Veri Yükleme, depolama ve dosya Formatları;
Veri Görselleştirme
8Zaman Serileri ve Basit Lineer Regresyon
9Doğal Dil İşleme ve Web Veri Çıkarma
10Twitter Veri Madenciliği: Duygu Analizi, JSON ve Web Servisleri
11Makine Öğrenme: Sınıflandırma, Regresyon ve Kümeleme
12Derin Öğrenme: Evrişimli ve Tekrarlayan SinirAğları
13İşbirlikçi Filtreleme, Öneri Sunma
14Optimizasyon
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ı
NoProgram Yeterliliği Katkı Düzeyi
12345
1
1. Matematik, fen bilimleri ve ilgili mühendislik disiplinine özgü konularda yeterli bilgi birikimi; bu alanlardaki kuramsal ve uygulamalı bilgileri, karmaşık mühendislik problemlerinde kullanabilme becerisi
X
2
2. Karmaşık mühendislik problemlerini saptama, tanımlama, formüle etme ve çözme becerisi; bu amaçla uygun analiz ve modelleme yöntemlerini seçme ve uygulama becerisi
X
3
3. Karmaşık bir sistemi, süreci, cihazı veya ürünü gerçekçi kısıtlar ve koşullar altında, belirli gereksinimleri karşılayacak şekilde tasarlama becerisi; bu amaçla modern tasarım yöntemlerini uygulama becerisi
X
4
4. Mühendislik uygulamalarında karşılaşılan karmaşık problemlerin analizi ve çözümü için gerekli olan modern teknik ve araçları geliştirme, seçme ve kullanma becerisi; bilişim teknolojilerini etkin bir şekilde kullanma becerisi
X
5
5. Karmaşık mühendislik problemlerinin veya disipline özgü araştırma konularının incelenmesi için deney tasarlama, deney yapma, veri toplama, sonuçları analiz etme ve yorumlama becerisi
X
6
6. Disiplin içi ve çok disiplinli takımlarda etkin biçimde çalışabilme becerisi; bireysel çalışma becerisi
X
7
7. Sözlü ve yazılı etkin iletişim kurma becerisi; en az bir yabancı dil bilgisi; etkin rapor yazma ve yazılı raporları anlama, tasarım ve üretim raporları hazırlayabilme, etkin sunum yapabilme, açık ve anlaşılır talimat verme ve alma becerisi
X
8
8. Yaşam boyu öğrenmenin gerekliliği bilinci; bilgiye erişebilme, bilim ve teknolojideki gelişmeleri izleme ve kendini sürekli yenileme becerisi
X
9
9. Etik ilkelerine uygun davranma, mesleki ve etik sorumluluk bilinci; mühendislik uygulamalarında kullanılan standartlar hakkında bilgi
X
10
10. Proje yönetimi, risk yönetimi ve değişiklik yönetimi gibi, iş hayatındaki uygulamalar hakkında bilgi; girişimcilik, yenilikçilik hakkında farkındalık; sürdürülebilir kalkınma hakkında bilgi
11
11. Mühendislik uygulamalarının evrensel ve toplumsal boyutlarda sağlık, çevre ve güvenlik üzerindeki etkileri ve çağın mühendislik alanına yansıyan sorunları hakkında bilgi; mühendislik çözümlerinin hukuksal sonuçları konusunda farkındalık

Değerlendirme Sistemi

Katkı DüzeyiMutlak Değerlendirme
Ara Sınavın Başarıya Oranı 30
Genel Sınavın Başarıya Oranı 70
Toplam 100

Sayısal Veriler

Öğrenci Başarı Durumu

Ekleme Tarihi: 06/07/2022 - 16:45Son Güncelleme Tarihi: 09/10/2023 - 10:50