ANASAYFAKURUMSAL BİLGİLEREĞİTİM VE ÖĞRETİM PROGRAMLARI Bilgisayar ProgramcılığıSERTİFİKA PROGRAMLARIÖĞRENCİLER İÇİN FAYDALI BİLGİLER, KAYNAKLAR VE SERVİSLERFAYDALI LİNKLER VE DÖKÜMANLARİLAVE VE DESTEKLEYİCİ BİLGİLER

DERSİN GENEL BİLGİLERİ

Ders Kodu Ders Adı Yıl Yarıyıl Teorik Pratik Kredi AKTS
50612METOZ-BLP0051 Programlama Dilleri I 1 Güz 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 STAFF
Dersin Öğretim Eleman(lar)ı:

Dersin Kategorisi:

BÖLÜM II: DERSİN TANITIMI

Dersin Amacı ve İçeriği

Dersin Amacı: Bu ders, öğrencilerin programlamanın temel prensiplerini öğrenmelerini ve Python dilini kullanarak algoritma geliştirme, veri analizi ve otomasyon gibi pratik uygulamalar yapmalarını amaçlar. Ders sonunda öğrencilerin, temel Python komutlarını ve veri yapılarının yanı sıra, yazılım geliştirme süreçlerini anlamaları ve kendi projelerini oluşturabilecek seviyeye gelmeleri hedeflenmektedir.
Dersin İçeriği: Ders kapsamında, Python dilinin temel sözdizimi, veri tipleri, döngüler, koşul ifadeleri, fonksiyonlar ve modüller gibi konular ele alınacaktır. Ayrıca, öğrencilere veri yapıları (listeler, demetler, kümeler ve sözlükler) tanıtılacak ve bu veri yapılarının nasıl etkin bir şekilde kullanılacağı öğretilecektir. Programlama mantığını geliştirmek için çeşitli örnekler ve uygulamalar yapılacak, temel düzeyde dosya işlemleri ve hata yönetimi konuları da işlenecektir. Bu eğitim, öğrencilerin problem çözme yeteneklerini geliştirerek, onları ileri düzey Python ve diğer programlama konularına hazırlamayı hedeflemektedir.

Derse Özgü Kurallar

Yoktur.

Dersin Öğrenme Çıktıları (DÖÇ)

Ders Öğrenme Çıktıları (DÖÇ), dersi başarı ile tamamlayan öğrencilerin kendilerinden sahip olmaları beklenen bilgi, beceri ve yetkinlikleri ifade eder. Bu bağlamda, bu ders için tanımlanmış olan Ders Öğrenme Çıktıları aşağıda verilmektedir.
Bilgi (Kuramsal ve/veya olgusal bilgi olarak tanımlanmıştır.)
  1) Veri Yapılarını Kullanma: Öğrenciler, listeler, demetler, kümeler ve sözlükler gibi Python veri yapılarını tanıyacak ve bu yapıları verimli bir şekilde kullanarak veri işlemleri yapabilecektir.
Beceriler (Bilişsel ve/veya uygulama becerileri olarak tanımlanmıştır.)
  1) Programlama Temellerini Kavrama: Öğrenciler, Python dilinin temel sözdizimini, veri tiplerini ve temel komutları kullanarak basit programlar geliştirebilecektir.
Yetkinlikler ("Bağımsız Çalışabilme", "Sorumluluk Alabilme", "Öğrenme", "İletişim ve Sosyal" ve "Alana Özgü" yetkinlikler olarak tanımlanmıştır.)
  1) Koşul ve Döngü Yapılarını Uygulama: Öğrenciler, Python'da koşul ifadeleri ve döngü yapıları ile mantıksal kontrol akışını sağlayarak, algoritmalar oluşturabilecektir.
  2) Fonksiyonlar ve Modüller ile Çalışma: Öğrenciler, fonksiyonlar ve modüller kullanarak kodlarını daha modüler ve tekrar kullanılabilir hale getirebilecektir.
  3) Problem Çözme ve Hata Yönetimi: Öğrenciler, çeşitli programlama problemlerine çözüm üretecek ve Python'da hata yönetimi yaparak sağlam programlar yazabilecektir.

Haftalık Ders Planı

