BILGISAYAR PROGRAMCILIĞI
Önlisans TYYÇ: 5. Düzey QF-EHEA: Kısa Düzey EQF-LLL: 5. Düzey

Ders Genel Tanıtım Bilgileri

Ders Kodu: BGP706
Ders İsmi: Python Programlama
Ders Yarıyılı: 4. Yarıyıl / Bahar
Ders Kredileri:
Teorik Pratik Kredi AKTS
2 0 2 3
Öğretim Dili: TR
Ders Koşulu: Yok
Dersin Türü: Alan İçi Seçmeli
Dersin Düzeyi:
Önlisans TYYÇ:5. Düzey QF-EHEA:Kısa Düzey EQF-LLL:5. Düzey
Dersi Veren(ler): Öğr. Gör. Kadir Turgut

Dersin Amaç ve İçeriği

Dersin Amacı: Python Programlama dersi, öğrencilere modern programlama dünyasının temel taşlarından biri olan Python dilinde programlama becerileri kazandırmayı amaçlamaktadır.
Dersin Hedefi: Python Programlama dersinin temel hedefi, öğrencilere Python programlama dilinde yeterlilik kazandırmak ve onları bu dilin sağladığı geniş uygulama alanlarına yönlendirmektir.
Dersin Veriliş Şekli: Yüz yüze

Öğrenme Kazanımları

Bilgi (Kuramsal ve/veya olgusal bilgi olarak tanımlanmıştır.)
  1) Python Programlama Dili Temelleri: Python'un temel syntax'ını, veri tiplerini (stringler, listeler, sözlükler, tuple'lar) ve kontrol yapılarını (if-else, for ve while döngüleri) tanımlayabilme.
  2) Fonksiyonlar ve Modüller: Fonksiyon tanımlama, parametre kullanımı, return değerleri, standart kütüphane modülleri ve üçüncü parti kütüphanelerin temel kullanımlarını anlama.
  3) Nesne Yönelimli Programlama (OOP): Sınıf tanımlamaları, miras alma, çok biçimlilik ve kapsülleme kavramlarını açıklayabilme.
  4) Veri Yapıları ve Algoritmalar: Temel veri yapıları (listeler, yığınlar, kuyruklar, setler, sözlükler) ve algoritmalar (sıralama, arama) hakkında bilgi sahibi olma.
  5) Dosya İşlemleri ve Veri Serileştirme: Metin ve ikili dosyalarla çalışma, JSON ve XML gibi veri serileştirme formatlarını kullanabilme.
Beceriler (Bilişsel ve/veya uygulama becerileri olarak tanımlanmıştır.)
  1) Problem Çözme ve Algoritma Geliştirme: Verilen problemlere yönelik etkili algoritmalar geliştirebilme ve Python koduna dönüştürebilme.
  2) Veri Analizi: Pandas, NumPy gibi veri analizi kütüphanelerini kullanarak veri setleri üzerinde işlemler yapabilme (veri temizleme, dönüştürme, analiz).
  3) Web Geliştirme: Flask veya Django gibi Python web çerçevelerini kullanarak basit web uygulamaları geliştirebilme.
  4) Otomasyon ve Scripting: Sıkıcı, tekrar eden görevleri otomatikleştirmek için Python script'leri yazabilme.
  5) Güvenlik ve Performans Optimizasyonu: Yazılan Python kodlarının güvenliğini sağlama ve performansını iyileştirme tekniklerini uygulayabilme.
Yetkinlikler (Bağımsız çalışabilme, sorumluluk alabilme, öğrenme, alana özgü, iletişim ve sosyal yetkinlikler olarak tanımlanmıştır.)
  1) Eleştirel Düşünme: Problemlere karşı çeşitli çözüm yollarını değerlendirme ve en etkili çözümü seçme yeteneği.
  2) Takım Çalışması ve İşbirliği: Çeşitli disiplinlerden bireylerle etkili bir şekilde çalışabilme ve projelerde işbirliği yapabilme.
  3) Öğrenmeyi Öğrenme: Yeni kütüphaneler, araçlar ve programlama teknikleri hakkında kendiliğinden öğrenme ve bu bilgileri uygulamaya alma yeteneği.
  4) Sürekli Gelişim: Teknolojik gelişmeleri takip etme ve mesleki bilgi birikimini sürekli güncelleme.
  5) Etik ve Profesyonel Sorumluluk: Yazılım geliştirme sürecinde etik değerlere ve profesyonel standartlara uygun davranma.

Ders Akış Planı

Hafta Konu
Ön Hazırlık Pekiştirme
1) Temel Veri Tipleri ve Print
2) Değişkenler ve Veri Tipleri
3) Matematiksel ve Mantıksal İşlemler
4) Koşul İfadeleri
5) Döngüler
6) Fonksiyonlar
7) Dosya İşlemleri
8) Arama ve Sıralama
9) Veri Yapıları ve Listeler
10) Karma Örnekler
11) Sayısal Hesaplamalar ve Yöntemler
12) Nesne ve Sınıf Kavramları
13) Numpy ve Pandas Kütüphaneleri
14) Python ile Gelişmiş Uygulamalar
Diğer Kaynaklar: "Python Crash Course" - Eric Matthes

Ders - Program Öğrenme Kazanım İlişkisi

