İ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 |
|
|
|
|
|