Dersin Adı Ders Kodu Yarıyılı Teori
(Saat/Hafta)
Uygulama
(Saat/Hafta)
Akts
BİLGİSAYAR PROGRAMLAMA II BLM122 2 3 0 4,0
Önkoşul(lar)-var ise
Dersin Dili Türkçe
Dersin Türü Lisans
Dersin sorumlusu(ları) Dr. Öğr. Üyesi ULAŞ VURAL
Dersin Amacı Bu dersin amacı; öğrencinin temel yapısal programlama bilgi ve becerilerinin geliştirilmesi, nesneye yönelik programlamanın detaylarına girilmeden nesne ve sınıf kavramlarının öğretilmesi ve bu yapıların öğrenci tarafından yazılım geliştirme süreçlerinde kullanılabilmesidir.
Dersin Verilme Şekli Örgün
Sıra No Dersin Öğrenme Çıktıları Öğretim Yöntemleri Değerlendirme Yöntemleri Program Yeterliliklerini Karşılama Düzeyi(1)(2)(3)(4)(5)
1 Express the basic concepts of structural programming.
1 Yapısal programlamanın temel kavramlarını ifade eder. Anlatım, Soru-cevap Sınav, Sözlü Değerlendirme 1
2 Veri koleksiyonlarını tanır, kullanım durumlarını ayırt eder ve uygun şekilde kullanır. Anlatım, Soru-cevap, Gösterip Yaptırma Sınav, Sözlü Değerlendirme, Performans Ödevi 1, 3, 8
2 Recognize data collections, distinguish their usage scenarios, and use them appropriately.
3 Explain the concepts of objects and classes, design and use simple classes.
3 Nesne ve sınıf kavramlarını açıklar, basit sınıflar tasarlar ve kullanır. Anlatım, Soru-cevap, Gösterip Yaptırma Sınav, Sözlü Değerlendirme, Performans Ödevi 1, 2, 8
4 Temel arama ve sıralama algoritmalarını tanımlar ve yeniden yazar. Anlatım, Soru-cevap, Gösterip Yaptırma Sınav, Sözlü Değerlendirme, Performans Ödevi 1, 2, 8
4 Define and rewrite basic search and sorting algorithms.
5 Explore and utilize third-party libraries for solving academic or real-world problems.
5 Akademik veya günlük problemlerin çözümünde 3. parti kütüphaneleri keşfeder ve uygun şekilde kullanır. Anlatım, Soru-cevap, Gösterip Yaptırma Sınav, Sözlü Değerlendirme, Performans Ödevi 1, 2, 3, 5, 8
6 Özyinelemeli algoritmaları oluşturur ve programlar. Anlatım, Soru-cevap, Gösterip Yaptırma Sınav, Sözlü Değerlendirme, Performans Ödevi 1, 8
6 Create and implement recursive algorithms.
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
Dersin İçeriği
Dersin içeriği aşağıdaki konuları kapsayacaktır: Döngü ve Kontrol Yapılarının Tekrarı Olağandışı Durumların Kontrolü Veri Koleksiyonları - Listeler ve Diziler Veri Koleksiyonları - Demetler Veri Koleksiyonları - Kümeler Veri Koleksiyonları - Sözlükler Numpy Kütüphanesi ve Kullanımı Nesne ve Sınıflara Giriş Nesneye Yönelik Tasarım ve Kavramlar Arama Algoritmaları Sıralama Algoritmaları Özyinelemeli Algoritmalar Pandas ve PyPlot Kütüphanelerinin ve Kullanımı
Kaynaklar
1. Başer , M., (2012), Python, 9. Baskı, Dikeyeksen Yayıncılık. 2. Downey, A., (2016), Think Python, 2nd Edition, O’Reilly Media. 3. Zelle, J., (2016), Python Programming: An Introduction to Computer Science, 3rd Edition, Franklin, Beedle & Associates.
Haftalara Göre İşlenecek Konular
Haftalar Konular Dokümanlar
1 . Hafta Review of Loops and Control Structures
1 . Hafta Döngü ve Kontrol Yapılarının Tekrarı
2 . Hafta Olağandışı Durumların Kontrolü
2 . Hafta Exception Handling
3 . Hafta Data Collections - Lists and Arrays
3 . Hafta Veri Koleksiyonları - Listeler ve Diziler
4 . Hafta Veri Koleksiyonları - Demetler
4 . Hafta Data Collections - Tuples
5 . Hafta Data Collections - Sets
5 . Hafta Veri Koleksiyonları - Kümeler
6 . Hafta Veri Koleksiyonları - Sözlükler
6 . Hafta Data Collections - Dictionaries
7 . Hafta Numpy Library and Usage
7 . Hafta Numpy Kütüphanesi ve Kullanımı
8 . Hafta Ara Sınav
8 . Hafta Midterm Exam
9 . Hafta Introduction to Objects and Classes
9 . Hafta Nesne ve Sınıflara Giriş
10 . Hafta Nesneye Yönelik Tasarım ve Temel Kavramlar
10 . Hafta Object-Oriented Design and Basic Concepts
11 . Hafta Search Algorithms
11 . Hafta Arama Algoritmaları
12 . Hafta Sıralama Algoritmaları
12 . Hafta Sorting Algorithms
13 . Hafta Recursive Algorithms
13 . Hafta Özyinelemeli Algoritmalar
14 . Hafta Pandas ve PyPlot Kütüphanelerinin ve Kullanımı
14 . Hafta Pandas and PyPlot Libraries and Usage
15 . Hafta General Review
15 . Hafta Genel Tekrar
Değerlendirme Sistemi
Yarıyıl içi çalışmaları Sayısı Katkı Payı (%)
Ara Sınav 1 25
Sözlü Değerlendirme 0 0
Ödev 0 0
Dönem Sonu Sınavı 0 0
0 0
0 0
0 0
1 40
2 25
0 0
0 0
10 10
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
Toplam 100
Yarıyıl İçi Çalışmalarının Başarı Notuna Katkısı 3 25
Yarıyıl Sonu Çalışmalarının Başarı Notuna Katkısı 1 0
Toplam 100
AKTS (Öğrenci İş Yükü) Tablosu
Etkinlikler Sayısı Süresi Toplam İş Yükü
Ders Süresi 1 2 2
Ara Sınava Hazırlanma 0 0 0
Ödevler 0 0 0
Dönem Sonu Sınavına Hazırlanma 0 0 0
Ara Sınav 0 0 0
Dönem Sonu Sınavı 0 0 0
Sözlü Sınava Hazırlanma 0 0 0
0 0 0
0 0 0
0 0 0
1 2 2
10 1 10
0 0 0
0 0 0
2 5 10
0 0 0
0 0 0
0 0 0
0 0 0
14 3 42
7 1 7
7 1 7
14 2 28
0 0 0
Toplam İş Yükü 108
Dersin Öğrenme Çıktılarının Program Yeterlilikleri İle İlişkilendirilmesi
Sıra No Program Yeterlilikleri Katkı Düzeyi*
1 2 3 4 5
1 A computer engineer possesses fundamental applied and conceptual knowledge in the field of computer engineering. X
2 They utilize mathematics, natural sciences, and theoretical and applied knowledge in computer engineering to solve engineering problems. X
3 They identify current engineering problems in various application domains and provide feasible recommendations for their solution using computer systems. X
4 They perform analyses of software or hardware-based systems, components, and processes required for problem-solving and create optimal designs that meet specified requirements and constraints. X
5 They select and implement modern methods and tools necessary for engineering applications. X
6 Problemlerin çözümü için gerekli olan veriyi toplar ve işler, deneyler tasarlar, deneyleri gerçekleştirir ve sonuçlarını yorumlar. X
7 Mühendislik projelerinin yönetim süreçlerini bilir, proje için en uygun yönetim araçlarını ve proje yaşam döngüsünü seçer ve uygular. X
8 They code, test, operate, and maintain computer-based systems. X
9 They work effectively in interdisciplinary research and software development teams, both within and outside their own field. X
10 They keep up with current developments in computer engineering and related areas with a consciousness of the necessity of continuous professional development. X
11 They utilize Turkish and English fluently and effectively for tracking scientific and technical resources, presenting projects, and writing academic publications. X
12 They are aware of the legal consequences of information technology applications and the individual, corporate, social, and universal impacts. X
13 Geliştirdiği yazılım ve sistemlerde mesleki ve etik sorumluk bilinciyle hareket eder. X
14 They design and develop computer systems that will facilitate human life or increase comfort with analytical thinking skills. X
15 They possess awareness as an individual who is informed about current and historical events and can interpret them rationally and draw conclusions. X