BİLGİSAYAR MÜHENDİSLİĞİ
Lisans TYYÇ: 6. Düzey QF-EHEA: 1. Düzey EQF-LLL: 6. Düzey

Ders Genel Tanıtım Bilgileri

Ders Kodu: 1410121002
Ders İsmi: Programlama II
Ders Yarıyılı: Bahar
Ders Kredileri:
Teorik Pratik Kredi AKTS
2 2 3 3
Öğretim Dili: TR
Ders Koşulu: 1410111001 - Programlama I | BIM101 - Programlamaya Giriş I
1410111001 - Programlama I | BIM101 - Programlamaya Giriş I | BIM102 - Programlamaya Giriş II
1410111001 - Programlama I | BIM101 - Programlamaya Giriş I | BIM102 - Programlamaya Giriş II
Ders İş Deneyimini Gerektiriyor mu?: Hayır
Dersin Türü: Zorunlu
Dersin Seviyesi:
Lisans TYYÇ:6. Düzey QF-EHEA:1. Düzey EQF-LLL:6. Düzey
Dersin Veriliş Şekli: Yüz yüze
Dersin Koordinatörü: Dr.Öğr.Üyesi Recep DURANAY
Dersi Veren(ler): Dr.Öğr.Üyesi Recep DURANAY
Dersin Yardımcıları:

Dersin Amaç ve İçeriği

Dersin Amacı: Bu ders öğrencilere C++ programlama dilini kullanarak nesne yönelimli programlamanın temel kavramlarını öğretir.
Dersin İçeriği: Bu derste öğrenciler C++ programlama ortamını kullanarak nesne yönelimli program geliştirmenin temel prensiplerini öğrenecekler. Dersin konuları içerisinde program tasarımının ve algoritma geliştirme stratejilerinin temelleri, sınıflar, nesneler, veri üyeleri, yöntemler, soyut veri tipleri, operatör yükleme, kalıtım ve çok biçimlilik yer almaktadır. Ders içerisinde ek olarak nesne tasarımında kalıtımın ve çok biçimliliğin uygulanması gibi nesne yönelimli programlama teknikleri de tartışılacaktır.

Öğrenme Kazanımları

Bu dersi başarıyla tamamlayabilen öğrenciler;
Öğrenme Kazanımları
1 - Bilgi
Kuramsal - Olgusal
1) Program tasarımında soyutlama terimini ifade edebilecektir.
2 - Beceriler
Bilişsel - Uygulamalı
1) Programlamada nesne yönelimli tasarım ilkelerini tanımlayabilecektir.
2) C++ programlama dilinde nesneleri kullanarak program geliştirebilecektir.
3) C++ programlama dili ile program geliştirmede çok biçimlilik kavramını uygulayabilecektir.
3 - Yetkinlikler
İletişim ve Sosyal Yetkinlik
Öğrenme Yetkinliği
Alana Özgü Yetkinlik
1) C++ programlama dili ile sınıf tasarımlarında kalıtım tekniğini kullanabilecektir.
Bağımsız Çalışabilme ve Sorumluluk Alabilme Yetkinliği

Ders Akış Planı

