Dersin Amacı: |
Bu ders, Python programlama dili kullanılarak, bilgisayar programcılığında çok az ya da hiç deneyime sahip olmayan öğrencileri bilişimsel düşünmeye ve bunun yanı sıra yazılım geliştirmeye hazırlamayı hedefleyen bir derstir. Derste Python dillerin oluşturan öğelerin yanı sıra programlama mantığını ve yazılım geliştirmenin temelleri de öğretilecektir. |
Dersin İçeriği: |
Temel bilgisayar kavramları, Programlamanın temelleri, Değişkenler, İfadeler, Fonksiyonlar, Şartlı ifadeler, Özyineleme, Bereketli fonksiyonlar, Tekrarlamalar, Döngüler, Sicimler, Listeler, Sözlükler, Tanımlama grupları. |
Hafta |
Konu |
Ön Hazırlık |
1) |
Dersin tanıtımı, öğretim elemanıyla tanışma, temel bilgisayar kavramları (Merkezi işlem birimi, hafıza, yedekleme, işletim sistemi, algoritma, yazılım, programlama ve Piazza ile tanışma, vs.). |
Think Python, 2nd Edition, How to Think Like a Computer Scientist, Allen Downey, Green Tea Press (2015). |
2) |
Programlamanın temelleri, değişkenler, ifadeler, deyimler. |
Ders notları |
3) |
Programlamanın temelleri, değişkenler, ifadeler, deyimler (devam). |
Ders notları |
5) |
Fonksiyonlar |
Her Yönüyle Python, 5. Baskı, Fırat Özgül, Kodlab, 2017. |
6) |
Şartlı ifadeler, recursion (özyineleme). |
Ders notları |
7) |
Bereketli fonksiyonlar |
Ders notları |
8) |
Ara Sınav |
Ders notları |
9) |
Tekrarlamalar, döngüler. |
- |
10) |
Tekrarlamalar, döngüler |
- |
11) |
Listeler, Sözlükler, Tanımlama Grupları (Tuples) |
- |
12) |
Listeler, Sözlükler, Tanımlama Grupları (Tuples) |
- |
13) |
Vaka çalışması: doğru veri yapısı seçimi. |
- |
14) |
Veri yapıları |
- |
15) |
Final Sınavı |
- |
|
Dersin Program Kazanımlarına Etkisi |
Katkı Payı |
1) |
Bilgisayar teknolojileri alanında temel kavramları anlama becerisine sahip olmak |
|
2) |
Bilgisayar teknolojileri alanındaki problemleri analiz etme ve modelleme, çözümleri için uygun yazılım gereksinimlerini belirleme ve tanımlama becerisine sahip olmak |
|
3) |
Yabancı dilde mesleki konuları anlama becerisine sahip olmak |
|
4) |
Yazılım kurulum, test ve kabul işlemlerini yapabilme becerisine sahip olmak |
|
5) |
Bilgisayar ağlarının kurulumunu, yönetimini gerçekleştirebilme ve ağ işletim sistemini kullanabilme becerisine sahip olmak. |
|
6) |
Bilgisayar donanımının bakım ve onarımını yapabilme becerisine sahip olmak |
|
7) |
Bilgisayar teknolojileri alanında mesleki, hukuksal, etik ve sosyal sorunlar hakkında farkındalık ve sorumluluk bilincine sahip olmak |
|
8) |
Bilgisayar ve ağ yazılımları planlama, tasarlama ve üretme becerisine sahip olmak |
|
9) |
Web tasarımı ve programlaması yapabilme becerisine sahip olmak |
|
10) |
Veritabanı yönetimi, sorgulama, tasarımı konularındaki bilgilerini uygulamalarda kullanabilme ve veritabanı uygulamaları geliştirebilme yetkinliğine sahip olmak |
|