GERİ DÖN

Ders Öğretim Planı


Dersin Kodu Dersin Adı Dersin Türü Yıl Yarıyıl AKTS
501001122023 INTRODUCTION TO OBJECT ORIENTED PROGRAMMING Ders 1 2 7,00

Lisans


İngilizce


Bu dersin amacı, öğrencilerin nesneye dayalı programlamanın temel kavramları ile doğrusal veri yapıları hakkında bilgi sahibi olmasını sağlamaktır. Bu bağlamda, problemleri nesneye dayalı programlama yaklaşımı kullanarak çözebilme ve gerektiğinde doğrusal veri yapılarını problemlerin çözümünde kullanabilme yeteneklerinin kazandırılmasını sağlamak hedeflenmektedir.


Doç.Dr.Rıza Cenk ERDUR


1 Programlarında dosyaları kullanabilme.
2 Programlarında sınıf tanımlayabilme ve kullanabilme
3 Nesneye dayalı programlamanın temel yapılarını ve özelliklerini problem çözümlerinde kullanabilme
4 Programlarında dizileri kullanabilme
5 Programlarında; bağlı listeler, hash tablosu, küme gibi doğrusal veri yapılarını kullanabilme.
6 Yığıt ve kuyruk veri yapısı gerçekleştirimi yapabilme ve programlarında kullanabilme.
7 Problemin çözümlenmesinden, programın test edilmesine kadar tüm aşamaları kapsayan projeler geliştirebilme.
8 Projenin gelişim aşamalarını ve programın kullanımını kapsayan teknik raporlar hazırlayabilme
9 Öğrendiklerini matematiksel, güncel ve iş hayatına dönük problemlerin çözümünde kullanabilme
10 Grup çalışması yapabilme.

Birinci Öğretim


Yok


Yok


• Giriş: Ders tanıtımı, Java ortamının tanıtımı, atama işlemleri, ifadeler, değişkenler, anahtar kelimeler, “String” sınıfı. • Java dilinde konsol giriş/çıkış işlemleri, akış kontrol komutları. • Java dilinde sınıfların tanımlanması. • Java dilinde diziler, aykırı durumların ele alınması. • Kalıtım (inheritance). • Çok-biçimlilik (polymorphism), arayüzler (interfaces), dahili sınıflar. • Java dilinde dosya işlemleri. • Java dilinde “Generics” ve “ArrayList” sınıfı. • Doğrusal veri yapıları (Bağlı listeler, yığıtlar, kuyruklar, kümeler, hash map'ler). • Java dilinde grafik kullanıcı arayüzü (“Swing”).


Hafta Konular (Teorik) Uygulama Öğretim Yöntem ve Teknikleri Ön Hazırlık
1 Giriş: Ders tanıtımı, Java ortamının tanıtımı, atama işlemleri, ifadeler, değişkenler, anahtar kelimeler, “String” sınıfı. Konu ile ilgili Java uygulamasının yazımı.
2 Java dilinde konsol giriş/çıkış işlemleri, akış kontrol komutları. Konu ile ilgili Java uygulamasının dosya kullanımı da içerecek şekilde yazımı.
3 Java dilinde sınıfların tanımlanması I Java dilinde bir sınıfı verisi, yapıcı metotları ve diğer metotları ile yazma.
4 Java dilinde sınıfların tanımlanması II Java dilinde sınıf tanımlamada ileri konular ile ilgili kodlama.
5 Java dilinde diziler. Dizi kullanan Java uygulamaları geliştirme.
6 Kalıtım. Kalıtım ile ilgili Java uygulaması yazma.
7 Çok-Biçimlilik Çok-biçimlilik örnekleyen Java uygulaması yazma.
8 Ara sınav
9 Soyut sınıflar, arayüzler Soyut sınıf ve arayüz kullanmaya dayanan Java uygulaması yazma.
10 Java dilinde hata ayıklama Try-catch-finally blok içeren Java uygulaması yazma.
11 Java ArrayList Sınıfı ve Generics ArrayList ve generics kullanan Java uygulaması yazma. Java'da özyineli çağrımlar.
12 Doğrusal veri yapıları I: Yığıt, Kuyruk Java dilinde yığıt, kuyruk sınıfı yazımı ve kullanımı.
13 Doğrusal veri yapıları II : Bağlı Listeler Java dilinde tek bağlı ve çift bağlı liste sınıfları yazımı ve kullanımı.
14 Doğrusal veri yapıları III; Küme ve HashMap veri yapısı oluşturma. Java dilinde küme ve hash map sınıfları yazma.
15 Görsel Bileşenler: Swing API Java ile görsel bileşenler içeren uygulama geliştirme.
16 Final sınavı

Ana Ders Kitabı: [1] "Absolute Java", Walter Savitch, Kenrick Mock, 6/ed., Global edition, Pearson Education, 2016. (Java programlama dili ile ilgili diğer referans kitapları) [2] "Java How to Program", Deitel, 7/ed., 8/ed., 9/ed., Prentice Hall, 2007, 2009, 2012,2015. (http://www.deitel.com/Books/Java/JavaHowtoProgram10eEarlyObjects/tabid/3656/Default.aspx adresinde gerek kitabın 10. baskısı hakkında ayrıntılı bilgi gerekse Java, Eclipse, NetBeans gibi konularda diğer kaynaklara, videolara bağlantılar bulunmaktadır.) [3] "Thinking in Java", Bruce Eckel, 2/ed., 3/ed., 4/ed., Prentice Hall, 2001, 2002, 2006. (http://mindview.net/Books/TIJ4) [4] "The JavaTM Programming Language", Ken Arnold, and James Gosling, David Holmes, 4/ed., 5/ed., Addison Wesley, 2005, 2012. (Java programlama dili ile ilgili olarak izlenebilecek önemli İnternet kaynakları) [5] "The Java Tutorial”, Oracle, 2015. http://docs.oracle.com/javase/tutorial/getStarted/index.html adresinden erişilebilmektedir.



Yarıyıl (Yıl) İçi Etkinlikleri Adet Değer
Ara Sınav 1 50
Quiz 4 20
Proje Hazırlama 1 30
Toplam 100
Yarıyıl (Yıl) Sonu Etkinlikleri Adet Değer
Final Sınavı 1 100
Toplam 100
Yarıyıl (Yıl) İçi Etkinlikleri 50
Yarıyıl (Yıl) Sonu Etkinlikleri 50

Yok


Etkinlikler Sayısı Süresi (saat) Toplam İş Yükü (saat)
Ara Sınav 1 2 2
Final Sınavı 1 2 2
Quiz 4 4 16
Derse Katılım 14 3 42
Laboratuvar 14 2 28
Proje Hazırlama 1 50 50
Ara Sınav İçin Bireysel Çalışma 1 28 28
Final Sınavı içiin Bireysel Çalışma 1 28 28
Quiz için Bireysel Çalışma 4 3 12
Toplam İş Yükü (saat) 208

PÇ 1 PÇ 2 PÇ 3 PÇ 4 PÇ 5 PÇ 6 PÇ 7 PÇ 8 PÇ 9 PÇ 10 PÇ 11
ÖÇ 1 4 4 4 4
ÖÇ 2 5 4 4
ÖÇ 3 3 4 3
ÖÇ 4 4 4 4 5
ÖÇ 5 4 4 4 5
ÖÇ 6 4 4 4 5
ÖÇ 7 4 5 4 5 4 3 2
ÖÇ 8 4
ÖÇ 9 5 5 4
ÖÇ 10 4 3 2
* Katkı Düzeyi : 1 Çok düşük 2 Düşük 3 Orta 4 Yüksek 5 Çok yüksek