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) |
İş 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 |