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. |
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.
|
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. |
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
|
|
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. |
|
ÖĞ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 |