Email: levent.bayindir@atauni.edu.tr

BIM104 – Nesneye Yönelik Programlama


Duyurular

    • 17.04.2015 Birinci ödeviniz yandaki adresten duyurulmuştur: http://1drv.ms/1DPr4qD Son teslim tarihi: 30.04.2015
    • 19.02.2015 Dersin web sayfası yeni dönem için güncellendi.

Nesneye Yönelik Programlama dersinin amacı C++ programlama dilinin temel yapısı ve kurallarını öğretmek ve bu dili kullanarak nesneye yönelik programlamanın prensiplerini öğretmektir.

Ders Asistanları: Ferhat Bozkurt, Uğur Güven Adar ve Mete Yağanoğlu
Ofis saati:

Ders Saati ve Yeri

Örgün Öğretim:

    • Ders: Cuma, 08-11 arası TRS1
    • Lab: Pazartesi, 12-14 arası TRS1

İkinci Öğretim:

    • Ders: Cumartesi, 16-19 arası TRS2
    • Lab: Perşembe, 20-22 arası TRS2

Notlandırma

Notlandırma yüzdeleri, %50-50 ve %60-40 not sistemlerinin her ikisi için de geçerlidir.

    • Lab ve Ödevler: %30
    • Vize: %20
    • Final: %50

Ders Kitapları

    • The C++ Programming Language, Bjarne Stroustrup, Addison-Wesley, 4. baskı, 2014.

Ders Çizelgesi ve Ders Notları