Hafta Konu Ön Hazırlık
1) C++ Temellerine Giriş: C’den C++ programlama diline. C++ Early Objects 10/e, Tony Gaddis, Judy Walters, Godfrey Muganda; Pearson
2) Nesne Yönelimli Programlamaya Giriş: Sınıflar, nesneler, üye fonksiyonlar ve veri üyeleri; Lab#1. C++ Early Objects 10/e, Tony Gaddis, Judy Walters, Godfrey Muganda; Pearson
3) Sınıflar: Sınıf alanı, yardımcı fonksiyonlar, kurucular ve bozucular, arkadaş fonksiyonlar ve arkadaş sınıflar, “this” işaretçisi, statik sınıf üyeleri, veri soyutlama ve bilgi gizleme; Lab#2. C++ Early Objects 10/e, Tony Gaddis, Judy Walters, Godfrey Muganda; Pearson
4) Kalıtım I. Bölüm: Kalıtıma giriş, temel sınıflar ve türemiş sınıflar, “protected” üyeler; Lab#3. C++ How to Program: (Early Objects Version), Global Edition (İngilizce) by Deitel & Deitel
5) Kalıtım II. Bölüm: Temel sınıflar ve türemiş sınıflar arasındaki ilişki, “public”, “protected” ve “private” kalıtım; Lab#4. C++ Early Objects 10/e, Tony Gaddis, Judy Walters, Godfrey Muganda; Pearson
6) Kalıtım III. Bölüm: Kalıtım uygulamaları; Lab#5. C++ Early Objects 10/e, Tony Gaddis, Judy Walters, Godfrey Muganda; Pearson
7) Çok Biçimlilik I. Bölüm: Çok biçimliliğe giriş, sanal fonksiyonlar C++ Early Objects 10/e, Tony Gaddis, Judy Walters, Godfrey Muganda; Pearson
8) Ara Sınav
9) Dinamik bağlama, çok biçimlilik örnekleri C++ How to Program: (Early Objects Version), Global Edition (İngilizce) by Deitel & Deitel
10) Çok Biçimlilik II. Bölüm: Soyut sınıflar ve saf sanal fonksiyonlar; Lab#6 C++ Early Objects 10/e, Tony Gaddis, Judy Walters, Godfrey Muganda; Pearson
11) Çok Biçimlilik III. Bölüm: Çok biçimlilik uygulamaları; Lab#7. C++ How to Program: (Early Objects Version), Global Edition (İngilizce) by Deitel & Deitel
12) Operatör Yükleme: Operatör yüklemenin temelleri, sınıf üyeleri olarak operatör fonksiyonlarına karşı küresel fonksiyon C++ Early Objects 10/e, Tony Gaddis, Judy Walters, Godfrey Muganda; Pearson
13) Akış ekleme ve akış çıkarma operatörleri, birli operatörleri yükleme, ikili operatörleri yükleme C++ Early Objects 10/e, Tony Gaddis, Judy Walters, Godfrey Muganda; Pearson
14) Akış Giriş/Çıkış: Akışlar, akış çıkışı, akış girişi C++ Early Objects 10/e, Tony Gaddis, Judy Walters, Godfrey Muganda; Pearson
15) Akış düzenleyicileri; Lab#8 C++ Early Objects 10/e, Tony Gaddis, Judy Walters, Godfrey Muganda; Pearson
16) Final

Kaynaklar

Ders Notları / Kitaplar: C++ Early Objects 10/e, Tony Gaddis, Judy Walters, Godfrey Muganda; Pearson
Diğer Kaynaklar: C++ Early Objects 10/e, Tony Gaddis, Judy Walters, Godfrey Muganda; Pearson

Ders - Program Öğrenme Kazanım İlişkisi

Ders Öğrenme Kazanımları

1

2

3

5

4

Program Kazanımları
1) PÇ 1.1) Matematik, fen bilimleri ve bilgisayar mühendisliği konularında yeterli bilgi birikimi
2) PÇ 1.2) Matematik, fen bilimleri ve bilgisayar mühendisliği konularında kuramsal ve uygulamalı bilgileri mühendislik problemlerini modelleme ve çözme için uygulayabilme becerisi.
3) PÇ 2.1) Karmaşık mühendislik problemlerini saptama
4) PÇ 2.2) Karmaşık mühendislik problemlerini tanımlama
5) PÇ 2.3) Karmaşık mühendislik problemlerini formüle etme
6) PÇ 2.4) Karmaşık mühendislik problemlerini çözme becerisi
7) PÇ 2.5) Uygun analiz ve modelleme yöntemlerini seçme ve uygulama becerisi
8) PÇ 3.1) Karmaşık bir sistemi, süreci, cihazı veya ürünü gerçekçi kısıtlar ve koşullar altında, belirli gereksinimleri karşılayacak şekilde tasarlama becerisi
9) PÇ 3.2) Karmaşık bir sistemi, süreci, cihazı veya ürünü gerçekçi kısıtlar ve koşullar altında modern tasarım yöntemlerini uygulama becerisi
10) PÇ 4.1) Mühendislik uygulamalarında karşılaşılan karmaşık problemlerin analizi ve çözümü için gerekli olan modern teknik ve araçları geliştirme
11) PÇ 4.2) Mühendislik uygulamalarında karşılaşılan karmaşık problemlerin analizi ve çözümü için gerekli olan modern teknik ve araçları seçme ve kullanma becerisi
12) PÇ 4.3) Bilişim teknolojilerini etkin bir şekilde kullanma becerisi.
13) PÇ 5.1) Karmaşık mühendislik problemlerinin veya disipline özgü araştırma konularının incelenmesi deney tasarlama
14) PÇ 5.2) Karmaşık mühendislik problemlerinin veya disipline özgü araştırma konularının incelenmesi deney yapma,
15) PÇ 5.3 ) Karmaşık mühendislik problemlerinin veya disipline özgü araştırma konularının incelenmesi veri toplama
16) PÇ 5.4) Karmaşık mühendislik problemlerinin veya disipline özgü araştırma konularının incelenmesi sonuçları analiz etme
17) PÇ 5.5) Karmaşık mühendislik problemlerinin veya disipline özgü araştırma konularının incelenmesi yorumlama becerisi

