PROGRAMI
DERS TANITIM VE UYGULAMA BİLGİLERİ

Ders AdıKoduVerildiği YılVerildiği YarıyılSüresi (T+U)Yerel KredisiAKTS Kredisi
Nesneye Yönelik ProgramlamaCENG 241213 + 245,00
 
Ders Bilgileri
Dersin Öğretim Diliİngilizce
Dersin SeviyesiLisans
Dersin TürüZorunlu
Dersin Veriliş BiçimiYüz Yüze
 
Dersin Öğrenme Kazanımları:

Bu dersi başarı ile tamamlayan öğrenciler:
1. Nesneye yönelik programlamaya (NYP) ihtiyacın anlaşılması
2. Bir problemi çözerken ne zaman NYP kullanılacağının (ve ne zaman kullanılmayacağının) anlaşılması.
3. Diğer NYP dillerinin farkında olunması ve bu dillerin göreli zayıflıklarıyla beraber kuvvetli yönlerinin anlaşılması.
4. C++ dillinin temel özelliklerinin ve polimorfik sınıf hiyerarşilerinin problem çözüm dizaynında kullanılması.
5. Modüler ve yapısal NYP C++ programlarının yazımı ve kodlaması.
6. Halihazırdaki kütüphane ve fonksiyonların kullanımı.
 
Dersin Önkoşulları ve Birlikte Alınması Gereken DerslerCENG 114 veya CENG162
Daha Önce Alınmış Olması Önerilen DerslerYok
 
Dersin Tanımı:

Bu ders C++ diliyle beraber Yapılar ve Soyut Veri Yapılarına girişi sağlar. Fonksiyon aşırı yüklemesi, C++ sınıfları ve operator aşırıyüklemesi, kalıtım, sanal fonksiyonlar, şablonlar ve polimorfizm işlenen konular arasındadır.
 
Üretken Yapay Zeka Kullanımı:

 
Dersin İçeriği (Haftalık Konu Dağılımı):
 
HaftaKonu
1İşaretçiler (yapı işaretçileri, işaretçi işaretçileri)
2Diziler ve Çok Boyutlu Diziler
3Dinamik Hafıza Tahsisi (Dinamik Diziler ve Yapılar)
4C Katarları ve C++ Katarlari
5Sınıflar, Metodlar, Yapıcılar ve Yapıcıların Aşırıyüklemesi
6Nesne yapımı, static anahtar kelimesi, nesne yıkımı
7C++ Sınıf Notasyonları, Başlık Dosyaları, Kopya Yapıcı, Kapsamlı Kopya ve Basit Kopya
8Operator Aşırıyüklemesi
9NYP Kavramları, Kompozisyon, Birleştirme, Özelleştirme, Soyutlama ve Sınıf Şemaları
10Kalıtım, Altsınıf Kavramı, Ağırbasma
11Kalıtım, Kapsülleme, Görünürlük Niteleyicileri
12Polimorfizm
13İsim Uzayları, Şablon Fonksiyonları ve Şablon Sınıfları
14Vektörler, Listeler
 
Kaynaklar:
D.S. Malik C++ Programming: From Problem Analysis to Program Design, 4th Edition Cengage Course Technology 2009 9780538798082
 
Diğer Kaynaklar:
Tony Gaddis Starting Out with C++: Early Objects Addison Wesley 2005 0-321-38348-6
 
Öğretim Yöntem ve Teknikleri:
Haftada 3 saat ders. Lab oturumları ile pratik kazanımı.
 
Değerlendirme Sistemi:
YöntemAdetKatkı (%)
Ara Sınav1%30
Proje1%15
Laboratuvar14%20
Final Sınavı1%35
 
Ders İşbaşı Eğitimi (iş yerinde eğitim) Gerektiriyor mu?
Gerektirmiyor
 
Dersin Program Yeterlilikleri vs. Öğrenme Kazanımları:
#Program YeterlilikleriKatkı
1Matematik, fen bilimleri, temel mühendislik, bilgisayarla hesaplama ve ilgili mühendislik disiplinine özgü konularda bilgi; bu bilgileri, karmaşık mühendislik problemlerinin çözümünde kullanabilme becerisi.0
2Karmaşık mühendislik problemlerini, temel bilim, matematik ve mühendislik bilgilerini kullanarak ve ele alınan problemle ilgili BM Sürdürülebilir Kalkınma Amaçlarını gözeterek tanımlama, formüle etme ve analiz becerisi.0
3Karmaşık mühendislik problemlerine yaratıcı çözümler tasarlama becerisi; karmaşık sistemleri, süreçleri, cihazları veya ürünleri gerçekçi kısıtları ve koşulları gözeterek, mevcut ve gelecekteki gereksinimleri karşılayacak biçimde tasarlama becerisi.0
4Karmaşık mühendislik problemlerinin analizi ve çözümüne yönelik, tahmin ve modelleme de dahil olmak üzere, uygun teknikleri, kaynakları ve modern mühendislik ve bilişim araçlarını, sınırlamalarının da farkında olarak seçme ve kullanma becerisi.0
5Karmaşık mühendislik problemlerinin incelenmesi için literatür araştırması, deney tasarlama, deney yapma, veri toplama, sonuçları analiz etme ve yorumlama dahil, araştırma yöntemlerini kullanma becerisi.0
6Mühendislik uygulamalarının BM Sürdürülebilir Kalkınma Amaçları kapsamında, topluma, sağlık ve güvenliğe, ekonomiye, sürdürülebilirlik ve çevreye etkileri hakkında bilgi; mühendislik çözümlerinin hukuksal sonuçları konusunda farkındalık.0
7Mühendislik meslek ilkelerine uygun davranma, etik sorumluluk hakkında bilgi; hiçbir konuda ayrımcılık yapmadan, tarafsız davranma ve çeşitliliği kapsayıcı olma konularında farkındalık.0
8 Bireysel olarak ve disiplin içi ve çok disiplinli takımlarda (yüz yüze, uzaktan veya karma) takım üyesi veya lideri olarak etkin biçimde çalışabilme becerisi.0
9Hedef kitlenin çeşitli farklılıklarını (eğitim, dil, meslek gibi) dikkate alarak, teknik konularda sözlü, yazılı etkin iletişim kurma becerisi.0
10Proje yönetimi ve ekonomik yapılabilirlik analizi gibi iş hayatındaki uygulamalar hakkında bilgi; girişimcilik ve yenilikçilik hakkında farkındalık.0
11Bağımsız ve sürekli öğrenebilme, yeni ve gelişmekte olan teknolojilere uyum sağlayabilme ve teknolojik değişimlerle ilgili sorgulayıcı düşünebilmeyi kapsayan yaşam boyu öğrenme becerisi.0