CENG213 Object Oriented Programming IIİstanbul Okan ÜniversitesiAkademik Programlar Bilgisayar Mühendisliği (İngilizce)Öğrenciler için Genel BilgiDiploma EkiErasmus BeyanıUlusal Yeterlilikler
Bilgisayar Mühendisliği (İngilizce)
Lisans TYYÇ: 6. Düzey QF-EHEA: 1. Düzey EQF-LLL: 6. Düzey

Ders Genel Tanıtım Bilgileri

Ders Kodu: CENG213
Ders İsmi: Object Oriented Programming II
Ders Yarıyılı: Güz
Ders Kredileri:
Teorik Pratik Kredi AKTS
2 2 3 5
Öğretim Dili: EN
Ders Koşulu: CENG106 - Object Oriented Programming I
Ders İş Deneyimini Gerektiriyor mu?: Hayır
Dersin Türü: Zorunlu Ders
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 KEREM PAR
Dersi Veren(ler): Dr.Öğr.Üyesi NİGAR TUĞBAGÜL ALTAN GÜLGÜN
Prof. Dr. PINAR YILDIRIM
Dersin Yardımcıları:

Dersin Amaç ve İçeriği

Dersin Amacı: Nesne-Temelli Programlama II, Java programlama dilini kullanarak nesne yönelimli analiz, tasarım ve geliştirme kavramları ve teknolojileri konularında orta ve ileri düzeyde bilgi sağlamak üzere tasarlanmıştır. Sınıflara, nesnelere, metotlara daha derin bakışlar, kalıtım, çok biçimlilik, arayüzler, istisnai durum yönetimi, jenerik sınıflar ve metotlar, jenerik koleksiyonlar gibi konuları içermektedir. Ders ayrıca UML ile nesne yönelimli analiz ve tasarım metotlarını ve tasarımın gerçeklenmesini deneyimleten uçtan uca bir vaka çalışmasını da kapsamaktadır.
Dersin İçeriği: Nesne-Temelli Programlamaya ve Java Uygulamalarına Giriş
Sınıflara, Nesnelere ve Metotlara Giriş
Metotlar: Daha Derin Bir Bakış
Sınıflar ve Nesneler: Daha Derin Bir Bakış
Nesne-Temelli Programlama: Kalıtım (Inheritance)
Nesne-Temelli Programlama: Çok Biçimlilik (Polymorphism), Soyut Sınıflar (Abstract Classes) ve Arayüzler (Interfaces)
ATM Vaka Çalışması, Bölüm 1: UML ile Nesne-Temelli Tasarım
ATM Vaka Çalışması, Bölüm 2: Bir Nesne-Temelli Tasarımın Gerçeklenmesi
İstisnai Durumların Yönetilmesi (Exception Handling): Daha Derin Bir Bakış
Jenerik Koleksiyonlar (Generic Collections)
Jenerik Sınıflar ve Metotlar
Özel Jenerik Veri Yapıları

Öğrenme Kazanımları

Bu dersi başarıyla tamamlayabilen öğrenciler;
Öğrenme Kazanımları
1 - Bilgi
Kuramsal - Olgusal
1) Nesne Yönelimli Programlamanın temel kavramlarının öğrenilmesi
2) UML ile nesne yönelimli analiz ve tasarım metodlarının öğrenilmesi
3) Nesne yönelimli bir tasarımın gerçeklenmesinin öğrenilmesi
4) İstisnai durumların yönetilmesinin öğrenilmesi
5) Jenerik sınıf ve metodların, jenerik koleksiyonların öğrenilmesi
2 - Beceriler
Bilişsel - Uygulamalı
1) Nesne yönelimli programlamanın temel kavramları kullanılarak proje geliştirilmesi (kalıtım)
2) Nesne yönelimli programlamanın temel kavramları kullanılarak proje geliştirilmesi (çok biçimlilik, soyut sınıflar, arayüzler)
3) İstisnai durumlarının yönetilmesi konusunda proje geliştirilmesi
4) Jenerik sınıf ve koleksiyonların kullanıldığı bir proje geliştirlmesi
3 - Yetkinlikler
İletişim ve Sosyal Yetkinlik
Öğrenme Yetkinliği
Alana Özgü Yetkinlik
Bağımsız Çalışabilme ve Sorumluluk Alabilme Yetkinliği

Ders Akış Planı

Hafta Konu Ön Hazırlık
1) Methodların tasarımı Sınıfların tasarımı Sınıfta görülen örneklerle uygulama Java: A Beginner's Guide, Herbert Schildt, 6th edition, 2014
2) Methodlar Erişim niteleyiciler Erişim yöntemleri Sınıfta görülen örneklerle uygulama Java: A Beginner's Guide, Herbert Schildt, 6th edition, 2014
3) Sınıflandırma Genelleştirme Özelleştirme Sınıfta görülen örneklerle uygulama Java: A Beginner's Guide, Herbert Schildt, 6th edition, 2014
4) Java'da kalıtım Kalıtımın yazılışı Kalıtımda görülen hatalar Sınıfta görülen örneklerle uygulama Java: A Beginner's Guide, Herbert Schildt, 6th edition, 2014
5) Kalıtımın detayları Kalıtım ile ilgili ileri konular Kalıtım örnekleri Sınıfta görülen örneklerle uygulama Java: A Beginner's Guide, Herbert Schildt, 6th edition, 2014
6) Neden paketlere ihtiyaç duyarız? Paketler nasıl kullanılır? Paket kullanımının yazımı Sınıfta görülen örneklerle uygulama Java: A Beginner's Guide, Herbert Schildt, 6th edition, 2014
7) İleri arayüz konuları Arayüzlerde en sık görülen hatalar Arayüz örnekleri Sınıfta görülen örneklerle uygulama Java: A Beginner's Guide, Herbert Schildt, 6th edition, 2014
8) OOP'de hata işleme İstisnalar İstisnalarla en yaygın hatalar Sınıfta görülen örneklerle uygulama Java: A Beginner's Guide, Herbert Schildt, 6th edition, 2014
9) Arasınav1
10) Try/catch İstisnaların detayı Kendi istisnalarınızın tasarımı Sınıfta görülen örneklerle uygulama Java: A Beginner's Guide, Herbert Schildt, 6th edition, 2014
11) İş parçacıklarına neden ihtiyaç vardır? İş parçacığının yaratılması Örnekler Sınıfta görülen örneklerle uygulama Java: A Beginner's Guide, Herbert Schildt, 6th edition, 2014
12) Arasınav2
13) Standart Java kütüphanesi En çok kullanılan kütüphane sınıfları Kütüphane ne zaman kullanılır? Sınıfta görülen örneklerle uygulama Java: A Beginner's Guide, Herbert Schildt, 6th edition, 2014
14) Swing Swing'in özellikleri Swing'in temelleri Sınıfta görülen örneklerle uygulama Java: A Beginner's Guide, Herbert Schildt, 6th edition, 2014
15) Final sınavı

