BİLGİSAYAR MÜHENDİSLİĞİ | |||||
Lisans | TYYÇ: 6. Düzey | QF-EHEA: 1. Düzey | EQF-LLL: 6. Düzey |
Ders Kodu: | CMP1002 | ||||||||
Ders İsmi: | Nesneye Yönelik Programlama (C++) | ||||||||
Ders Yarıyılı: | Bahar | ||||||||
Ders Kredileri: |
|
||||||||
Öğretim Dili: | English | ||||||||
Ders Koşulu: | |||||||||
Ders İş Deneyimini Gerektiriyor mu?: | Hayır | ||||||||
Dersin Türü: | Must Course | ||||||||
Dersin Seviyesi: |
|
||||||||
Dersin Veriliş Şekli: | Yüz yüze | ||||||||
Dersin Koordinatörü: | MEHMET ŞÜKRÜ KURAN | ||||||||
Dersi Veren(ler): |
Dr. Öğr. Üyesi TARKAN AYDIN Dr. Öğr. Üyesi CEMAL OKAN ŞAKAR Öğ.Gör. BARIŞ ERDOĞAN Dr. Öğr. Üyesi ÖVGÜ ÖZTÜRK ERGÜN Arş.Gör. ÇİĞDEM ERİŞ Dr. Öğr. Üyesi ERKUT ARICAN |
||||||||
Dersin Yardımcıları: |
Dersin Amacı: | Bu dersin amacı C++ programlama dili ile nesne yönelimli programlama ilkeleri ve tekniklerini derinlemesine incelemektir. Ders kapsamında işlenen konular: sınıflar, aşırı yükleme, veri soyutlama, bilgi gizleme, kapsülleme, kalıtım, polimorfizm, dosya işleme, şablonlar. |
Dersin İçeriği: | 1: C++ dil özellikleri 2: Sınıflar ve Nesnelere Giriş 3: Sınıflar ve Nesneler 4: İşaretçilere Giriş 5: Sınıflara Derinlemesine Bakış, Bölüm 1 6: (devam) Sınıflara Derinlemesine Bakış, Bölüm 1 7: Sınıflara Derinlemesine Bakış, Bölüm 2 8: (devam) Sınıflara Derinlemesine Bak, Bölüm 2 9: Sınıf Tanımlama – Erişim Kontrolü ve Sarma 10: Operatör Yükleme 11: OOP: Kalıtım 12: OOP: Polimorfizm 13: Dosya Girdi Çıktı 14: Şablonlar |
Bu dersi başarıyla tamamlayabilen öğrenciler;
|
Hafta | Konu | Ön Hazırlık |
1) | Sınıflara ve nesnelere giriş | Yok |
2) | Sınıflara derinlemesine bakış, Bilgi Saklama Prensibi | Önceki konular tekrar edilmelidir. Sınıf tanımlama ile ilgili genel bilgi edinilmesi gerekmektedir. |
3) | Sonlandırıcılar, Kopya Yapıcılar, Varsayılan Üye Seviyesinde Atama | Önceki konular tekrar edilmelidir. C++ kullanılarak basit sınıf örnekleri yazılmalıdır. |
4) | String Sınıfı ve C+'da String İşlemleri | Değişken tiplerinin C++ kapladıkları alan ve bilgisayarın hafıza ünitesinde depolanma şekilleri araştırılmalıdır. |
5) | Fonksiyon ve Operator Aşırı Yükleme | Sınıflar konusu tekrar edilmelidir. |
6) | Sınıflara Hakkında Ek Fonksiyonlar (sabit objeler, üye ilk atama listesi, friend anahtar kelimesi, vb) | Bir C++ derleyicisi ile sınıf içeren C++ örnekleri geliştirilmelidir. |
7) | Kompozisyon | |
8) | Ara Sınav | |
9) | Dosya İşlemleri | Önceki konular tekrar edilmelidir. Dosya işlemleri ve dosya türleri hakkında bilgi edinilmelidir. |
10) | Dinamik Bellek Yönetimi, Statik Sınıflar | Önceki konular tekrar edilmelidir. Sınıf tanımlama, erişim kontrolü ve sarma ile ilgili genel bilgi edinilmesi gerekmektedir. |
11) | Kalıtım | |
12) | Çokbiçimlilik | Önceki konular tekrar edilmelidir. |
13) | Şablonlar | |
14) | Konuların Gözden Geçirilmesi, NYP ile Yazılım Geliştirme Örnekleri | Önceki konular tekrar edilmelidir. |
Ders Notları / Kitaplar: | C++ How to Program by Paul Deitel and Harvey Deitel |
Diğer Kaynaklar: | The C++ Programming Language by Bjarne Stroustrup |
Ders Öğrenme Kazanımları | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
Program Kazanımları | ||||||||||
1) Matematik, fen bilimleri ve bilgisayar mühendisliğine özgü konularda yeterli bilgi birikimi; bu alanlardaki kuramsal ve uygulamalı bilgileri, karmaşık mühendislik problemlerinde kullanabilme becerisi. | ||||||||||
2) Karmaşık mühendislik problemlerini saptama, tanımlama, formüle etme ve çözme becerisi; bu amaçla uygun analiz ve modelleme yöntemlerini seçme ve uygulama becerisi. | ||||||||||
3) 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; bu amaçla modern tasarım yöntemlerini uygulama becerisi. | ||||||||||
4) Bilgisayar mühendisliği uygulamalarında karşılaşılan karmaşık problemlerin analizi ve çözümü için gerekli olan modern teknik ve araçları geliştirme, seçme ve kullanma becerisi; bilişim teknolojilerini etkin bir şekilde kullanma becerisi. | ||||||||||
5) Karmaşık mühendislik problemlerinin veya bilgisayar mühendisliği araştırma konularının incelenmesi için deney tasarlama, deney yapma, veri toplama, sonuçları analiz etme ve yorumlama becerisi. | ||||||||||
6) Disiplin içi ve çok disiplinli takımlarda etkin biçimde çalışabilme becerisi; bireysel çalışma becerisi. | ||||||||||
7) Türkçe sözlü ve yazılı etkin iletişim kurma becerisi; en az bir yabancı dil bilgisi; etkin rapor yazma ve yazılı raporları anlama, tasarım ve üretim raporları hazırlayabilme, etkin sunum yapabilme, açık ve anlaşılır talimat verme ve alma becerisi. | ||||||||||
8) Yaşam boyu öğrenmenin gerekliliği bilinci; bilgiye erişebilme, bilim ve teknolojideki gelişmeleri izleme ve kendini sürekli yenileme becerisi. | ||||||||||
9) Etik ilkelerine uygun davranma, mesleki ve etik sorumluluk bilinci; mühendislik uygulamalarında kullanılan standartlar hakkında bilgi. | ||||||||||
10) Proje yönetimi, risk yönetimi ve değişiklik yönetimi gibi, iş hayatındaki uygulamalar hakkında bilgi; girişimcilik, yenilikçilik hakkında farkındalık; sürdürülebilir kalkınma hakkında bilgi. | ||||||||||
11) Mühendislik uygulamalarının evrensel ve toplumsal boyutlarda sağlık, çevre ve güvenlik üzerindeki etkileri ve çağın mühendislik alanına yansıyan sorunları hakkında bilgi; mühendislik çözümlerinin hukuksal sonuçları konusunda farkındalık. |
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) | Matematik, fen bilimleri ve bilgisayar mühendisliğine özgü konularda yeterli bilgi birikimi; bu alanlardaki kuramsal ve uygulamalı bilgileri, karmaşık mühendislik problemlerinde kullanabilme becerisi. | 4 |
2) | Karmaşık mühendislik problemlerini saptama, tanımlama, formüle etme ve çözme becerisi; bu amaçla uygun analiz ve modelleme yöntemlerini seçme ve uygulama becerisi. | 4 |
3) | 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; bu amaçla modern tasarım yöntemlerini uygulama becerisi. | |
4) | Bilgisayar mühendisliği uygulamalarında karşılaşılan karmaşık problemlerin analizi ve çözümü için gerekli olan modern teknik ve araçları geliştirme, seçme ve kullanma becerisi; bilişim teknolojilerini etkin bir şekilde kullanma becerisi. | |
5) | Karmaşık mühendislik problemlerinin veya bilgisayar mühendisliği araştırma konularının incelenmesi için deney tasarlama, deney yapma, veri toplama, sonuçları analiz etme ve yorumlama becerisi. | |
6) | Disiplin içi ve çok disiplinli takımlarda etkin biçimde çalışabilme becerisi; bireysel çalışma becerisi. | |
7) | Türkçe sözlü ve yazılı etkin iletişim kurma becerisi; en az bir yabancı dil bilgisi; etkin rapor yazma ve yazılı raporları anlama, tasarım ve üretim raporları hazırlayabilme, etkin sunum yapabilme, açık ve anlaşılır talimat verme ve alma becerisi. | |
8) | Yaşam boyu öğrenmenin gerekliliği bilinci; bilgiye erişebilme, bilim ve teknolojideki gelişmeleri izleme ve kendini sürekli yenileme becerisi. | |
9) | Etik ilkelerine uygun davranma, mesleki ve etik sorumluluk bilinci; mühendislik uygulamalarında kullanılan standartlar hakkında bilgi. | |
10) | Proje yönetimi, risk yönetimi ve değişiklik yönetimi gibi, iş hayatındaki uygulamalar hakkında bilgi; girişimcilik, yenilikçilik hakkında farkındalık; sürdürülebilir kalkınma hakkında bilgi. | |
11) | Mühendislik uygulamalarının evrensel ve toplumsal boyutlarda sağlık, çevre ve güvenlik üzerindeki etkileri ve çağın mühendislik alanına yansıyan sorunları hakkında bilgi; mühendislik çözümlerinin hukuksal sonuçları konusunda farkındalık. |
Yarıyıl İçi Çalışmaları | Aktivite Sayısı | Katkı Payı |
Devam | 14 | % 5 |
Küçük Sınavlar | 3 | % 15 |
Ara Sınavlar | 1 | % 30 |
Final | 1 | % 50 |
Toplam | % 100 | |
YARIYIL İÇİ ÇALIŞMALARININ BAŞARI NOTU KATKISI | % 50 | |
YARIYIL SONU ÇALIŞMALARININ BAŞARI NOTUNA KATKISI | % 50 | |
Toplam | % 100 |
Aktiviteler | Aktivite Sayısı | Süre (Saat) | İş Yükü |
Ders Saati | 14 | 2 | 28 |
Laboratuvar | 14 | 2 | 28 |
Küçük Sınavlar | 3 | 12 | 36 |
Ara Sınavlar | 1 | 22 | 22 |
Final | 1 | 26 | 26 |
Toplam İş Yükü | 140 |