Hafta Konu
Materyal Paylaşımı *
Ön Hazırlık Pekiştirme
1) Giriş ve Python'a Başlangıç Programlamaya giriş, * Python’un özellikleri ve kullanım alanları Python'un kurulumu, * IDE tanıtımı (PyCharm, Jupyter Notebook, vs.) * Temel Python komutları ve sözdizimi Yoktur. Materyal - Yoktur.
2) Değişkenler ve Veri Tipleri *Değişken tanımlama kuralları *Sayısal veri tipleri: tam sayı (int), ondalıklı sayı (float), kompleks sayı *Metin veri tipleri: string (str) ve karakter işlemleri *Veri tipleri arasında dönüşümler Yoktur Yoktur.
3) Temel Giriş/Çıkış İşlemleri ve Kullanıcıdan Veri Alma * input() ve print() fonksiyonları * Formatlama yöntemleri * Kullanıcıdan veri alma ve çıktıları ekrana yazdırma Yoktur Yoktur.
4) Koşul İfadeleri *if, elif, else yapıları *Mantıksal operatörler (==, !=, , =, Yoktur. Yoktur.
5) Döngüler - for ve while *for döngüsü ile tekrar eden işlemler *while döngüsü ve döngüden çıkma (break) ve devam etme (continue) komutları *Döngülerle örnek problemler çözümü Yoktur. Yoktur.
6) Listeler ve Demetler (Tuples) *Listeler ve liste işlemleri (ekleme, çıkarma, sıralama) *Demetler (tuples) ve kullanım amaçları *Listeler ve demetler ile ilgili örnekler ve uygulamalar Yoktur. Yoktur.
7) Arasınav İlk 6 hafta ders notları
8) Kümeler ve Sözlükler (Dictionaries) *Kümeler (sets) ve küme işlemleri *Sözlükler (dictionaries) ve anahtar-değer yapısı *Kümeler ve sözlükler ile ilgili örnekler -- Fonksiyonlar - *Fonksiyon nedir? Neden kullanılır? *Fonksiyon tanımlama ve çağırma *Parametreler, geri dönüş değeri (return) *Özyinelemeli (recursive) fonksiyonlar Yoktur Yoktur.
9) Fonksiyonlar - *Lambda fonksiyonları ve anonim fonksiyonlar *map(), filter(), ve reduce() fonksiyonları *Fonksiyonlarla ilgili uygulamalar ve örnekler Yoktur. Yoktur.
10) Dosya İşlemleri *Dosya açma, okuma ve yazma işlemleri *Dosya modları (r, w, a, r+ vs.) *Dosya kapama ve hata yönetimi *Dosya işlemleri ile ilgili örnek uygulamalar Yoktur. Yoktur.
11) Hata Yönetimi ve İstisna (Exception) İşleme *try, except, finally yapıları *Hata türleri ve istisnalar *Hata yönetimi ile uygulama geliştirme Yoktur. Yoktur.
12) Modüller ve Python Kütüphaneleri *Hazır Python modüllerini kullanma (math, datetime, os, vs.) *Kendi modüllerinizi oluşturma ve kullanma *Üçüncü parti kütüphane yükleme (pip) Yoktur. Yoktur.
13) Proje Çalışması ve Uygulamalar Basit bir Python projesi belirleme (ör. hesap makinesi, küçük oyun, veri analizi uygulaması) Yoktur. Yoktur.
14) Proje Çalışması ve Uygulamalar Basit bir Python projesi belirleme (ör. hesap makinesi, küçük oyun, veri analizi uygulaması) Yoktur. Yoktur.
*Bu alan öğrencilerin ders öncesi hazırlık ve sonrası dersi pekiştirme için paylaşılan ders materyallerini içerir.

Ders İçin Zorunlu/Önerilen Kaynaklar

Ders Notları / Kitaplar: 1- Python Crash Course" by Eric Matthes, No Starch Press, 2019.
A hands-on introduction to Python programming, focusing on practical examples and projects.
2- Automate the Boring Stuff with Python" by Al Sweigart, No Starch Press, 2019.Aimed at beginners, this book teaches how to use Python to automate everyday tasks.
3- Python for Data Analysis" by Wes McKinney, O'Reilly Media, 2022.
Focused on using Python for data analysis, data manipulation, and visualization with libraries like pandas.
4- Fluent Python" by Luciano Ramalho, O'Reilly Media, 2022. For those with some experience in Python, this book dives deep into Python’s best practices and advanced techniques.
5- Head First Python" by Paul Barry, O'Reilly Media, 2016. A beginner-friendly book that takes a visual approach to teaching Python concepts through engaging exercises. Materyal
Diğer Kaynaklar: 1- Python ile Programlama" - Ahmet Aksoy, Pusula Yayıncılık, 2021. Python dilinin temellerini öğretmeyi hedefleyen bu kitap, programlamaya yeni başlayanlar için sade ve anlaşılır bir anlatım sunar.
2- Python 3 İle Programlama" - Murat Öztürk, Dikeyeksen Yayıncılık, 2020. Python 3 sürümüne odaklanan bu kitap, programlamaya sıfırdan başlayanlar için birçok örnek ve uygulama içeriyor.
3- Sıfırdan İleri Seviye Python" - Serkan Uygur, Kodlab Yayınları, 2019. Python dilini sıfırdan başlayarak ileri seviyeye kadar öğrenmek isteyenlere yönelik, uygulamalı bir rehber.
4- Veri Bilimi için Python ve Uygulamaları" - Yunus Emre Ayyıldız, Abaküs Kitap, 2022. Veri bilimi alanında Python'un kullanımına odaklanan bu kitap, veri analizi, veri görselleştirme ve makine öğrenimi konularını ele alıyor.
5- Python ile Yapay Zeka ve Makine Öğrenimi" - Arin Çakır, Abaküs Kitap, 2021.
Python kullanarak yapay zeka ve makine öğrenimi konularına giriş yapmak isteyenler için örneklerle desteklenmiş bir kaynak. Materyal

