| Dersin Kodu | Dersin Adı | Dersin Türü | Yıl | Yarıyıl | AKTS | Kredi |
|---|---|---|---|---|---|---|
| OIAT114 | Programlama | Ders | 1 | 2 | 3.00 | 2.00 |
Önlisans
Türkçe
Bu dersin amacı, öğrencilere Python programlama dili aracılığıyla temel programlama mantığını kazandırmak; algoritmik düşünme, problem çözme ve modüler çözüm geliştirme becerilerini sistematik biçimde geliştirmek; ek olarak öğrencilerin bu birikimi insansız araç sistemlerine benzer teknik problemlerin anlaşılması ve çözümüne aktarabilecek düzeye ulaşmalarını sağlamaktır.
Öğr. Gör. Afra BÜYÜKARSLAN
| 1 | Python programlama dilinin temel sözdizimini, veri yapılarını ve çalışma mantığını açıklar. |
| 2 | Algoritma kurar, akış diyagramı oluşturur ve temel programlama problemlerine uygun çözüm geliştirir. |
| 3 | Karar yapıları ve döngüler kullanarak farklı koşullara göre çalışan programlar geliştirir. |
| 4 | Fonksiyonlar, listeler ve temel veri işleme yapıları kullanarak modüler çözümler üretir. |
| 5 | Dosya işlemleri ile verileri kaydetme, okuma ve basit biçimde işleme uygulamaları geliştirir. |
| 6 | İnsansız araç sistemlerine benzer teknik senaryolara yönelik temel programlama tabanlı çözümler tasarlar. |
Birinci Öğretim
Ön koşul olan ders yoktur.
Ogrencilerin derse duzenli devam etmeleri, haftalik uygulamalari takip etmeleri ve bilgisayar laboratuvar ortaminda yapilan alistirmalara aktif katilim gostermeleri onerilir. Ders kapsaminda teorik kavramlarin uygulama ile desteklenmesi amaclandigindan, ogrencilerin haftalik ornekleri bireysel olarak tekrar etmeleri onemlidir.
Bu ders kapsamında algoritma mantığı, akış şemaları, Python programlama ortamı, temel sözdizimi, değişkenler, veri tipleri, operatörler, giriş-çıkış işlemleri, karar yapıları, döngüler, fonksiyonlar, listeler, temel arama ve sıralama mantığı ile dosya işlemleri ele alınır. Ders sürecinde öğrenciler, sensör verisi, batarya durumu, hız, yön, irtifa, koordinat ve görev akışı gibi insansız araç sistemlerine benzer teknik senaryolar üzerinden problem çözme ve temel program geliştirme becerilerini uygular.
| Hafta | Teorik | Uygulama | [OgretimYontemVeTeknikleri] | [OnHazirlik] |
|---|---|---|---|---|
| 1 | Programlamaya giriş, algoritma kavramı, Python’ın genel özellikleri ve kullanım alanları | Python çalışma ortamının tanıtılması, temel komutların çalıştırılması ve basit çıktı üretme uygulamaları | Anlatım, gösterim, soru-cevap, sınıf içi örnek inceleme | Öğrencilerin temel bilgisayar kullanım bilgilerini gözden geçirmesi ve programlama kavramlarına ilişkin genel farkındalık geliştirmesi beklenir. |
| 2 | Akış şemaları, temel problem çözme adımları ve Python çalışma ortamı | Günlük problemler için basit algoritma kurma ve akış şeması oluşturma çalışmaları | Anlatım, gösterip yaptırma, örnek problem çözümü, sınıf içi uygulama | Bir önceki haftada işlenen algoritma kavramı tekrar edilmeli ve temel problem çözme adımları gözden geçirilmelidir. |
| 3 | Değişkenler, veri tipleri ve temel giriş-çıkış işlemleri | Değişken tanımlama, kullanıcıdan veri alma ve ekrana çıktı verme uygulamaları | Anlatım, uygulamalı gösterim, bireysel alıştırma, soru-cevap | Öğrencilerin Python çalışma ortamında temel komut kullanımını tekrar etmeleri önerilir. |
| 4 | String yapıları, tür dönüşümleri ve temel operatörler | Metinsel verilerle çalışma, tür dönüşümü işlemleri ve aritmetik/karşılaştırma operatörlerinin kullanımı | Anlatım, örnek gösterimi, uygulama yaptırma, bireysel çalışma | Değişkenler ve veri tipleri konusunun tekrar edilmesi beklenir. |
| 5 | Karar yapıları: if, if-else, if-elif-else | Koşula bağlı çalışan basit program örnekleri ve teknik senaryolara giriş uygulamaları | Anlatım, örnek olay inceleme, uygulama, soru-cevap | Operatörler ve karşılaştırma ifadeleri tekrar edilmelidir. |
| 6 | Karar yapılarının teknik senaryolara uygulanması; batarya, sıcaklık, yükseklik ve hız verileriyle örnekler | Belirli eşik değerlere göre uyarı veya karar üreten program uygulamaları | Anlatım, senaryo temelli öğretim, uygulama yaptırma, tartışma | Bir önceki haftada işlenen karar yapıları konusu tekrar edilmelidir. |
| 7 | Döngüler: while ve for yapıları, tekrar gerektiren işlemler | Tekrarlı veri işleme, sayaç mantığı ve döngü temelli örnek program geliştirme | Anlatım, gösterip yaptırma, örnek problem çözümü, bireysel uygulama | Karar yapıları ile döngü mantığı arasındaki ilişkiye yönelik kısa tekrar yapılması önerilir. |
| 8 | Ara sınav | |||
| 9 | Döngülerde ileri kullanım: break, continue, pass; çoklu veri üzerinde işlem | Döngü akışını kontrol eden ifadelerle örnek program geliştirme ve veri listeleri üzerinde işlem yapma | Anlatım, örnek inceleme, uygulama yaptırma, bireysel alıştırma | Temel while ve for döngülerinin tekrar edilmesi önerilir. |
| 10 | Fonksiyonlar, parametreler, geri dönüş değeri ve modüler programlama mantığı | Fonksiyon tanımlama, parametre kullanımı ve tekrar eden işlemleri modüler hale getirme çalışmaları | Anlatım, gösterim, örnek çözümleme, uygulamalı çalışma | Döngüler ve temel program akışı tekrar edilmelidir. |
| 11 | Listeler, liste işlemleri ve çoklu teknik verilerle çalışma | Liste oluşturma, eleman ekleme-silme, liste üzerinde dolaşma ve çoklu veri işleme uygulamaları | Anlatım, uygulama, örnek veri inceleme, bireysel çalışma | Fonksiyonlar konusu tekrar edilmeli ve temel veri tipleri gözden geçirilmelidir. |
| 12 | Temel arama, sıralama ve veri işleme uygulamaları | Listeler üzerinde arama, sıralama ve karşılaştırma işlemlerine yönelik temel uygulamalar | Anlatım, örnek problem çözümü, uygulama yaptırma, soru-cevap | Liste yapıları ve döngüler tekrar edilmelidir. |
| 13 | Dosya işlemleri: veri kaydetme, dosyadan veri okuma ve temel kayıt mantığı | Dosya açma, veri yazma, veri okuma ve basit kayıt tutma uygulamaları | Anlatım, uygulamalı gösterim, bireysel alıştırma, soru-cevap | String işlemleri ve listeler konularının gözden geçirilmesi önerilir. |
| 14 | Bütünleşik uygulamalar, genel tekrar ve final sınavına hazırlık | Önceki haftalarda işlenen konuları bir araya getiren kapsamlı uygulamalar ve tekrar çalışmaları | Genel tekrar, uygulama, örnek çözümleme, soru-cevap | Dönem boyunca işlenen tüm konuların gözden geçirilmesi beklenir. |
| 15 | Final sınavı |
1) Matthes, E. Python Crash Course. No Starch Press. 2) Sweigart, A. Automate the Boring Stuff with Python. No Starch Press. 3) Severance, C. R. Python for Everybody. Çevrim içi kaynak. 4) Python Software Foundation. Python Resmî Dokümantasyonu. 5) Ders sorumlusu tarafından hazırlanan haftalık ders notları, uygulama içerikleri ve laboratuvar materyalleri.
Anlatım, gösterip yaptırma, soru-cevap, örnek problem çözümü, bireysel uygulama, laboratuvar uygulaması, kısa alıştırmalar, haftalık tekrarlar ve uygulama temelli değerlendirme yöntemleri kullanılacaktır.
| Yarıyıl (Yıl) İçi Etkinlikleri | Adet | Değer |
|---|---|---|
| Ara Sınav | 1 | 60 |
| Quiz | 1 | 40 |
| 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 | 1 | 1 |
| Final Sınavı | 1 | 1 | 1 |
| Derse Katılım | 14 | 4 | 56 |
| Ödev Problemleri için Bireysel Çalışma | 1 | 6 | 6 |
| Ara Sınav İçin Bireysel Çalışma | 1 | 10 | 10 |
| Final Sınavı içiin Bireysel Çalışma | 1 | 10 | 10 |
| Ev Ödevi | 1 | 1 | 1 |
| Toplam İş Yükü (saat) | 85 | ||
| ÖÇ 1 |
| ÖÇ 2 |
| ÖÇ 3 |
| ÖÇ 4 |
| ÖÇ 5 |
| ÖÇ 6 |