Etkisi Yok 1 En Düşük 2 Orta 3 En Yüksek
       
Ders Öğrenme Kazanımları

1

2

3

4

5

1

2

3

4

5

1

2

3

4

5

Program Kazanımları
1) Teknolojinin her alanda bir gereklilik olduğu günümüzde teknoloji üretmek ve devamlılığını sağlamak tüm kurumlar için zorunluluk haline gelmiştir. Türkiye'de ve tüm dünyada, donanım ve yazılım çözümleri sunabilecek nitelikli teknik kadroya her zaman ihtiyaç duyulduğu bir gerçektir. Üretilen yaratıcı ve inovatif fikirlerin hayata geçirilmesi için yazılım konusunda uzman bireylerin yetişmesi önem arz etmektedir. Bilgisayar Programcılığı bölümümüz; temel programlama ve algoritma geliştirme teknikleri, güncel programlama dilleri, proje yönetimi metodolojileri, veri tabanı yönetimi, ağ sistemleri ve donanım konularında yetkin ve yaratıcı bireyler yetiştirmeyi hedeflemektedir. Teknik uygulama ve teorik içeriğin yanı sıra öğrencilerimizin kişisel gelişimlerini destekleyen ve ilgi alanlarına göre yönelebilecekleri dersler de sunulmaktadır.

Ders Öğretme, Öğrenme Yöntemleri

Soru-Cevap
Vaka Problemi Çözdürme/ Drama-Rol/ Vaka Yönetimi
Laboratuvar
Sayısal Problem Çözme
Alan çalışması
Grup Çalışması / Ödevi
Bireysel Ödev
WEB Tabanlı Öğrenme
Staj
Yerinde Uygulama
Proje Hazırlama
Rapor Yazma
Seminer
Süpervizyon
Sosyal Faaliyet
Mesleki Faaliyet
Mesleki Gezi
Uygulama (Modelleme, Tasarım, Maket, Simülasyon, Deney vs.)
Okuma
Tez Hazırlama
Arazi Çalışması
Öğrenci Kulüp ve Konseyi Faaliyetleri
Diğer
Logbook
Röportaj ve sözlü görüşme
Araştırma
Film izleme
Kaynakça oluşturma
Sözlü, yazılı ve görsel bilgi üretme
Fotoğraf çekimi
Eskiz çizimi
Harita üzerinde işaretleme
Harita okuma
Doku örneği alma
Malzeme arşivi oluşturma
Kendi fikrini ve çalışmalarını sunma ve sergileme

Değerlendirmeye Sistemi

Yarıyıl İçi Çalışmaları Aktivite Sayısı Katkı Payı
Devam % 0
Laboratuar % 0
Uygulama % 0
Uygulama Sınavı % 0
Küçük Sınavlar % 0
Ödev % 0
Sunum % 0
Projeler % 0
Derse Özgü Staj % 0
Alan Çalışması % 0
Makale Kritik % 0
Makale Yazma % 0
Modül Grup Çalışması % 0
Beyin Fırtınası % 0
Rol Oynama + Dramatize Etme % 0
Sınıf Dışı Ders Çalışma % 0
Ön Çalışma, Pekiştirme % 0
Uygulama Tekrarı vb. % 0
Ödevler (okuma, yazma, film izleme vs.) % 0
Proje Hazırlama + Sunma % 0
Rapor Hazırlama + Sunma % 0
Sunum / Seminer Hazırlama + Sunma % 0
Sözlü Sınav % 0
Ara Sınavlar 1 % 40
Final 1 % 60
Rapor Teslimi % 0
Bütünleme % 0
Kanaat Notu % 0
Kurul-Committee % 0
Yazma Ödev Dosyası % 0
Portfolyo % 0
Take-Home Sınav % 0
Seyir Defteri % 0
Tartışma % 0
Katılım % 0
Toplam % 100
YARIYIL İÇİ ÇALIŞMALARININ BAŞARI NOTU KATKISI % 40
YARIYIL SONU ÇALIŞMALARININ BAŞARI NOTUNA KATKISI % 60
Toplam % 100

İş Yükü ve AKTS Kredisi Hesaplaması

Aktiviteler Aktivite Sayısı İş Yükü
Ders Süresi 14 28
Laboratuvar
Uygulama
Uygulama Sınavı
Derse Özgü Staj
Alan Çalışması
Sınıf Dışı Ders Çalışması
Makale Kritik
Makale Yazma
Modül Grup Çalışması
Beyin Fırtınası
Rol Oynama + Dramatize Etme
Sınıf Dışı Ders Çalışma (Ön Çalışma, Pekiştirme, Uygulama Tekrarı Vb.) 14 28
Ödevler (okuma, yazma, film izleme vs.)
Proje Hazırlama + Sunma
Rapor Hazırlama + Sunma
Sunum / Seminer Hazırlama + Sunma
Sözlü Sınav
Ara Sınavlara Hazırlanma 7 14
ARA SINAV (Vize) 1 1
Genel Sınava Hazırlanma 14 28
GENEL SINAV (Final) 1 1
Katılım
Tartışma
Portfolyo
Take-Home Sınav
Seyir Defteri
Toplam İş Yükü 100
AKTS (30 saat = 1 AKTS ) 3