Hafta Tarih Konu(lar) Dosyalar
1 20/02 Bilgisayar Nedir, Hangi Ana Bileşenlerden Oluşur, Nasıl Çalışır ve Programlanır? Farklı Seviyelerdeki Programlama Dilleri (Makine Dilleri, Assembly Dilleri, Yüksek Seviyeli Diller), C++`ın Tarihçesi, Bir C++ Programı Yazılım Aşamaları, C++ Standart Kütüphanesi, Standart Kütüphaneden Sınıfı ve cout (see out – siaut) Fonksiyonu ile Ekrana Yazdırma, cin (see in – siin) Fonksiyonu ile Klavyeden Okuma, “Hello World – Merhaba Dunya” Örneği, Yaygın Kaçış Sıraları, Değişkenler, Temel Veri Tipleri, Değişken Deklarasyonları ve Değer Atamaları, Aritmetik Operatörler, Tümleşik/Bütünleşik/Entegre Geliştirme Ortamları (Integrated Development Environment – IDE), Microsoft Visual Studio 2010 Kullanarak Win32 Konsol Uygulaması Oluşturma, Derleme Yapma ve Program Çalıştırma. bim104-sunum1
2 27/02 Standart Kütüphaneden Sınıfı ve setlocale Fonksiyonu Sayesinde Konsol Penceresi Üzerine Türkçe Karakterlerin Yansıltılması, İlişkisel Operatörler, if Deyimi, if-else Deyimi, if-else if-else deyimi, Sayaç Kontrollü Döngü Oluşturma Esasları, while Döngüsü, Bitiş Değer Kontrollü Döngüler, static_cast <> Operatörü, Standart Kütüphaneden Sınıfı ve setprecision Fonksiyonu, Bileşik Atama Deyimleri, 1 Artırma ve 1 Azaltma Operatörleri, for Döngüsü, break ve continue Deyimleri, switch Seçim Deyimi, Sonsuz Döngüler, Mantıksal Operatörler, Scope (Sıkop) (Faaliyet/Kapsam/Geçerlilik Alanı-Ömür) Kavramı, Uygulamalar. bim104-sunum2
3 06/03 Standart Kütüphanenin Sınıfı İçerisinde Tanımlı Matematik Fonksiyonları, Fonksiyon Tanımı, Fonksiyon Formatı, Fonksiyon Prototipi/İmzası (Prototype/Signature), void Fonksiyonlar, Paskal Notasyonu, Başlık Dosyaları (Header Files), Standart Kütüphanenin Başlık Dosyalarının İçerikleri, rand ve srand Fonksiyonları ile Rastgele integer Sayı Üretimi, Rekürsif Fonksiyonlar, Rekürsif ve Rekürsif Olmayan Fibonacci Serisi Hesaplamaları, Değer ve Referans ile Fonksiyon Çağırma, İki Değişkenin Değerinin Yer Değiştirmesi, Swap Fonksiyonu, Fonksiyonların Aşırı Yüklenmesi (Function Overloading), Fonksiyon Şablonları (Templates), Hata Ayıklama (Debugging), Visual Studio Debug Menüsü Seçenekleri: Run To Cursor, Step Over, Step Into, Uygulamalar. bim104-sunum3
4 13/03 Diziler (Arrays), Dizi Deklare Etme ve İlk Değer Atama, İndis Kullanarak Herhangi Bir Dizi Elemanına Ulaşma, Standart Kütüphanenin Sınıfının setw Fonksiyonu, Sabit Değişkenler, Karakter Dizileri Kullanarak string Manipülasyonu, Dizileri Fonksiyonlarda Argüman Olarak Kullanma, Arama (Searching), Lineer Arama (Linear Search), Çok Boyutlu Diziler, Bir Dizinin İçini Rastgele Sayılarla Doldurma, Bir Dizinin En Küçük ve En Büyük Elemanını Bulma, Bir Dizinin Elemanlarını Seçme Sıralama (Selection Sort) Algoritması ile Küçükten Büyüğe Sıralama (Ascending Sort), Bir Sayının Basamaklarına Ayrılması Suretiyle Manipüle Edilmesi, Uygulamalar. bim104-sunum4
5 20/03 Nesneye Yönelik Programlama (Object-Oriented Programming-OOP), Sınıf (Class) (User-defined Data Type), Üye Değişkenler (Data Members) (Attributes) ve Üye Fonksiyonlar (Member Functions) (Behaviors or Operations), Nesne (Object), İçerik Gizleme (Information Hiding), Tanım (Definition) ve Uygulama (Implementation) Dosyalarının Birbirinden Ayrılması, Yapıcılar (Constructors) ve Yıkıcılar (Destructors), Üyelere Ulaşım Belirteçleri (Member Access Specifiers) (public ve private), Üyelere Ulaşım Operatörleri (Member Access Operators) (dot ve arrow Operatörleri), #ifndef, #define ve #endif Önişleme Direktifleri, Kapsam Belirleme Operatörü (Scope Resolution Operator), Zaman Sınıfı Örneği, Uygulamalar. bim104-sunum5
6 27/03 Uygulama Haftası
7 03/04 Kompozisyon (Composition – HAS-A Relationship), Kalıtım/Miras (Inheritance – IS-A Relationship), Temel Sınıf (Base Class), Türetilmiş Sınıf (Derived Class), protected Ulaşım Belirteci, Uygulamalar. bim104-sunum6
8 10/04 VİZE
9 17/04 Uygulama Haftası
10 24/04 İşaretçiler (Pointers), “Pointer” Operatörleri, “Pointer”lar ve Referanslar Arasındaki Benzerlikler ve Farklılıklar, “Pointer”ların Fonksiyonlara Parametre/Argüman Olarak Aktarılması, “Pointer” Aritmetiği, “Pointer”lar ve Diziler Arasındaki Yakın İlişki, Standart Kütüphaneden Sınıfı ve isalpha, islower, isupper, tolower, toupper Fonksiyonları, Uygulamalar. bim104-sunum7
11 01/05 RESMİ TATİL
12 08/05 Dinamik Bellek Yönetimi, new ve delete Operatörleri, Free Store veya Heap, Sızdırma (Memory Leak), Tek Boyutlu Dinamik Diziler, İki Boyutlu Dinamik Diziler, Uygulamalar. bim104-sunum8
13 15/05 Bir Yazılımın Bileşenleri, Veri Yapısı (Data Structure), Yaygın Kullanılan Veri Yapıları, Standart Şablon Kütüphanesi (Standard Template Library – STL), STL Bileşenleri (Jenerik Şablon Kaplar, Algoritmalar, İteratörler), Sıralı Şablon Kaplar (vector, list, deque), İlişkili Şablon Kaplar (set, multiset, map, multimap), Kap Adaptörleri (stack, queue, priority_queue), Uygulamalar. STL Algoritmaları ve STL Uygulamaları, Çift Yönlü Bağlı Liste (Doubly Linked List) Veri Yapısının Bir C++ Sınıfı Olarak Gerçekleştirilmesi. bim104-sunum9
bim104-sunum10

Diğer Kaynaklar

Contact us

We're not around right now. But you can send us an email and we'll get back to you, asap.

Questions, issues or concerns? I'd love to help you!

Click ENTER to chat