GERİ DÖN

Ders Öğretim Planı


Dersin Kodu Dersin Adı Dersin Türü Yıl Yarıyıl AKTS
SGM101 TEMEL PROGRAMLAMA I Ders 1 1 4,00

Önlisans


Türkçe


Bu ders ile öğrencinin, programlama temelleri ile ilgili yeterliklerin kazandırılması amaçlanmaktadır. Öğrenciye Python programlamanın temel bilgileri öğretilirlen genel programlama mantığının nasıl olduğu bilgisi verilmektedir.


Öğr. Gör. Onat Tanrıöver


1 Python programlama dilinin temel sözdizimini, ilkel/gelişmiş veri tiplerini, nesne-referans ilişkisini ve değişir (mutable) / değişmez (immutable) veri yapılarının çalışma mantığını açıklayabilme.
2 Karar yapılarını (if-elif-else), döngüleri (for, while) ve kullanıcı girdilerini amaca uygun algoritmalarda kullanarak temel programlama problemlerini kod yazarak çözebilme.
3 Kod tekrarını önlemek ve modüler yazılım geliştirmek amacıyla kullanıcı tanımlı fonksiyonlar kurgulayabilme ve parametre/dönüş mekanizmalarını doğru şekilde işletebilme.
4 Verilen bir problemin gereksinimlerini analiz ederek listeler, sözlükler, kümeler ve string veri yapıları arasından en uygun olanı seçebilme ve veri üzerinde manipülasyon işlemlerini yürütebilme.
5 Nesne yönelimli programlama prensiplerini kullanarak sınıflar (classes), nesneler (objects) ve kalıtım (inheritance) hiyerarşisi oluşturabilme; dosya okuma/yazma işlemleriyle verileri kalıcı hale getirebilme.
6 Çalışma zamanı hatalarını (exceptions) yönetmek için hata yakalama mekanizmalarını (try-except) kurgulayabilme; yazılan kodun doğruluğunu ve tutarlılığını test çerçeveleri (unit test) ile denetleyebilme ve hataları ayıklayabilme.
7 Dönem boyunca edinilen programlama yapılarını, nesne yönelimli yaklaşımları ve dosya/hata yönetimini entegre ederek belirlenen bir problem senaryosuna yönelik uçtan uca, çalışır bir Python uygulaması tasarlayabilme ve geliştirebilme.

Birinci Öğretim


Yok


Yok


Python programlama temelleri, değişkenler, veri tipleri ve operatörler, Listeler, for döngüleri, Karşılaştırma operatörleri, Lojik operatörler, Kontrol yapıları, Kullanıcı girdisi alma, while döngüleri, Nesneler ve referanslar, Fonksiyonlar, Değişir ve değişmez veri tipleri, Sözlükler, Kümeler, Rastgele sayı üretimi, Nesne yönelimli programlama, Sınıflar ve nesneler, Kalıtım, Dosya işlemleri, Hata yönetimi, Test çerçeveleri


