DERSİN GENEL BİLGİLERİ |
Ders Kodu | Ders Adı | Yıl | Yarıyıl | Teorik | Pratik | Kredi | AKTS |
50612METOZ-BLP0112 | Programlama Dilleri II | 1 | Bahar | 2 | 1 | 3 | 6 |
Dersin Türü: | Zorunlu |
Dersin Düzeyi: | Önlisans TYYÇ:5. Düzey QF-EHEA:Kısa Düzey EQF-LLL:5. Düzey |
Dersin Öğretim Dili: | Turkish |
Dersin Ön/Yan Koşulu: | Yoktur |
Dersin Veriliş Şekli: | Yüz yüze |
Dersin Koordinatörü: | Öğretim Görevlisi İHSAN ARVAS |
Dersin Öğretim Eleman(lar)ı: |
|
Dersin Kategorisi: |
BÖLÜM II: DERSİN TANITIMI |
Dersin Amacı: | Bu dersin amacı, temel Python bilgisine sahip öğrencilerin programlama becerilerini geliştirmek, Python'da veri yapıları, dosya işlemleri, hata yönetimi, nesne tabanlı programlama (OOP) ve ileri seviye Python kütüphanelerini kullanarak kapsamlı projeler geliştirmelerini sağlamaktır. |
Dersin İçeriği: | Bu ders, Python programlama dilini ileri düzeyde öğrenmek isteyen öğrenciler için tasarlanmıştır. Ders, temel Python bilgisine sahip olan öğrencilere, veri yapıları, fonksiyonlar, dosya işlemleri, hata yönetimi ve nesne tabanlı programlama (OOP) gibi konularda derinlemesine bilgi sunmayı amaçlamaktadır. İleri düzey veri yapılarıyla başlayarak, listeler, kümeler, demetler ve sözlükler üzerinde detaylı işlemler yapılacak ve veri yapılarının etkin kullanımı sağlanacaktır. Fonksiyonlar ve modüller bölümünde, lambda fonksiyonları, modül oluşturma ve modül kullanımı gibi konular ele alınacaktır. Dosya işlemleri kısmında ise metin dosyalarının yanı sıra CSV ve JSON dosyalarıyla çalışma üzerine odaklanılacak, bu sayede verilerin işlenmesi ve saklanması öğretilecektir. Hata yönetimi bölümünde, öğrenciler try/except bloklarını kullanarak Python'da hata yakalama ve yönetme becerilerini geliştirecek, özel istisna sınıfları oluşturarak daha sağlam kodlar yazmayı öğrenecektir. Nesne tabanlı programlama (OOP) konusu, sınıflar, miras yapıları, kapsülleme ve polimorfizm gibi kavramlar üzerinden detaylı bir şekilde işlenecek, öğrencilere gerçek dünyada kullanılabilecek nesne tabanlı uygulamalar geliştirme becerisi kazandırılacaktır. Veri analizi bölümünde ise NumPy ve pandas kütüphaneleri ile veri işleme ve analiz etme yöntemleri öğretilirken, matplotlib ile veri görselleştirme tekniklerine de değinilecektir. Ayrıca, RegEx (Regular Expressions), itertools, collections, ve datetime gibi ileri seviye Python kütüphaneleri ile daha karmaşık veri işlemleri gerçekleştirilecektir. Öğrenciler, ders boyunca edindikleri bilgileri, gerçek dünya problemlerine yönelik bir proje geliştirerek uygulama fırsatı bulacak ve bu süreçte hem teorik hem de pratik becerilerini pekiştirecektir. |
Yoktur. |
Bilgi (Kuramsal ve/veya olgusal bilgi olarak tanımlanmıştır.) | ||
1) Gelişmiş Veri Yapılarını Kullanabilme: Öğrenciler, Python'daki listeler, kümeler, demetler ve sözlükler gibi gelişmiş veri yapılarını etkili bir şekilde kullanarak karmaşık veri yönetimi yapabileceklerdir. |
||
2) Fonksiyon ve Modül Yazımı: Öğrenciler, kendi fonksiyonlarını yazarak ve modüller oluşturarak kodun yeniden kullanılabilirliğini artırma becerisi kazanacaklardır. Lambda ifadeleri ve yüksek düzeyli fonksiyonlar hakkında bilgi sahibi olacaklardır. |
||
3) Öğrenciler, Python'un standart kütüphanelerini (örneğin, math, datetime, random gibi) ve üçüncü taraf kütüphaneleri (örneğin, NumPy, pandas, matplotlib) etkin bir şekilde kullanarak, çeşitli programlama görevlerini yerine getirme yeteneği kazanacaklardır. |
||
Beceriler (Bilişsel ve/veya uygulama becerileri olarak tanımlanmıştır.) | ||
1) Nesne Tabanlı Programlama (OOP) Uygulamaları: Öğrenciler, sınıf ve nesne kavramlarını anlayarak, miras, kapsülleme ve polimorfizm gibi OOP prensiplerini uygulayarak nesne tabanlı projeler geliştirme yeteneğine sahip olacaklardır. |
||
Yetkinlikler ("Bağımsız Çalışabilme", "Sorumluluk Alabilme", "Öğrenme", "İletişim ve Sosyal" ve "Alana Özgü" yetkinlikler olarak tanımlanmıştır.) | ||
1) Veri Analizi ve Görselleştirme: Öğrenciler, NumPy ve pandas kütüphanelerini kullanarak veri analizi yapabilecek, matplotlib ile bu verileri etkili bir şekilde görselleştirebileceklerdir. |
Hafta | Konu | ||
Ön Hazırlık | Pekiştirme | ||
1) | Derse Giriş ve Python'un İleri Düzey Kullanımı: Temel tekrar ve ileri seviye veri yapıları | Yoktur. | Yoktur. |
2) | Fonksiyonlar ve Modüller: Fonksiyonlar, lambda ifadeleri, modül oluşturma ve kullanımı | Yoktur | Yoktur |
3) | Dosya İşlemleri: Metin dosyaları, CSV ve JSON dosyaları ile çalışma | Yoktur. | Yoktur. |
4) | Hata Yönetimi: Try/Except blokları ve özel istisna sınıfları oluşturma | Yoktur. | Yoktur. |
5) | Nesne Tabanlı Programlama (OOP): Sınıf oluşturma ve nesne yapısı | Yoktur. | Yoktur. |
6) | OOP: Miras ve kapsülleme teknikleri | Yoktur. | Yoktur. |
7) | Arasınav | Yoktur | Yoktur |
8) | OOP: Polimorfizm ve özel metodlar (Magic Methods) | Yoktur. | Yoktur. |
9) | Python'da Veri Analizi I: NumPy ve pandas ile veri işleme | Yoktur | Yoktur |
10) | Python'da Veri Analizi II: matplotlib ile veri görselleştirme | Yoktur. | Yoktur. |
11) | İleri Seviye Python Kütüphaneleri: itertools, collections ve datetime | Yoktur. | Yoktur. |
12) | RegEx ile Metin İşleme ve İleri Seviye Liste İşlemleri | Yoktur. | Yoktur. |
13) | Proje Çalışması ve Geri Bildirim Oturumu | Yoktur. | Yoktur. |
14) | Proje Çalışması ve Geri Bildirim Oturumu | Yoktur. | Yoktur |
Etkisi Yok | 1 En Düşük | 2 Düşük | 3 Orta | 4 Yüksek | 5 En Yüksek |
Program Öğrenme Çıktıları | Katkı Oranı (1-5) | |
1) | Programlama dillerinin temel yapılarını ve algoritmaları kullanarak yazılım geliştirme becerisi kazanır. | |
2) | Nesne yönelimli programlama ilkelerini kullanarak fonksiyonel ve sürdürülebilir yazılımlar geliştirir. | 3 |
3) | Veri tabanı tasarımı ve yönetimini etkin bir şekilde gerçekleştirir, SQL sorguları yazar ve uygular. | 5 |
4) | Web teknolojileri ve internet programlama araçları kullanarak dinamik ve kullanıcı dostu web uygulamaları tasarlar. | 5 |
5) | Veri tabanı tasarımı ve yönetimini etkin bir şekilde gerçekleştirir, SQL sorguları yazar ve uygular. | |
6) | Mesleki etik ilkelere uygun olarak yazılım geliştirme süreçlerini yönetir. | |
7) | Yapay zeka temelleri ve Python programlama bilgisiyle yazılım projelerinde basit yapay zeka uygulamaları geliştirir. | |
8) | Veri güvenliği ilkelerine uygun olarak veritabanı koruma ve savunma yöntemleri uygular. | |
9) | Mobil uygulama geliştirme süreçlerini kavrayarak temel düzeyde mobil uygulamalar geliştirir. | |
10) | Kullanıcı ihtiyaçlarını analiz ederek uygun yazılım çözümleri tasarlar ve uygular. | |
11) | Ağ yapıları ve protokollerini kullanarak temel ağ kurulum ve yönetim işlemlerini gerçekleştirir. | |
12) | Görsel ve kullanıcı odaklı arayüz tasarım ilkelerini kullanarak işlevsel ve estetik yazılım uygulamaları geliştirir. |
BÖLÜM IV: DERSİN ÖĞRENME VE ÖĞRETME YÖNTEMLERİ İLE ÖLÇME VE DEĞERLENDİRME YÖNTEMLERİ |
Anlatım | |
Problem Çözme | |
Gösterip Yaptırma | |
Laboratuvar |
Ara Sınav | |
Yarıyıl Sonu Sınavı | |
Kısa Sınav |
Ölçme ve Değerlendirme Yöntemleri | Uygulama Sayısı / Yarıyıl | Katkı Oranı |
Kısa Sınavlar | 2 | % 20.00 |
Ara Sınavlar | 1 | % 30.00 |
Yarıyıl Sonu Sınavı | 1 | % 50.00 |
Toplam | % 100 | |
YARIYIL İÇİ ÖLÇME VE DEĞERLENDİRME YÖNTEMLERİNİN BAŞARI NOTUNA KATKI ORANI | % 50 | |
YARIYIL SONU SINAVININ BAŞARI NOTUNA KATKI ORANI | % 50 | |
Toplam | % 100 |
BÖLÜM V: DERSİN İŞ YÜKÜ VE AKTS KREDİSİ |
ÖĞRENME VE ÖĞRETME ETKİNLİKLERİ İŞ YÜKÜ | |||
Öğrenme ve Öğretme Etkinlikleri | Etkinlik Sayısı/Yarıyıl | Süresi (saat) | Toplam İş Yükü |
Ders | 14 | 1 | 14 |
Laboratuvar | 14 | 2 | 28 |
Uygulama | 0 | 0 | 0 |
Derse Özgü Staj | 0 | 0 | 0 |
Arazi Çalışması | 0 | 0 | 0 |
Sınıf Dışı Ders Çalışması | 0 | 0 | 0 |
Sunum / Seminer | 0 | 0 | 0 |
Proje | 7 | 6 | 42 |
Ödevler | 0 | 0 | 0 |
Öğrenme ve Öğretme Etkinlikleri Toplam İş Yükü | - | - | 84 |
ÖLÇME VE DEĞERLENDİRME ETKİNLİKLERİ İŞ YÜKÜ | |||
Ölçme ve Değerlendirme Etkinlikleri | Etkinlik Sayısı/Yarıyıl | Süresi (saat) | Toplam İş Yükü |
Kısa Sınav | 2 | 20 | 40 |
Ara Sınavlar | 1 | 15 | 15 |
Yarıyıl Sonu Sınavı | 1 | 15 | 15 |
Ölçme ve Değerlendirme Etkinlikleri Toplam İş Yükü | - | - | 70 |
TOPLAM İŞ YÜKÜ (Öğrenme ve Öğretme + Ölçme ve Değerlendirme Etkinlikleri) | 154 | ||
DERSİN AKTS KREDİSİ (Toplam İş Yükü/25.5 Saat) | 6 |