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ü: 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 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) İş 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) Bilgisayar programcılığı ile ilgili uygulamalar için gerekli teknik ve modern araçları bilir. 4
1) Problemleri analiz edebilme ve çözebilme yetkinliği kazanır. 5
1) Analitik düşünme yeteneği ile öğrendiği yazılım dillerini kullanarak programlar geliştirir. 5
2) Bilgisayar programcılığı alanında karşılaşabileceği problemleri tanımlar. 5
2) Etik ve sosyal sorumluluk bilincine sahiptir.
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) Alanında faaliyet gösteren bir işletmede eğitim alanı ile ilgili faaliyetlerde yer alır.
3) Öğrendiği teorik bilgileri kullanarak çözümler üretir.
3) Bilgisayar programcılığının gerektirdiği analitik düşünme becerisine sahip olur.
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) Oyun geliştirme platformlarını kullanarak kodlama yapar.
3) Web sayfasının görselliğini düzenlemek ve web sayfası geliştirmek için gerekli program bilgisine sahip olur.
4) Bilgi sistem analizi ve tasarımı yeteneği kazanır. 2
4) Programlama temellerini ve algoritma bilgisini tanımlar. 5
4) Bir yarı yıl boyunca iş hayatının içinde bulunarak öğrendiği teorik bilgilerini uygular.
4) Veri tabanı tasarımı ve yönetimi için kullanılan araçlar hakkında bilgi sahibi olur.
4) Yazılı, sözlü iletişim ve etkileşimin farkındadır.
4) Alanında edindiği bilgi ve tecrübeleri derler.
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) İleri teknolojileri ve dijital dönüşüm ile ilgili gelişmeleri takip eder.
5) Oyun ve mobil uygulama geliştirme platformlarını bilir.
5) Web tasarımının temellerini tanımlar.
5) Grafik tasarımı ve animasyon uygulamaları yapar.
6) Yaşamboyu öğrenme bilinci kazanır.
6) Bilgisayar ağlarının temel kavramları ve yönetimi hakkında bilgi sahibi olur.
6) Yazılım ve donanım konusundaki teknolojik yenilikleri takip eder.
6) Web tasarımını, yazılımını ve programlamasını gerçekleştirir.
7) İşletim sistemlerini kurar ve yönetir.
7) Yurttaşlık yeterliliği konusunda bilinç sahibidir.
8) Veri tabanı uygulamaları geliştirir.
8) Alanıyla ilgili gelişmeleri girişimci anlayışla değerlendirir.
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.
10) Bilgisayar programcılığında karşılaşılan problemlere çözümler üretir ve karşılaştığı problemleri çözebileceği yöntemler geliştirir. 5

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