| 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 |