Hafta Konular (Teorik) Uygulama Öğretim Yöntem ve Teknikleri Ön Hazırlık
1 Ders işleme şekli ile ilgili bilgilendirme, Python programlama temelleri, Değişkenler, Basit veri tipleri, Operatörlere giriş Değişkenler, basit veri tipleri ve operatörler hakkında programlama sorularının çözümü Anlatım, Gösterme, Tartışma, Problem çözümü Matthes (2023) Böl. 1-2, s. 3-32
2 Listelere giriş Listeler hakkında programlama sorularının çözümü Anlatım, Gösterme, Tartışma, Problem çözümü Matthes (2023) Böl. 3, s. 33-47
3 Listelerle yapılan işlemler, for döngüleri For döngüleri ve liste elemanlarının işlenmesi hakkında programlama sorularının çözümü Anlatım, Gösterme, Tartışma, Problem çözümü Matthes (2023) Böl. 4, s. 49-70
4 Karşılaştırma operatörleri, Lojik operatörler, Kontrol yapıları Kontrol yapıları hakkında programlama sorularının çözümü Anlatım, Gösterme, Tartışma, Problem çözümü, Quiz Matthes (2023) Böl. 5, s. 71-89
5 Kullanıcı girdileri, while döngüleri Kullanıcı girdileri ve while döngüleri hakkında programlama sorularının çözümü Anlatım, Gösterme, Tartışma, Problem çözümü Matthes (2023) Böl. 7, s. 113-127
6 Operatörler, nesneler ve referanslar Şimdiye kadarki konuları kapsayan programlama sorularının çözümü Anlatım, Gösterme, Tartışma, Problem çözümü https://www.geeksforgeeks.org/python/python-variables/ | https://www.geeksforgeeks.org/python/variables-under-the-hood-in-python/
7 Fonksiyonlar, Değişir ve değişmez veri tipleri Fonksiyonlar hakkında programlama sorularının çözümü Anlatım, Gösterme, Tartışma, Problem çözümü Matthes (2023) Böl. 8, s. 129-155
8 Arasınav İlk 7 haftanın konuları
9 Sözlükler, Kümeler Sözlükler ve kümeler hakkında programlama sorularının çözümü Anlatım, Gösterme, Tartışma, Problem çözümü Matthes (2023) Böl. 6, s. 91-112
10 Stringler, Rastgele sayı üretimi Stringler ve rastgele sayı üretimi hakkında programlama sorularının çözümü Anlatım, Gösterme, Tartışma, Problem çözümü, Quiz https://realpython.com/python-strings/ | https://realpython.com/ref/stdlib/random/
11 Nesne yönelimli programlamaya giriş, Sınıflar ve nesneler Nesne yönelimli programlama hakkında programlama sorularının çözümü Anlatım, Gösterme, Tartışma, Problem çözümü Matthes (2023) Böl. 9, s. 157-167
12 Kalıtım, Dosya işlemleri Kalıtım ve dosya işlemleri hakkında programlama sorularının çözümü Anlatım, Gösterme, Tartışma, Problem çözümü, Quiz Matthes (2023) Böl. 9, s. 167-173 | Matthes (2023) Böl. 10, s. 183-191
13 Hata yönetimi, Test çerçeveleri Hata yönetimi hakkında programlama sorularının çözümü, geliştirilen kod için bir test çerçevesi kullanılarak testlerin yazılması Anlatım, Gösterme, Tartışma, Problem çözümü Matthes (2023) Böl. 10, s. 192-199 | Matthes (2023) Böl. 11, s. 209-223
14 Python uygulamaları Bütün dönemin konuları hakkında programlama çalışmaları yapılması Problem çözümü
15 Python uygulamaları Bütün dönemin konuları hakkında programlama çalışmaları yapılması Problem çözümü
16 Final sınavı Bütün dönemin konuları

Eric Matthes, Python Crash Course: A Hands-On, Project-Based Introduction to Programming, 3rd Edition, No Starch Press, 2023. Internet kaynakları ve youtube eğitim videoları https://docs.python.org/3/tutorial/ https://www.w3schools.com/python/ https://www.tutorialspoint.com/python/index.htm


Anlatım, Gösterme, Tartışma, Problem çözme, Quiz


Yarıyıl (Yıl) İçi Etkinlikleri Adet Değer
Ara Sınav 1 70
Quiz 3 30
Toplam 100
Yarıyıl (Yıl) Sonu Etkinlikleri Adet Değer
Final Sınavı 1 100
Toplam 100
Yarıyıl (Yıl) İçi Etkinlikleri 40
Yarıyıl (Yıl) Sonu Etkinlikleri 60

Yok


Etkinlikler Sayısı Süresi (saat) Toplam İş Yükü (saat)
Ara Sınav 1 2 2
Final Sınavı 1 2 2
Quiz 3 1 3
Derse Katılım 14 3 42
Uygulama/Pratik 14 2 28
Bireysel Çalışma 14 2 28
Ara Sınav İçin Bireysel Çalışma 1 6 6
Final Sınavı içiin Bireysel Çalışma 1 10 10
Toplam İş Yükü (saat) 121

PÇ 1 PÇ 2 PÇ 3 PÇ 4 PÇ 5 PÇ 6 PÇ 7 PÇ 8 PÇ 9 PÇ 10 PÇ 11 PÇ 12 PÇ 13 PÇ 14 PÇ 15
ÖÇ 1 4 2 1 2 1 1 1 1 2 1 2
ÖÇ 2 5 3 2 3 2 2 2 1 2 1 2
ÖÇ 3 4 3 3 3 2 2 2 2 2 1 1 2
ÖÇ 4 5 4 2 4 2 3 2 1 2 1 2
ÖÇ 5 4 3 3 4 3 3 2 2 2 1 2 2
ÖÇ 6 3 4 3 3 2 3 4 2 2 1 2 2 1
ÖÇ 7 4 3 3 4 3 3 3 3 3 2 3 2 1
* Katkı Düzeyi : 1 Çok düşük 2 Düşük 3 Orta 4 Yüksek 5 Çok yüksek