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 |