Dersin Amacı: |
Python programlamanın temellerini tanıtarak, basit veri türleri, akış kontrolü ve fonksiyonlarla program tasarımı konularını içerir. Ders, Nesne Tabanlı Programlamanın temel ilkelerini ve veri ile bilgi işleme tekniklerini ele alır. Öğrenciler, problemler çözecek, gerçek dünya yazılım geliştirme zorluklarını keşfedecek ve pratik ve çağdaş uygulamalar geliştireceklerdir. |
Dersin İçeriği: |
1. Giriş
2. String, Girdi/Çıktı, Dallanma, Yineleme
3.String Üzerinde Döngü, Tahmin ve Kontrol, İkilik (Binary), Ondalıklı Sayılar ve Yaklaşım Yöntemi
4. İkiye Bölme Araması, Ayrıştırma, Soyutlama, Fonksiyon
5. Nesne Olarak Fonksiyonlar, Lambda Fonksiyonu, Demetler (Tuple) ve Listeler
6. Liste, Değişebilirlik (Mutability), İsim Paylaşımı (Aliasing), Kopyalama
7. Liste Anlamaları (List Comprehension), Nesne Olarak Fonksiyonlar, Test Etme, Hata Ayıklama, İstisnalar (Exceptions), Doğrulamalar (Assertions)
8. Sözlükler (Dictionaries), Sözlükler
9. Sayısal Olmayanlarda Özyineleme (Recursion), Python Sınıfları
10. Daha Fazla Python Sınıf Metodu, Kalıtım (Inheritance)
11. Fitness Takip Cihazı Nesne Tabanlı Programlama Örneği, Program Zamanlama, İşlem Sayımı
12. Büyük O ve Theta Notasyonları, Karmaşıklık Sınıfı Örnekleri
13. Sıralama Algoritmaları, Grafikleme
14. Liste Erişimi, Hashleme, Benzetimler (Simülasyonlar) ve Kapanış |
Hafta |
Konu |
Ön Hazırlık |
1) |
1. Introduction |
1, 2.1-2.2 Bölümleri: Introduction to Computation and Programming Using Python with Application to Computational Modeling and Understanding Data, third edition, John V. Guttag |
2) |
2. String, Girdi/Çıktı, Dallanma, Yineleme |
2.3-2.8 Bölümleri: Introduction to Computation and Programming Using Python with Application to Computational Modeling and Understanding Data, third edition, John V. Guttag |
3) |
3. String Üzerinde Döngü, Tahmin ve Kontrol, İkilik (Binary), Ondalıklı Sayılar ve Yaklaşım Yöntemi |
3.1-3.3 Bölüm: Introduction to Computation and Programming Using Python with Application to Computational Modeling and Understanding Data, third edition, John V. Guttag |
4) |
4. İkiye Bölme Araması, Ayrıştırma, Soyutlama, Fonksiyon |
3.4-3.5, 4.1-4.2 Bölüm: Introduction to Computation and Programming Using Python with Application to Computational Modeling and Understanding Data, third edition, John V. Guttag |
5) |
5. Nesne Olarak Fonksiyonlar, Lambda Fonksiyonu, Demetler (Tuple) ve Listeler |
4.3-4.6, 5.1-5.3 Bölüm: Introduction to Computation and Programming Using Python with Application to Computational Modeling and Understanding Data, third edition, John V. Guttag |
6) |
6. Liste, Değişebilirlik (Mutability), İsim Paylaşımı (Aliasing), Kopyalama |
5.3-5.5 Bölüm: Introduction to Computation and Programming Using Python with Application to Computational Modeling and Understanding Data, third edition, John V. Guttag |
7) |
7. Liste Anlamaları (List Comprehension), Nesne Olarak Fonksiyonlar, Test Etme, Hata Ayıklama, İstisnalar (Exceptions), Doğrulamalar (Assertions) |
4.4 , 8,9 Bölüm: Introduction to Computation and Programming Using Python with Application to Computational Modeling and Understanding Data, third edition, John V. Guttag |
8) |
8. Sözlükler (Dictionaries) |
5.7, 6.1 Bölüm: Introduction to Computation and Programming Using Python with Application to Computational Modeling and Understanding Data, third edition, John V. Guttag |
9) |
9. Sayısal Olmayanlarda Özyineleme (Recursion), Python Sınıfları |
6.2-6.4, 10.1 Bölüm: Introduction to Computation and Programming Using Python with Application to Computational Modeling and Understanding Data, third edition, John V. Guttag |
10) |
10. Daha Fazla Python Sınıf Metodu, Kalıtım (Inheritance) |
10.1-10.2 Bölüm: Introduction to Computation and Programming Using Python with Application to Computational Modeling and Understanding Data, third edition, John V. Guttag |
11) |
11. Fitness Takip Cihazı Nesne Tabanlı Programlama Örneği, Program Zamanlama, İşlem Sayımı |
10.4, 11 Bölüm: Introduction to Computation and Programming Using Python with Application to Computational Modeling and Understanding Data, third edition, John V. Guttag |
12) |
12. Büyük O ve Theta Notasyonları, Karmaşıklık Sınıfı Örnekleri |
11, 12.1 Bölüm: Introduction to Computation and Programming Using Python with Application to Computational Modeling and Understanding Data, third edition, John V. Guttag |
13) |
13. Sıralama Algoritmaları, Grafikleme |
12.2, 13 Bölüm: Introduction to Computation and Programming Using Python with Application to Computational Modeling and Understanding Data, third edition, John V. Guttag |
14) |
14. Liste Erişimi, Hashleme, Benzetimler (Simülasyonlar) ve Kapanış |
12.3, 17 Bölüm: Introduction to Computation and Programming Using Python with Application to Computational Modeling and Understanding Data, third edition, John V. Guttag |
|
Dersin Program Kazanımlarına Etkisi |
Katkı Payı |
1) |
Matematik, fen bilimleri ve kendi dalları ile ilgili mühendislik konularında yeterli bilgi birikimi; bu alanlardaki kuramsal ve uygulamalı bilgileri mühendislik problemlerini modelleme ve çözme için uygulayabilme becerisi. |
|
2) |
Karmaşık mühendislik problemlerini saptama, tanımlama, formüle etme ve çözme becerisi; bu amaçla uygun analiz ve modelleme yöntemlerini seçme ve uygulama becerisi. |
|
3) |
Karmaşık bir sistemi, süreci, cihazı veya ürünü gerçekçi kısıtlar ve koşullar altında, belirli gereksinimleri karşılayacak şekilde tasarlama becerisi; bu amaçla modern tasarım yöntemlerini uygulama becerisi. (Gerçekçi kısıtlar ve koşullar tasarımın niteliğine göre, ekonomi, çevre sorunları, sürdürülebilirlik, üretilebilirlik, etik, sağlık, güvenlik, sosyal ve politik sorunlar gibi ögeleri içerirler.) |
|
4) |
Mühendislik uygulamaları için gerekli olan modern teknik ve araçları geliştirme, seçme ve kullanma becerisi; bilişim teknolojilerini etkin bir şekilde kullanma becerisi. |
|
5) |
Karmaşık mühendislik problemlerinin veya disipline özgü araştırma konularının incelenmesi için deney tasarlama, deney yapma, veri toplama, sonuçları analiz etme ve yorumlama becerisi. |
|
6) |
Disiplin içi ve çok disiplinli takımlarda etkin biçimde çalışabilme becerisi; bireysel çalışma becerisi. |
|
7) |
Türkçe sözlü ve yazılı etkin iletişim kurma becerisi; en az bir yabancı dil bilgisi; etkin rapor yazma ve yazılı raporları anlama, tasarım ve üretim raporları hazırlayabilme, etkin sunum yapabilme, açık ve anlaşılır talimat verme ve alma becerisi. |
|
8) |
Yaşam boyu öğrenmenin gerekliliği bilinci; bilgiye erişebilme, bilim ve teknolojideki gelişmeleri izleme ve kendini sürekli yenileme becerisi. |
|
9) |
Etik ilkelerine uygun davranma, mesleki ve etik sorumluluk bilinci; mühendislik uygulamalarında kullanılan standartlar hakkında bilgi. |
|
10) |
Proje yönetimi, risk yönetimi ve değişiklik yönetimi gibi, iş hayatındaki uygulamalar hakkında bilgi; girişimcilik, yenilikçilik hakkında farkındalık; sürdürülebilir kalkınma hakkında bilgi. |
|
11) |
Mühendislik uygulamalarının evrensel ve toplumsal boyutlarda sağlık, çevre ve güvenlik üzerindeki etkileri ve çağın mühendislik alanına yansıyan sorunları hakkında bilgi; mühendislik çözümlerinin hukuksal sonuçları konusunda farkındalık. |
|