Dersin Program Öğrenme Çıktılarına Katkı Düzeyi

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ığı alanındaki temel kavramları, algoritma yapılarını ve programlama dillerini kullanarak yazılım çözümleri geliştirir.
2) Veri tabanı tasarımı, yönetimi ve sorgulama tekniklerini etkin bir şekilde kullanır. 3
3) Ağ temelli yazılım uygulamalarının gerekliliklerini bilir. 5
4) Nesne yönelimli programlama ilkelerini kullanarak yazılım çözümleri geliştirir. 5
5) Kullanıcı ihtiyaçlarına uygun yazılım bileşenlerini geliştirir.
6) Yazılım çözümlerinde kullanıcı gereksinimlerini ve mesleki etik kurallarını gözetir.
7) Gerçek dünyadaki problemleri analiz eder, uygun yazılım çözümleri üretir.
8) Takım çalışmasına yatkın olup, projelerde etkin bir şekilde yer alır ve işbirliği yapar. 4
9) Mesleki ve etik sorumluluk bilinciyle hareket eder, yazılım geliştirme süreçlerinde etik ilkeleri gözetir. 5
10) Teknolojik gelişmeleri takip ederek kendini sürekli yeniler ve yaşam boyu öğrenme bilinci geliştirir. 5
11) İş hayatındaki süreçleri anlayarak girişimcilik ve inovasyon konusunda temel bilgiye sahip olur
12) Alanındaki bilgi ve becerileri eleştirel bir yaklaşımla değerlendirerek, sözlü ve yazılı iletişim yoluyla etkin bir şekilde aktarır.

BÖLÜM IV: DERSİN ÖĞRENME VE ÖĞRETME YÖNTEMLERİ İLE ÖLÇME VE DEĞERLENDİRME YÖNTEMLERİ

Dersin Öğrenme ve Öğretme Yöntemleri

(Üniversitemiz genelinde kullanılan tüm öğrenme ve öğretme yöntemleri sistematik olarak yönetilmektedir. Akademik birimlerden gelen talepler doğrultusunda bölüm/programların öğrenme ve öğretme yöntemleri ilgili kurullarımız tarafından değerlendirilmekte ve uygun bulunursa, üniversite havuzunda toplanmaktadır. Bölüm ve programlar, kendileri için program tasarımlarına uygun olan yöntemleri bu havuzdan seçebilmektedirler. Benzer şekilde, dersler için kullanılması uygun görülen yöntemler de programlar düzeyinde belirlenmiş olan yöntemler arasından seçilebilmektedir.)
Programa Genelinde Kullanılan Öğrenme ve Öğretme Yöntemleri
Ders İçin Kullanılan Öğrenme ve Öğretme Yöntemleri
Anlatım
Problem Çözme
Gösterip Yaptırma
Laboratuvar
Bireysel ve Grup Çalışması
Derse Aktif Katılım

Dersin Ölçme ve Değerlendirme Yöntemleri

(Üniversitemiz genelinde kullanılan tüm ölçme ve değerlendirme yöntemleri sistematik olarak yönetilmektedir. Akademik birimlerden gelen talepler doğrultusunda bölüm/programların ölçme ve değerlendirme yöntemleri ilgili kurullarımız tarafından değerlendirilmekte ve uygun bulunursa, üniversite havuzunda toplanmaktadır. Bölüm ve programlar, kendileri için program tasarımlarına uygun olan yöntemleri bu havuzdan seçebilmektedirler. Benzer şekilde, dersler için kullanılması uygun görülen yöntemler de programlar düzeyinde belirlenmiş olan yöntemler arasından seçilebilmektedir.)
Programa Genelinde Kullanılan Ölçme ve Değerlendirme Yöntemleri
Ders İçin Kullanılan Ölçme ve Değerlendirme Yöntemleri
Ara Sınav
Yarıyıl Sonu Sınavı
Kısa Sınav

Dersin Ölçme ve Değerlendirme Yöntemlerinin Başarı Notuna Katkısı

Ö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 20 20
Ölçme ve Değerlendirme Etkinlikleri Toplam İş Yükü - - 75
TOPLAM İŞ YÜKÜ (Öğrenme ve Öğretme + Ölçme ve Değerlendirme Etkinlikleri) 159
DERSİN AKTS KREDİSİ (Toplam İş Yükü/25.5 Saat) 6