Ders Detayı
Ders Tanımı
Ders | Kodu | Yarıyıl | T+U Saat | Kredi | AKTS |
---|---|---|---|---|---|
PROGRAMLAMAYA GİRİŞ | - | Bahar Dönemi | 3+2 | 4 | 6 |
Ders Programı |
Ön Koşul Dersleri | |
Önerilen Seçmeli Dersler |
Dersin Dili | İngilizce |
Dersin Seviyesi | Lisans |
Dersin Türü | Zorunlu |
Dersin Koordinatörü | Prof.Dr. Selim AKYOKUŞ |
Dersi Verenler | Prof.Dr. Selim AKYOKUŞ, Öğr.Gör. Malek Jamal Abdulah MALKAWI |
Dersin Yardımcıları | |
Dersin Amacı | Bu ders, Pyhton programlama dilini kullanarak önceden programlama deneyimi çok az olan veya hiç olmayan öğrenciler için programlama, problem çözme ve algoritma geliştirmenin temellerini tanıtır. Bu dersin amacı, öğrencileri daha ileri programlama derslerine hazırlamak ve bunun yanında ders çalışmaları ve mesleki işleri için program yazmak isteyen öğrenciler için bağımsız bir ders olarak problem çözme ve mühendislikte hesaplama anlayışı sağlamaktır. Ders, temel kavram ve yapıları öğrettikten sonra, problem odaklı bir şekilde yapılandırılmış programlama, algoritmik ve nesne tabanlı düşünmeyi vurgular. Ders bilgisayarlara, programlama dillerine ve Python'a giriş; temel programlama, seçimler, veri türleri, diziler, yineleme, işlevler, GUI'ler (grafiksel kullanıcı arabirimleri), nesneler ve sınıflar, kalıtım ve çok biçimlilik, listeler (diziler) ve çok boyutlu listeler, kümeler ve sözlükler, dosyalar, istisnalar ve özyineleme konularını içerir. Haftalık laboratuvarlar ve farklı problemler içeren ödevler, alıştırmalar ve kodlama çalışmaları, öğrencilerin programlama becerilerini ve akıcılığını artıracaktır. |
Dersin İçeriği | Bu ders; Bilgisayarlar, programlamaya ve Python'a giriş,Temel programlama,Matematiksel fonksiyonlar, karakter dizileri ve nesneler,Seçim ifadeleri,Döngüler,Döngüler,Fonksiyonlar,Listeler, Çok boyutlu Listeler, Tuples, Kümeler ve Sözlükler,Temel GUI Programlama,İleri GUI Programlama,Kalıtım ve Çok Biçimlilik,Dosyalar ve Hata Yakalama,Özyineleme,Verimli Algoritma Geliştirme; konularını içermektedir. |
Dersin Öğrenme Kazanımları | Öğretim Yöntemleri | Ölçme Yöntemleri |
Python Dilini kullanarak programlama kavramlarını ve tekniklerini anlama | 12, 16, 9 | A, E |
Kontrol deyimlerini, döngüleri, işlevleri ve listeleri kullanma. | 12, 14, 17, 9 | A, E, F |
Prosedürel ve nesne yönelimli paradigmalar arasındaki farkları anlama. | 12, 14, 17, 9 | A, E, F |
Kapsülleme, polimorfizm, kalıtım ve soyutlama kullanarak özel sınıflar geliştirme. | 12, 14, 16, 17, 2, 9 | A, E, F |
Dosyaları, istisnaları nasıl kullanacağınızı ve GUI'leri (Grafik Kullanıcı Arayüzleri) nasıl oluşturacağınızı öğrenme. | 12, 14, 16, 17, 2, 9 | A, E, F |
Temel programlama problemlerini çözmek için strateji analizi ve tasarımı. | 12, 14, 16, 17, 9 | A, E, F |
Öğretim Yöntemleri: | 12: Problem Çözme Yöntemi, 14: Bireysel Çalışma Yöntemi, 16: Soru - Cevap Tekniği , 17: Deney yapma Tekniği, 2: Proje Temelli Öğrenme Modeli, 9: Anlatım Yöntemi |
Ölçme Yöntemleri: | A: Klasik Yazılı Sınav, E: Ödev, F: Proje Görevi |
Ders Akışı
Sıra | Konular | Ön Hazırlık |
---|---|---|
1 | Bilgisayarlar, programlamaya ve Python'a giriş | |
2 | Temel programlama | |
3 | Matematiksel fonksiyonlar, karakter dizileri ve nesneler | |
4 | Seçim ifadeleri | |
5 | Döngüler | |
6 | Döngüler | |
7 | Fonksiyonlar | |
8 | Listeler, Çok boyutlu Listeler, Tuples, Kümeler ve Sözlükler | |
9 | Temel GUI Programlama | |
10 | İleri GUI Programlama | |
11 | Kalıtım ve Çok Biçimlilik | |
12 | Dosyalar ve Hata Yakalama | |
13 | Özyineleme | |
14 | Verimli Algoritma Geliştirme |
Kaynak |
- Y. Daniel Liang, Introduction to Programming Using Python, 2nd Ed., Pearson, 2019. - Allen B. Downey, Think Python How to Think Like a Computer Scientist 2nd Edition, OReilly Media, 2015. |
Derste dağıtılacaktır. |
Dersin Program Yeterliliklerine Katkısı
Dersin Program Yeterliliklerine Katkısı | |||||||
No | Program Yeterliliği | Katkı Düzeyi | |||||
1 | 2 | 3 | 4 | 5 | |||
1 | 1. Matematik, fen bilimleri ve ilgili mühendislik disiplinine özgü konularda yeterli bilgi birikimi; bu alanlardaki kuramsal ve uygulamalı bilgileri, karmaşık mühendislik problemlerinde kullanabilme becerisi | X | |||||
2 | 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 | X | |||||
3 | 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 | X | |||||
4 | 4. Mühendislik uygulamalarında karşılaşılan karmaşık problemlerin analizi ve çözümü için gerekli olan modern teknik ve araçları geliştirme, seçme ve kullanma becerisi; bilişim teknolojilerini etkin bir şekilde kullanma becerisi | X | |||||
5 | 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 | X | |||||
6 | 6. Disiplin içi ve çok disiplinli takımlarda etkin biçimde çalışabilme becerisi; bireysel çalışma becerisi | X | |||||
7 | 7. 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 | X | |||||
8 | 8. Yaşam boyu öğrenmenin gerekliliği bilinci; bilgiye erişebilme, bilim ve teknolojideki gelişmeleri izleme ve kendini sürekli yenileme becerisi | X | |||||
9 | 9. Etik ilkelerine uygun davranma, mesleki ve etik sorumluluk bilinci; mühendislik uygulamalarında kullanılan standartlar hakkında bilgi | X | |||||
10 | 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 | X | |||||
11 | 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 | X |
Değerlendirme Sistemi
Katkı Düzeyi | Mutlak Değerlendirme | |
Ara Sınavın Başarıya Oranı | 30 | |
Genel Sınavın Başarıya Oranı | 70 | |
Toplam | 100 |
AKTS / İşyükü Tablosu | ||||||
Etkinlik | Sayı | Süresi (Saat) | Toplam İş Yükü (Saat) | |||
Ders Saati | 42 | 1 | 42 | |||
Rehberli Problem Çözme | 10 | 7 | 70 | |||
Problem Çözümü / Ödev / Proje / Rapor Tanzimi | 8 | 3 | 24 | |||
Okul Dışı Diğer Faaliyetler | 0 | 0 | 0 | |||
Proje Sunumu / Seminer | 0 | 0 | 0 | |||
Kısa Sınav (QUİZ) ve Hazırlığı | 2 | 5 | 10 | |||
Ara Sınav ve Hazırlığı | 1 | 22 | 22 | |||
Genel Sınav ve Hazırlığı | 1 | 22 | 22 | |||
Performans Görevi, Bakım Planı | 0 | 0 | 0 | |||
Toplam İş Yükü (Saat) | 190 | |||||
Dersin AKTS Kredisi = Toplam İş Yükü (Saat)/30*=(190/30) | 6 | |||||
Dersin AKTS Kredisi: *30 saatlik çalışma 1 AKTS kredisi sayılmaktadır. |
Dersin Detaylı Bilgileri
Ders Tanımı
Ders | Kodu | Yarıyıl | T+U Saat | Kredi | AKTS |
---|---|---|---|---|---|
PROGRAMLAMAYA GİRİŞ | - | Bahar Dönemi | 3+2 | 4 | 6 |
Ders Programı |
Ön Koşul Dersleri | |
Önerilen Seçmeli Dersler |
Dersin Dili | İngilizce |
Dersin Seviyesi | Lisans |
Dersin Türü | Zorunlu |
Dersin Koordinatörü | Prof.Dr. Selim AKYOKUŞ |
Dersi Verenler | Prof.Dr. Selim AKYOKUŞ, Öğr.Gör. Malek Jamal Abdulah MALKAWI |
Dersin Yardımcıları | |
Dersin Amacı | Bu ders, Pyhton programlama dilini kullanarak önceden programlama deneyimi çok az olan veya hiç olmayan öğrenciler için programlama, problem çözme ve algoritma geliştirmenin temellerini tanıtır. Bu dersin amacı, öğrencileri daha ileri programlama derslerine hazırlamak ve bunun yanında ders çalışmaları ve mesleki işleri için program yazmak isteyen öğrenciler için bağımsız bir ders olarak problem çözme ve mühendislikte hesaplama anlayışı sağlamaktır. Ders, temel kavram ve yapıları öğrettikten sonra, problem odaklı bir şekilde yapılandırılmış programlama, algoritmik ve nesne tabanlı düşünmeyi vurgular. Ders bilgisayarlara, programlama dillerine ve Python'a giriş; temel programlama, seçimler, veri türleri, diziler, yineleme, işlevler, GUI'ler (grafiksel kullanıcı arabirimleri), nesneler ve sınıflar, kalıtım ve çok biçimlilik, listeler (diziler) ve çok boyutlu listeler, kümeler ve sözlükler, dosyalar, istisnalar ve özyineleme konularını içerir. Haftalık laboratuvarlar ve farklı problemler içeren ödevler, alıştırmalar ve kodlama çalışmaları, öğrencilerin programlama becerilerini ve akıcılığını artıracaktır. |
Dersin İçeriği | Bu ders; Bilgisayarlar, programlamaya ve Python'a giriş,Temel programlama,Matematiksel fonksiyonlar, karakter dizileri ve nesneler,Seçim ifadeleri,Döngüler,Döngüler,Fonksiyonlar,Listeler, Çok boyutlu Listeler, Tuples, Kümeler ve Sözlükler,Temel GUI Programlama,İleri GUI Programlama,Kalıtım ve Çok Biçimlilik,Dosyalar ve Hata Yakalama,Özyineleme,Verimli Algoritma Geliştirme; konularını içermektedir. |
Dersin Öğrenme Kazanımları | Öğretim Yöntemleri | Ölçme Yöntemleri |
Python Dilini kullanarak programlama kavramlarını ve tekniklerini anlama | 12, 16, 9 | A, E |
Kontrol deyimlerini, döngüleri, işlevleri ve listeleri kullanma. | 12, 14, 17, 9 | A, E, F |
Prosedürel ve nesne yönelimli paradigmalar arasındaki farkları anlama. | 12, 14, 17, 9 | A, E, F |
Kapsülleme, polimorfizm, kalıtım ve soyutlama kullanarak özel sınıflar geliştirme. | 12, 14, 16, 17, 2, 9 | A, E, F |
Dosyaları, istisnaları nasıl kullanacağınızı ve GUI'leri (Grafik Kullanıcı Arayüzleri) nasıl oluşturacağınızı öğrenme. | 12, 14, 16, 17, 2, 9 | A, E, F |
Temel programlama problemlerini çözmek için strateji analizi ve tasarımı. | 12, 14, 16, 17, 9 | A, E, F |
Öğretim Yöntemleri: | 12: Problem Çözme Yöntemi, 14: Bireysel Çalışma Yöntemi, 16: Soru - Cevap Tekniği , 17: Deney yapma Tekniği, 2: Proje Temelli Öğrenme Modeli, 9: Anlatım Yöntemi |
Ölçme Yöntemleri: | A: Klasik Yazılı Sınav, E: Ödev, F: Proje Görevi |
Ders Akışı
Sıra | Konular | Ön Hazırlık |
---|---|---|
1 | Bilgisayarlar, programlamaya ve Python'a giriş | |
2 | Temel programlama | |
3 | Matematiksel fonksiyonlar, karakter dizileri ve nesneler | |
4 | Seçim ifadeleri | |
5 | Döngüler | |
6 | Döngüler | |
7 | Fonksiyonlar | |
8 | Listeler, Çok boyutlu Listeler, Tuples, Kümeler ve Sözlükler | |
9 | Temel GUI Programlama | |
10 | İleri GUI Programlama | |
11 | Kalıtım ve Çok Biçimlilik | |
12 | Dosyalar ve Hata Yakalama | |
13 | Özyineleme | |
14 | Verimli Algoritma Geliştirme |
Kaynak |
- Y. Daniel Liang, Introduction to Programming Using Python, 2nd Ed., Pearson, 2019. - Allen B. Downey, Think Python How to Think Like a Computer Scientist 2nd Edition, OReilly Media, 2015. |
Derste dağıtılacaktır. |
Dersin Program Yeterliliklerine Katkısı
Dersin Program Yeterliliklerine Katkısı | |||||||
No | Program Yeterliliği | Katkı Düzeyi | |||||
1 | 2 | 3 | 4 | 5 | |||
1 | 1. Matematik, fen bilimleri ve ilgili mühendislik disiplinine özgü konularda yeterli bilgi birikimi; bu alanlardaki kuramsal ve uygulamalı bilgileri, karmaşık mühendislik problemlerinde kullanabilme becerisi | X | |||||
2 | 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 | X | |||||
3 | 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 | X | |||||
4 | 4. Mühendislik uygulamalarında karşılaşılan karmaşık problemlerin analizi ve çözümü için gerekli olan modern teknik ve araçları geliştirme, seçme ve kullanma becerisi; bilişim teknolojilerini etkin bir şekilde kullanma becerisi | X | |||||
5 | 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 | X | |||||
6 | 6. Disiplin içi ve çok disiplinli takımlarda etkin biçimde çalışabilme becerisi; bireysel çalışma becerisi | X | |||||
7 | 7. 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 | X | |||||
8 | 8. Yaşam boyu öğrenmenin gerekliliği bilinci; bilgiye erişebilme, bilim ve teknolojideki gelişmeleri izleme ve kendini sürekli yenileme becerisi | X | |||||
9 | 9. Etik ilkelerine uygun davranma, mesleki ve etik sorumluluk bilinci; mühendislik uygulamalarında kullanılan standartlar hakkında bilgi | X | |||||
10 | 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 | X | |||||
11 | 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 | X |
Değerlendirme Sistemi
Katkı Düzeyi | Mutlak Değerlendirme | |
Ara Sınavın Başarıya Oranı | 30 | |
Genel Sınavın Başarıya Oranı | 70 | |
Toplam | 100 |