Ders - Öğrenme Kazanımı İlişkisi

Etkisi Yok 1 En Düşük 2 Düşük 3 Orta 4 Yüksek 5 En Yüksek
           
Dersin Program Kazanımlarına Etkisi Katkı Payı
1) PÇ 1.1) Matematik, fen bilimleri ve bilgisayar mühendisliği konularında yeterli bilgi birikimi 5
2) PÇ 1.2) Matematik, fen bilimleri ve bilgisayar mühendisliği konularında kuramsal ve uygulamalı bilgileri mühendislik problemlerini modelleme ve çözme için uygulayabilme becerisi.
3) PÇ 2.1) Karmaşık mühendislik problemlerini saptama
4) PÇ 2.2) Karmaşık mühendislik problemlerini tanımlama
5) PÇ 2.3) Karmaşık mühendislik problemlerini formüle etme
6) PÇ 2.4) Karmaşık mühendislik problemlerini çözme becerisi
7) PÇ 2.5) Uygun analiz ve modelleme yöntemlerini seçme ve uygulama becerisi
8) PÇ 3.1) Karmaşık bir sistemi, süreci, cihazı veya ürünü gerçekçi kısıtlar ve koşullar altında, belirli gereksinimleri karşılayacak şekilde tasarlama becerisi
9) PÇ 3.2) Karmaşık bir sistemi, süreci, cihazı veya ürünü gerçekçi kısıtlar ve koşullar altında modern tasarım yöntemlerini uygulama becerisi
10) PÇ 4.1) Mühendislik uygulamalarında karşılaşılan karmaşık problemlerin analizi ve çözümü için gerekli olan modern teknik ve araçları geliştirme
11) PÇ 4.2) Mühendislik uygulamalarında karşılaşılan karmaşık problemlerin analizi ve çözümü için gerekli olan modern teknik ve araçları seçme ve kullanma becerisi
12) PÇ 4.3) Bilişim teknolojilerini etkin bir şekilde kullanma becerisi.
13) PÇ 5.1) Karmaşık mühendislik problemlerinin veya disipline özgü araştırma konularının incelenmesi deney tasarlama
14) PÇ 5.2) Karmaşık mühendislik problemlerinin veya disipline özgü araştırma konularının incelenmesi deney yapma,
15) PÇ 5.3 ) Karmaşık mühendislik problemlerinin veya disipline özgü araştırma konularının incelenmesi veri toplama
16) PÇ 5.4) Karmaşık mühendislik problemlerinin veya disipline özgü araştırma konularının incelenmesi sonuçları analiz etme
17) PÇ 5.5) Karmaşık mühendislik problemlerinin veya disipline özgü araştırma konularının incelenmesi yorumlama becerisi

Öğrenme Etkinliği ve Öğretme Yöntemleri

Ders
Laboratuvar
Ödev

Ölçme ve Değerlendirme Yöntemleri ve Kriterleri

Yazılı Sınav (Açık uçlu sorular, çoktan seçmeli, doğru yanlış, eşleştirme, boşluk doldurma, sıralama)
Ödev
Uygulama

Ölçme ve Değerlendirme

Yarıyıl İçi Çalışmaları Aktivite Sayısı Katkı Payı
Laboratuar 10 % 10
Ödev 10 % 10
Ara Sınavlar 1 % 20
Yarıyıl/Yıl Sonu Sınavı 1 % 60
Toplam % 100
YARIYIL İÇİ ÇALIŞMALARININ BAŞARI NOTU KATKISI % 40
YARIYIL SONU ÇALIŞMALARININ BAŞARI NOTUNA KATKISI % 60
Toplam % 100

İş Yükü ve AKTS Kredisi Hesaplaması

Aktiviteler Aktivite Sayısı Süre (Saat) İş Yükü
Ders Saati 14 2 28
Laboratuvar 14 2 28
Sınıf Dışı Ders Çalışması 14 4 56
Ödevler 14 2 28
Ara Sınavlar 1 2 2
Final 1 3 3
Toplam İş Yükü 145