Mekatronik Mühendisliği (İngilizce)
Lisans TYYÇ: 6. Düzey QF-EHEA: 1. Düzey EQF-LLL: 6. Düzey

Ders Genel Tanıtım Bilgileri

Ders Kodu: CENG218
Ders İsmi: Programming Languages And Applications
Ders Yarıyılı: Bahar
Ders Kredileri:
Teorik Pratik Kredi AKTS
2 2 3 5
Öğretim Dili: EN
Ders Koşulu:
Ders İş Deneyimini Gerektiriyor mu?: Hayır
Dersin Türü: Bölüm/Fakülte Seçmeli
Dersin Seviyesi:
Lisans TYYÇ:6. Düzey QF-EHEA:1. Düzey EQF-LLL:6. Düzey
Dersin Veriliş Şekli: Yüz yüze
Dersin Koordinatörü: Dr.Öğr.Üyesi MAHSA MIKAEILI
Dersi Veren(ler):
Dersin Yardımcıları:

Dersin Amaç ve İçeriği

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

Öğrenme Kazanımları

Bu dersi başarıyla tamamlayabilen öğrenciler;
Öğrenme Kazanımları
1 - Bilgi
Kuramsal - Olgusal
1) Python uygulamalarının nasıl tasarlanacağını ve programlanacağını, liste, tuple ve sözlüklerin nasıl kullanılacağını bilir.
2 - Beceriler
Bilişsel - Uygulamalı
1) Python'da döngüler, karar yapıları, fonksiyon yazımı ve parametre aktarımı konularını bilir.
2) Python sınıfları ile nesne yönelimli programların nasıl tasarlanacağını bilir
3) İstisnaların nasıl ele alınacağını ve modüllerinin nasıl oluşturulacağını bilir.
3 - Yetkinlikler
İletişim ve Sosyal Yetkinlik
Öğrenme Yetkinliği
Alana Özgü Yetkinlik
Bağımsız Çalışabilme ve Sorumluluk Alabilme Yetkinliği

Ders Akış Planı

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

Kaynaklar

Ders Notları / Kitaplar: Introduction to Computation and Programming Using Python with Application to Computational Modeling and Understanding Data, third edition, John V. Guttag
Diğer Kaynaklar: Introduction to Computation and Programming Using Python with Application to Computational Modeling and Understanding Data, third edition, John V. Guttag

Ders - Program Öğrenme Kazanım İlişkisi

Ders Öğrenme Kazanımları

1

2

3

4

Program Kazanımları
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.

Ders - Öğrenme Kazanımı İlişkisi

Etkisi Yok 1 En Düşük 2 Düşük 3 Orta 4 Yüksek 5 En Yüksek
           
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.

Öğrenme Etkinliği ve Öğretme Yöntemleri

Anlatım
Beyin fırtınası /Altı şapka
Bireysel çalışma ve ödevi
Ders
Laboratuvar
Ödev
Proje Hazırlama
Rapor Yazma
Soru cevap/ Tartışma

Ölçme ve Değerlendirme Yöntemleri ve Kriterleri

Yazılı Sınav (Açık uçlu sorular, çoktan seçmeli, doğru yanlış, eşleştirme, boşluk doldurma, sıralama)
Ödev
Uygulama
Bireysel Proje
Sunum
Raporlama

Ölçme ve Değerlendirme

Yarıyıl İçi Çalışmaları Aktivite Sayısı Katkı Payı
Ödev 5 % 10
Projeler 1 % 25
Ara Sınavlar 1 % 25
Final 1 % 40
Toplam % 100
YARIYIL İÇİ ÇALIŞMALARININ BAŞARI NOTU KATKISI % 60
YARIYIL SONU ÇALIŞMALARININ BAŞARI NOTUNA KATKISI % 40
Toplam % 100

İş Yükü ve AKTS Kredisi Hesaplaması

Aktiviteler Aktivite Sayısı Süre (Saat) İş Yükü
Ders Saati 14 4 56
Uygulama 14 2 28
Proje 1 10 10
Ödevler 5 2 10
Ara Sınavlar 1 2 2
Rapor Teslimi 1 10 10
Final 1 2 2
Toplam İş Yükü 118