• Türkçe
  • English
Ders Kodu: 
ACM 321
Ders Dönemi: 
Güz
Ders Tipi: 
Zorunlu
Teori Saati: 
2
Uygulama Saati: 
2
Kredi: 
3
AKTS: 
6
Dersin Dili: 
İngilizce
Dersin Amacı: 
Nesne yönelimli programlama (OOP) "eylemler" yerine nesneler ve mantıktan çok veri etrafında düzenlenmiştir. Öğrencilere nesne yönelimli programlamadaki kavramlar, temel sözdizimi arka plandaki düşünce süreçleri tanıtılacak, Java gibi nesne yönelimli dillerde ki nesneye yönelimli programlama teknikleri konularında temel bilgi verilecektir. Laboratuar ve proje geliştirme üzerinde durulacaktır.
Dersin İçeriği: 

Nesne yönelimli programlamanın tanımı. Nesne yönelimli programlama kavramlarına giriş. Modüler programlama tasarımına yaklaşımlar. Nesneyle ilgili temel kavramlar: Nesneler, sınıflar, sınıflararası hiyerarşi, kalıtım, ve soyut sınıflar, fonksiyonlar, operator aşırı-yüklemeleri, sanal fonksiyonlar, sanal tabanlı sınıflar ve dönüşüm, tekli ve çoklu kalıtım ve nesne hiyerarşileri, nesne tabanlı program geliştirme, Java uygulamaları.

Dikey Sekmeler

Dersin Öğrenme Çıktıları

Dersin Öğrenme Çıktıları Program Öğrenme Çıktıları Öğretim Yöntemleri Ölçme Yöntemleri
Bilişim mezunu günümüze kadar geliştirilen nesne yönelimli yazılım geliştirme araçlarıyla amacına uygun yazılım mantığını tasarlar. 5 3,4 A,B,C,D
Kullanıcının ihtiyacına uygun yazılımları geliştirir. 2 1,2,3,4 A,B,C
Geliştirdiği yazılımları farklı donanım ortamlarında grafik etkileri de kullanarak uç kullanıcıların kullanımına sunabilme bilgi ve becerilerine sahiptir. 2,4,5 3,4 A,B,C
Bilişim mezunu günümüze kadar geliştirilen yapısal yazılım geliştirme araçlarıyla amacına uygun yazılım mantığını tasarlar. 4,5 1,2,4 A,C
Kalıtım - inheritance (is-a), kompozisyon - composition (has-a) ve çokşekillilik (polymorphism) kavramlarını kullanarak nesneye yönelik Java uygulamaları geliştirir. İş parçacıklarını (threads) ve yordamları etkin olarak kullanarak modüler sistem geliştirir. 5 1,2,3,4 A,B,C
Diziler, Hata yakalama, Giriş/çıkış, dosyaya yazdırma ve okutma,  işlemlerini gerçekleştirir. 2,4,5 1,3 A,B,C
Bir proje problemini ele alarak bütünleşik bir çözüm üretir. 2,4,5,10 2,4 B,C,D

Dersin Akışı

Hafta Konular Ön Hazırlık
1 Programlama ve Nesne Yönelimli Programlamada (OOP) lojistik konulara giriş. ACM 111
2 Java programlama kavramlarına giriş; işletim sistemi; programlamada kullanılan araçlar, giriş ve çıkış. ACM 222
3 Sınıflar ve nesnelere giriş.  
4 Kontrol Deyimleri ACM 222
5 Yöntemler (Yordamlar) ACM 222
6 Diziler ACM 222
7 ARA SINAV  
8 OOP- Kalıtım  
9 Özyineleme Kalıtım
10 Sınıflar ve Nesneler: Olay güdümlü programlama  
11 OOP- Çokşekillik  
12 Dosyalar ve veri akımları  
13 Bilgi kapsülleme ve Proje Çalışması  
14 TEKRAR ve ARA SINAV  

Kaynaklar

Ders Notu John Lewis , William Loftus, Java Software Solutions: Foundations of Program Design Pearson (7ci Baskı)
Diğer Kaynaklar P. J. Deitel and H. M. Deitel, Java How to Program, 9.cu Baskı. Pearson Education. http://docs.oracle.com/javase/tutorial/

http://www.java.com/en/download/manual.jsp.

Materyal Paylaşımı

Dökümanlar Sunumlar ve Laboratuvar Föyleri
Ödevler Ödev Föyleri
Sınavlar Eski Sınav Soruları öğrencilere verilmektedir.

Değerlendirme Sistemi

DEĞERLENDİRME SİSTEMİ
YARIYIL İÇİ ÇALIŞMALARI SIRA KATKI YÜZDESİ
Ara Sınav 2 50
Kısa Sınav 4 10
Ödev ve Laboratuvar 10 10
Proje ve sunumu 1 30
Toplam   100
Finalin Başarıya Oranı   40
Yıl içinin Başarıya Oranı   60
Toplam   100

AKTS İş Yükü Tablosu

AKTS / İŞ YÜKÜ TABLOSU
Etkinlik SAYISI Süresi
(Saat)
Toplam
İş Yükü
(Saat)
Ders Süresi (Sınav haftası dahildir: 16x toplam ders saati) 15 3 45
Sınıf Dışı Ders Çalışma Süresi(Ön çalışma, pekiştirme) 15 3 45
    2 4
    1 4
Ödev 10 2 20
Proje 1 16 16
Final 2(Bütünleme Dahil) 2 4
Toplam İş Yükü     138
Toplam İş Yükü / 25 (s)     5.52
Dersin AKTS Kredisi     6
2