DERSİN GENEL BİLGİLERİ |
Ders Kodu | Ders Adı | Yıl | Yarıyıl | Teorik | Pratik | Kredi | AKTS |
50612METOZ-BLP0112 | Programlama Dilleri II | 0 | Bahar | 2 | 1 | 3 | 6 |
Dersin Türü: | |
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: | Temel Alan |
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 |
Ders Notları / Kitaplar: | İlgili öğretim elemanının ders notları/Lecture notes of the relevant instructor Materyal |
Diğer Kaynaklar: | İşte Python ile ilgili ileri düzey konuları kapsayan beş referans kitap: 1. "Fluent Python" *Yazar:* Luciano Ramalho *Yayıncı:* O'Reilly Media *Yayın Yılı:* 2015 2. "Python Cookbook" *Yazarlar:* David Beazley, Brian K. Jones *Yayıncı:* O'Reilly Media *Yayın Yılı:* 2013 3. "Learning Python" *Yazarlar:* Mark Lutz *Yayıncı:* O'Reilly Media *Yayın Yılı:* 2013 4. "Python for Data Analysis" *Yazar:* Wes McKinney *Yayıncı:* O'Reilly Media *Yayın Yılı:* 2018 5. "Effective Python: 59 Specific Ways to Write Better Python" *Yazar:* Brett Slatkin *Yayıncı:* Addison-Wesley Professional *Yayın Yılı:* 2015 Materyal |
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) | Bilgisayar programcılığı ile ilgili uygulamalar için gerekli teknik ve modern araçları bilir. | |
1) | Analitik düşünme yeteneği ile öğrendiği yazılım dillerini kullanarak programlar geliştirir. | 5 |
1) | İş hayatındaki tüm süreçleri deneyimler. | |
1) | Bilgisayar programcılığı alanı ile ilgili temel, kuramsal ve uygulamalı bilgileri açıklar. | |
1) | Bilişim teknolojileri alanındaki temel kavramları bilir. | 3 |
1) | Problemleri analiz edebilme ve çözebilme yetkinliği kazanır. | |
2) | Bilgisayar ağlarının kurulumunu ve yönetimini gerçekleştirir. | |
2) | Alanı ile ilgili uygulama geliştirmek için gerekli olan teknikleri, araçları ve bilişim teknolojilerini bilir. | |
2) | Program geliştirmede kullanılan editör, derleyicileri ve platformları bilir. | 5 |
2) | Bilgisayar programcılığı alanında karşılaşabileceği problemleri tanımlar. | 5 |
2) | Alanında faaliyet gösteren bir işletmede eğitim alanı ile ilgili faaliyetlerde yer alır. | |
2) | Etik ve sosyal sorumluluk bilincine sahiptir. | |
3) | Teorik bilgiler ile uygulamayı karşılaştırır. | |
3) | Alanı ile ilgili iş ve işlemlerde ekip üyesi olarak sorumluluk alır. | |
3) | Bilgisayar programcılığının gerektirdiği analitik düşünme becerisine sahip olur. | 4 |
3) | Oyun geliştirme platformlarını kullanarak kodlama yapar. | |
3) | Öğrendiği teorik bilgileri kullanarak çözümler üretir. | |
3) | Web sayfasının görselliğini düzenlemek ve web sayfası geliştirmek için gerekli program bilgisine sahip olur. | |
4) | Yazılı, sözlü iletişim ve etkileşimin farkındadır. | |
4) | Bilgi sistem analizi ve tasarımı yeteneği kazanır. | |
4) | Programlama temellerini ve algoritma bilgisini tanımlar. | 5 |
4) | Veri tabanı tasarımı ve yönetimi için kullanılan araçlar hakkında bilgi sahibi olur. | |
4) | Alanında edindiği bilgi ve tecrübeleri derler. | |
4) | Bir yarı yıl boyunca iş hayatının içinde bulunarak öğrendiği teorik bilgilerini uygular. | |
5) | İleri teknolojileri ve dijital dönüşüm ile ilgili gelişmeleri takip eder. | |
5) | Web tasarımının temellerini tanımlar. | |
5) | Grafik tasarımı ve animasyon uygulamaları yapar. | |
5) | İş dünyasının ve toplumun beklentileri doğrultusunda gelişen ve üniversitemizin kurumsal çıktıları olarak tanımlamış olduğu yetkinlikleri alanı ile ilişkili olarak temel düzeyde kazanır. | |
5) | Oyun ve mobil uygulama geliştirme platformlarını bilir. | |
6) | Yaşamboyu öğrenme bilinci kazanır. | |
6) | Web tasarımını, yazılımını ve programlamasını gerçekleştirir. | |
6) | Yazılım ve donanım konusundaki teknolojik yenilikleri takip eder. | |
6) | Bilgisayar ağlarının temel kavramları ve yönetimi hakkında bilgi sahibi olur. | |
7) | İşletim sistemlerini kurar ve yönetir. | |
7) | Yurttaşlık yeterliliği konusunda bilinç sahibidir. | |
8) | Alanıyla ilgili gelişmeleri girişimci anlayışla değerlendirir. | |
8) | Veri tabanı uygulamaları geliştirir. | |
9) | Avrupa Dil Portfolyosunun en az A2 düzeyinde tanımlanan Yabancı Dilde (İngilizce) iletişim kurma yetkinliği kazanır. (Öğretim dili İngilizce olan programlar için B1 düzeyinde). | |
9) | Görsel ve nesne tabanlı programlamayı öğrenir. | 3 |
10) | Bilgisayar programcılığında karşılaşılan problemlere çözümler üretir ve karşılaştığı problemleri çözebileceği yöntemler 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 |