Kaynaklar

Ders Notları / Kitaplar: Deitel, P.J. and Deitel, H.M., Java How To Program (Early Objects), 10th Editon, Pearson, 2015, ISBN: 978-0133813432
Diğer Kaynaklar: Java: The Complete Reference by Herbert Schildt, 2014

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

Ders Öğrenme Kazanımları

1

2

3

4

5

6

7

8

9

Program Kazanımları
1) Matematik, fen bilimleri ve kendi dalları ile ilgili mühendislik konularında yeterli bilgi birikimi; bu alanlardaki kuramsal ve uygulamalı bilgileri mühendislik problemlerini modelleme ve çözme için uygulayabilme 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. (Gerçekçi kısıtlar ve koşullar tasarımın niteliğine göre, ekonomi, çevre sorunları, sürdürülebilirlik, üretilebilirlik, etik, sağlık, güvenlik, sosyal ve politik sorunlar gibi ögeleri içerirler.)
4) Mühendislik uygulamaları 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) Mühendislik problemlerinin 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.
8) Yaşam boyu öğrenmenin gerekliliği bilinci; bilgiye erişebilme, bilim ve teknolojideki gelişmeleri izleme ve kendini sürekli yenileme becerisi.
9) Mesleki ve etik sorumluluk bilinci.
10) Proje yönetimi ile risk yönetimi ve değişiklik yönetimi gibi iş hayatındaki uygulamalar hakkında bilgi; girişimcilik, yenilikçilik ve sürdürebilir kalkınma hakkında farkındalık.
11) Mühendislik uygulamalarının evrensel ve toplumsal boyutlarda sağlık, çevre ve güvenlik üzerindeki etkileri ile çağın sorunları hakkında bilgi; mühendislik çözümlerinin hukuksal sonuçları konusunda farkındalık.

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) Matematik, fen bilimleri ve kendi dalları ile ilgili mühendislik konularında yeterli bilgi birikimi; bu alanlardaki kuramsal ve uygulamalı bilgileri mühendislik problemlerini modelleme ve çözme için uygulayabilme 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. 1
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. (Gerçekçi kısıtlar ve koşullar tasarımın niteliğine göre, ekonomi, çevre sorunları, sürdürülebilirlik, üretilebilirlik, etik, sağlık, güvenlik, sosyal ve politik sorunlar gibi ögeleri içerirler.) 4
4) Mühendislik uygulamaları için gerekli olan modern teknik ve araçları geliştirme, seçme ve kullanma becerisi; bilişim teknolojilerini etkin bir şekilde kullanma becerisi. 2
5) Mühendislik problemlerinin 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. 5
7) Türkçe sözlü ve yazılı etkin iletişim kurma becerisi; en az bir yabancı dil bilgisi.
8) Yaşam boyu öğrenmenin gerekliliği bilinci; bilgiye erişebilme, bilim ve teknolojideki gelişmeleri izleme ve kendini sürekli yenileme becerisi.
9) Mesleki ve etik sorumluluk bilinci.
10) Proje yönetimi ile risk yönetimi ve değişiklik yönetimi gibi iş hayatındaki uygulamalar hakkında bilgi; girişimcilik, yenilikçilik ve sürdürebilir kalkınma hakkında farkındalık. 3
11) Mühendislik uygulamalarının evrensel ve toplumsal boyutlarda sağlık, çevre ve güvenlik üzerindeki etkileri ile çağın sorunları hakkında bilgi; mühendislik çözümlerinin hukuksal sonuçları konusunda farkındalık.

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

Ders
Proje Hazırlama

Ö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)
Bireysel Proje

Ölçme ve Değerlendirme

Yarıyıl İçi Çalışmaları Aktivite Sayısı Katkı Payı
Devam 1 % 10
Projeler 1 % 30
Ara Sınavlar 1 % 20
Final 1 % 40
Toplam % 100
YARIYIL İÇİ ÇALIŞMALARININ BAŞARI NOTU KATKISI % 60
YARIYIL SONU ÇALIŞMALARININ BAŞARI NOTUNA KATKISI % 40
Toplam % 100

İş Yükü ve AKTS Kredisi Hesaplaması

Aktiviteler Aktivite Sayısı Süre (Saat) İş Yükü
Ders Saati 14 3 42
Sınıf Dışı Ders Çalışması 14 3 42
Proje 2 15 30
Ara Sınavlar 1 2 2
Rapor Teslimi 2 1 2
Final 1 2 2
Toplam İş Yükü 120