Dersin Adı Ders Kodu Yarıyılı Teori
(Saat/Hafta)
Uygulama
(Saat/Hafta)
Akts
İLERİ NESNEYE YÖNELİK PROGRAMLAMA BSM506 0 3 0 7,0
Önkoşul(lar)-var ise
Dersin Dili
Dersin Türü Yüksek Lisans - Tezli
Dersin sorumlusu(ları) Dr. Öğr. Üyesi ULAŞ VURAL
Dersin Amacı Bu dersin amacı; modern C++ standartlarına uygun şekilde öğrencilerin nesneye yönelik bir programlama dilini öğrenmesi ve nesneye yönelik programlama kavranlarına hakim olarak yazılım geliştirme bilgi ve kabiliyetlerinin arttırılması amaçlanmaktadır.
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 To design software solutions using object-oriented programming principles for a given problem.
1 Verilen bir problemin çözümü için nesneye yönelik programlama prensiplerini kullanarak yazılım tasarlamak Anlatım Sınav 1
2 C++ dili ile nesneye yönelik programlama dili ile çözümleri gerçeklemek Anlatım Sınav 1
2 To implement solutions using the object-oriented programming language C++.
3 To efficiently and reliably utilize the mechanisms of the C++ language.
3 C++ dilinin mekanizmalarını en verimli ve güvenilir şekilde kullanabilmek Anlatım Sınav 1
4 Yapısal Programlama ile Nesneye Yönelik Programalama kavramlarını ayırt edebilmek Anlatım Sınav 1
4 To differentiate between Structured Programming and Object-Oriented Programming concepts.
5 To have a good understanding of the similarities and differences between modern C++ standards and other object-oriented languages.
5 Diğer nesneye yönelik dillerle modern C++ standarları arasındaki fark ve benzerliklere hakim olmak Anlatım Sınav 1
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
Dersin İçeriği
Bu ders kapsamında; C++ Nesneye Yönelik Programlama Diline Giriş, Değişkenler, Kontrol Yapıları, Fonksiyonlar, Sınıflar ve Veri Soyutlama, C++ Standard Kütüphaneler ve Boost Kütüphanesi, Karakter Dizileri Akış İşlemleri ve Olağanüstü Durumların Yönetilmesi, Göstericiler ve Akıllı Göstericiler, Operatörlerin Aşırı Yüklenmesi, Kalıtım, Sanal Fonksiyonlar, Çok-Biçimlilik, Genelleştirilmiş Kod Yazımı: Şablonlar ve modern mekanizmalar, Fonksiyon Göstericileri, Fonksiyon Nesneleri ve Lambda İfadeler Diğer Nesneye Yönelik Programlama Dilleri (Java ve C#) ile Benzerlikler ve Farklılıklar konuları anlatılacaktır.
Kaynaklar
1. Deitel, P. J., & Deitel, H. M. (2018). C++ how to program: introducing the new C++ 14 standard. 2. Stroustrup, B. (2018). A Tour of C++. Addison-Wesley Professional. 3. Savitch, W. J. (2006). Absolute C++. Pearson Education.
Haftalara Göre İşlenecek Konular
Haftalar Konular Dokümanlar
1 . Hafta C++ Nesneye Yönelik Programlama Diline Giriş
1 . Hafta Introduction to C++ Object-Oriented Programming
2 . Hafta General Review: Variables, Control Structures, Functions
2 . Hafta Genel Tekrar: Değişkenler, Kontrol Yapıları, Fonksiyonlar
3 . Hafta Sınıflar ve Veri Soyutlama
3 . Hafta Classes and Data Abstraction
4 . Hafta C++ Standard Libraries and the Boost Library
4 . Hafta C++ Standard Kütüphaneler ve Boost Kütüphanesi
5 . Hafta Karakter Dizileri
5 . Hafta Character Strings
6 . Hafta Stream Operations and Exception Handling
6 . Hafta Akış İşlemleri ve Olağanüstü Durumların Yönetilmesi
7 . Hafta Göstericiler ve Akıllı Göstericiler
7 . Hafta Pointers and Smart Pointers
8 . Hafta Midterm Exam
8 . Hafta Ara Sınav
9 . Hafta Operatörlerin Aşırı Yüklenmesi
9 . Hafta Operator Overloading
10 . Hafta Inheritance
10 . Hafta Kalıtım
11 . Hafta Sanal Fonksiyonlar
11 . Hafta Virtual Functions
12 . Hafta Polymorphism
12 . Hafta Çok-Biçimlilik
13 . Hafta Genelleştirilmiş Kod Yazımı: Şablonlar ve modern mekanizmalar
13 . Hafta Writing Generalized Code: Templates and modern mechanisms
14 . Hafta Function Pointers, Function Objects, and Lambda Expressions
14 . Hafta Fonksiyon Göstericileri, Fonksiyon Nesneleri ve Lambda İfadeler
15 . Hafta Diğer Nesneye Yönelik Programlama Dilleri (Java ve C#) ile Benzerlikler ve Farklılıklar
15 . Hafta Similarities and Differences with Other Object-Oriented Programming Languages (Java and C#)
16 . Hafta Dönem Sonu Sınavı
Değerlendirme Sistemi
Yarıyıl içi çalışmaları Sayısı Katkı Payı (%)
Yarıyıl İçi Çalışmaları 1 30
Ara Sınav 0 0
Final Sınavı 0 0
0 0
0 0
0 0
1 50
0 0
0 0
0 0
14 20
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ı 2 30
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 (sınav haftası dahil: 16xders saati) 1 2 2
Sınıf Dışı Ders Çalışma Süresi (Ön çalışma, pekiştirme) 0 0 0
Ara Sınav 0 0 0
Dönem Sonu Sınavı 0 0 0
0 0 0
0 0 0
0 0 0
1 2 2
0 0 0
0 0 0
0 0 0
14 3 42
0 0 0
0 0 0
0 0 0
0 0 0
14 3 42
7 4 28
7 4 28
14 4 56
0 0 0
Toplam İş Yükü 200
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 It defines the multidisciplinary scope of the field of information technologies and the interaction between related disciplines. X
2 Gain comprehensive knowledge about current techniques and methods applied in the field of information technologies and their limitations, effects and results. X
3 By doing applied research in the field of information technologies, it reaches the information in depth and in depth, evaluates the information and applies the results. X
4 Complements and applies knowledge with scientific methods, using uncertain, limited or incomplete data; integrates knowledge from different disciplines. X
5 Develops algorithms and methods to solve defined engineering management problems and applies innovative methods in solutions. X
6 Can work effectively in disciplinary and multi-disciplinary teams, lead such teams and develop solution approaches in complex situations; can work independently and take responsibility. X
7 Be aware of new and developing applications in the field of information technologies and have the ability to examine and learn about them. X
8 Uses advanced methods and software and communication technologies used in the field of technology. X
9 Analyzes problems in different fields, develops solutions and implements solutions using information technologies. X
10 Can realize information technology applications by considering entrepreneurship and innovation dimensions. X
11 It observes social, scientific and ethical values ​​in the stages of data collection, interpretation, announcement and in all professional activities. X