Ana içeriğe atla

Ders Detayı

Ders Tanımı

DersKoduYarıyılT+U SaatKrediAKTS
NESNE TABANLI PROGRAMLAMABME3113250Güz Dönemi3+246
Ders Programı
Ön Koşul Dersleri
Önerilen Seçmeli Dersler
Dersin Diliİngilizce
Dersin SeviyesiLisans
Dersin TürüPrograma Bağlı Seçmeli
Dersin KoordinatörüProf.Dr. Selim AKYOKUŞ
Dersi VerenlerProf.Dr. Selim AKYOKUŞ
Dersin Yardımcıları
Dersin AmacıBu dersin amacı, sözdiziminden (syntax) daha çok problem çözmeye odaklanan ve problem odaklı bir şekilde nesne yönelimli programlamayı (OOP) öğretmektir. Öğrenciler nesne tabanlı düşünme ve tasarımını öğrenir ve algoritmik düşünme becerilerini geliştirirler. OOP tekniklerini belirli bir probleme nasıl ve ne zaman etkili bir şekilde uygulayacaklarını öğrenirler. Ders, Java'daki temel tekniklerin gözden geçirilmesiyle başlar ve ardından nesneler ve sınıflar, nesne odaklı düşünme, kalıtım ve çok biçimlilik, istisna işleme ve metin I/O, soyut sınıflar ve arayüzler, Java GUI temelleri, olay güdümlü programlama ve animasyonlar, Java UI kontrolleri ve multimedya, ikili I/O, özyineleme, jenerikler, listeler, yığınlar, kuyruklar ve öncelik kuyrukları, kümeler ve eşlemeler, listelerin, yığınların, kuyrukların ve öncelik kuyruklarının uygulanması konularını öğretir.
Dersin İçeriğiBu ders; 1.Hafta: Nesne tabanlı programlama diline giriş, bilgisayar programları, programlama çevresinin ve araçlarının tanıtımı, algoritma tasarımı,2.Hafta: Temel veri tipleri, değişkenler, aritmetik operatörler, girdi ve çıktılar, String tipleri, kontrol yapıları, boolean değişkeni ve operatörleri, rakamların ve Stringlerin karıştırılması, iç içe dallanmalar,3.Hafta: Döngüler (for, do, while), iç içe döngüler, rastgele sayılar, metotlar, parametre aktarımı, dönüş değerleri, dönüş değeri olmayan metotlar, değişken kapsamı, tekrarlanan metotlar,4.Hafta: Diziler ve dizi listeleri, dizi algoritmaları, iki boyutlu diziler,5.Hafta: Girdi/Çıktı ve hata yönetimi, dosyalar ile işlemler, komut satırı işlemleri, hata yakalama (try-catch-finally),6.Hafta: Nesneler ve sınıflar, instance metotları, başlangıç metotları (constructor), nesne referansları, static değişkenler ve metotlar,7. Hafta: Kalıtım, alt sınıflar ve metotlar, çok biçimlilik (polymorphism), arayüz tipleri,8. Hafta: Grafiksel arayüz tasarım kütüphaneleri ve grafiksel arayüz tasarımında ileri seviye konular,9. Hafta: Olay Güdümlü Programlama ve Animasyonlar,10. Hafta: Tekrarlama (Recursion), sıralama ve arama (selection/merge/binary search),11. Hafta: Java Koleksiyonlar Çerçevesi: Listeler, Yığınlar, Kuyruklar ve Öncelik Kuyrukları, Kümeler ve Haritalar ,12. Hafta: Listeler, Yığınlar, Kuyruklar ve Öncelik Kuyruklarının Uygulanması,13. Hafta: Java ile Web Geliştirme ve Java Enterprise'a (J2EE) Giriş,14. Hafta: Gözden Geçirme; konularını içermektedir.
Dersin Öğrenme KazanımlarıÖğretim YöntemleriÖlçme Yöntemleri
1. Nesne yönelimli programlama ve dillerinin temellerini tanımlayabilecek ve tartışabilecektir.17, 9A, E
2. Sınıf, nesne, polimorfizm, kalıtsallık ve ezme gibi nesne tabanlı programlamanın temel kavram ve yapılarını kullanabilir ve uygulayabilir.17, 9A, E
3. Java'da temel veri tiplerini, temel kontrol yapılarını, döngü tiplerini, fonksiyonları ve kütüphaneleri kullanabilir.17, 9A, E
4. Java'da sınıfları, nesne yönelimli düşünmeyi, kalıtım ve polimorfizmi, istisna işlemeyi, soyut sınıfları ve arayüzleri kullanabilir ve uygulayabilir.17, 9A, E
5. Sınıflar, kalıtım, Java GUI'leri, olay güdümlü programlama ve animasyonlar, Java UI kontrolleri ve multimedya, ikili I/O, özyineleme, jenerikler, listeler, yığınlar, kuyruklar ve öncelik kuyrukları, kümeler ve haritalar, yığınlar, kuyruklar ve öncelik kuyrukları kullanan nesne tabanlı programlar tasarlayabilir ve geliştirebilir. 17, 9A, E
Öğretim Yöntemleri:17: Deney yapma Tekniği, 9: Anlatım Yöntemi
Ölçme Yöntemleri:A: Klasik Yazılı Sınav, E: Ödev

Ders Akışı

SıraKonularÖn Hazırlık
11.Hafta: Nesne tabanlı programlama diline giriş, bilgisayar programları, programlama çevresinin ve araçlarının tanıtımı, algoritma tasarımıDers Kitabı Bölüm 1
22.Hafta: Temel veri tipleri, değişkenler, aritmetik operatörler, girdi ve çıktılar, String tipleri, kontrol yapıları, boolean değişkeni ve operatörleri, rakamların ve Stringlerin karıştırılması, iç içe dallanmalarDers Kitabı Bölüm 2,3,4
33.Hafta: Döngüler (for, do, while), iç içe döngüler, rastgele sayılar, metotlar, parametre aktarımı, dönüş değerleri, dönüş değeri olmayan metotlar, değişken kapsamı, tekrarlanan metotlarDers Kitabı Bölüm 5,6
44.Hafta: Diziler ve dizi listeleri, dizi algoritmaları, iki boyutlu dizilerDers Kitabı Bölüm 7,8
55.Hafta: Girdi/Çıktı ve hata yönetimi, dosyalar ile işlemler, komut satırı işlemleri, hata yakalama (try-catch-finally)Ders Kitabı Bölüm 12
66.Hafta: Nesneler ve sınıflar, instance metotları, başlangıç metotları (constructor), nesne referansları, static değişkenler ve metotlarDers Kitabı Bölüm 9,10
77. Hafta: Kalıtım, alt sınıflar ve metotlar, çok biçimlilik (polymorphism), arayüz tipleriDers Kitabı Bölüm 11
88. Hafta: Grafiksel arayüz tasarım kütüphaneleri ve grafiksel arayüz tasarımında ileri seviye konularDers Kitabı Bölüm 14
99. Hafta: Olay Güdümlü Programlama ve AnimasyonlarDers Kitabı Bölüm 15
1010. Hafta: Tekrarlama (Recursion), sıralama ve arama (selection/merge/binary search)Ders Kitabı Bölüm 18
1111. Hafta: Java Koleksiyonlar Çerçevesi: Listeler, Yığınlar, Kuyruklar ve Öncelik Kuyrukları, Kümeler ve Haritalar Ders Kitabı Bölüm 20
1212. Hafta: Listeler, Yığınlar, Kuyruklar ve Öncelik Kuyruklarının UygulanmasıDers Kitabı Bölüm 21
1313. Hafta: Java ile Web Geliştirme ve Java Enterprise'a (J2EE) GirişDers Kitabı Bölüm 32,33
1414. Hafta: Gözden Geçirme
Kaynak
- Introduction to Java Programming and Data Structures, Comp. Version (11th Edition), Y. Daniel Liang, Peason, 2018. - Computer Science An Interdisciplinary Approach, Robert Sedgewick, Kevin Wayne, Peasoni 2018.
- Java Software Solutions, Global Edition, 9/e, Lewis & Loftus, Pearson, 2019. - Java: An Introduction to Problem Solving and Programming, Global Edition, 8/e, Savitch, Pearson, 2019. - Core Java Volume I and II --Fundamentals, 11/e, Horstmann, Pearson, 2019. - Java How to Program, Early Objects, Global Edition, 11/e, Deitel & Deitel, Peason, 2018. - Introduction to Programming Using Java, Eighth Edition Version 8.0, 2018 David J. Eck.

Dersin Program Yeterliliklerine Katkısı

Dersin Program Yeterliliklerine Katkısı
NoProgram Yeterliliği Katkı Düzeyi
12345
1
Matematik, fen bilimleri ve ilgili mühendislik disiplinine özgü konularda yeterli bilgi birikimi; bu alanlardaki kuramsal ve uygulamalı bilgileri, karmaşık mühendislik problemlerinde kullanabilme becerisi
X
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
X
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
X
4
Mühendislik 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
X
5
Karmaşık mühendislik problemlerinin veya disipline özgü araştırma konularının incelenmesi için deney tasarlama, deney yapma, veri toplama, sonuçları analiz etme ve yorumlama becerisi
X
6
Disiplin içi ve çok disiplinli takımlarda etkin biçimde çalışabilme becerisi; bireysel çalışma becerisi
X
7
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
X
8
Yaşam boyu öğrenmenin gerekliliği bilinci; bilgiye erişebilme, bilim ve teknolojideki gelişmeleri izleme ve kendini sürekli yenileme becerisi
X
9
Etik ilkelerine uygun davranma, mesleki ve etik sorumluluk bilinci; mühendislik uygulamalarında kullanılan standartlar hakkında bilgi
X
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
12
İnsan vücudunu anlama ve onarmada mühendisliğin ilkelerini uygulama ve karar verme yetisi

Değerlendirme Sistemi

Katkı DüzeyiMutlak Değerlendirme
Ara Sınavın Başarıya Oranı 30
Genel Sınavın Başarıya Oranı 70
Toplam 100
AKTS / İşyükü Tablosu
EtkinlikSayıSüresi (Saat)Toplam İş Yükü (Saat)
Ders Saati14342
Rehberli Problem Çözme14456
Problem Çözümü / Ödev / Proje / Rapor Tanzimi000
Okul Dışı Diğer Faaliyetler15050
Proje Sunumu / Seminer000
Kısa Sınav (QUİZ) ve Hazırlığı000
Ara Sınav ve Hazırlığı12222
Genel Sınav ve Hazırlığı12222
Performans Görevi, Bakım Planı000
Toplam İş Yükü (Saat)192
Dersin AKTS Kredisi = Toplam İş Yükü (Saat)/30*=(192/30)6
Dersin AKTS Kredisi: *30 saatlik çalışma 1 AKTS kredisi sayılmaktadır.

Dersin Detaylı Bilgileri

Ders Tanımı

DersKoduYarıyılT+U SaatKrediAKTS
NESNE TABANLI PROGRAMLAMABME3113250Güz Dönemi3+246
Ders Programı
Ön Koşul Dersleri
Önerilen Seçmeli Dersler
Dersin Diliİngilizce
Dersin SeviyesiLisans
Dersin TürüPrograma Bağlı Seçmeli
Dersin KoordinatörüProf.Dr. Selim AKYOKUŞ
Dersi VerenlerProf.Dr. Selim AKYOKUŞ
Dersin Yardımcıları
Dersin AmacıBu dersin amacı, sözdiziminden (syntax) daha çok problem çözmeye odaklanan ve problem odaklı bir şekilde nesne yönelimli programlamayı (OOP) öğretmektir. Öğrenciler nesne tabanlı düşünme ve tasarımını öğrenir ve algoritmik düşünme becerilerini geliştirirler. OOP tekniklerini belirli bir probleme nasıl ve ne zaman etkili bir şekilde uygulayacaklarını öğrenirler. Ders, Java'daki temel tekniklerin gözden geçirilmesiyle başlar ve ardından nesneler ve sınıflar, nesne odaklı düşünme, kalıtım ve çok biçimlilik, istisna işleme ve metin I/O, soyut sınıflar ve arayüzler, Java GUI temelleri, olay güdümlü programlama ve animasyonlar, Java UI kontrolleri ve multimedya, ikili I/O, özyineleme, jenerikler, listeler, yığınlar, kuyruklar ve öncelik kuyrukları, kümeler ve eşlemeler, listelerin, yığınların, kuyrukların ve öncelik kuyruklarının uygulanması konularını öğretir.
Dersin İçeriğiBu ders; 1.Hafta: Nesne tabanlı programlama diline giriş, bilgisayar programları, programlama çevresinin ve araçlarının tanıtımı, algoritma tasarımı,2.Hafta: Temel veri tipleri, değişkenler, aritmetik operatörler, girdi ve çıktılar, String tipleri, kontrol yapıları, boolean değişkeni ve operatörleri, rakamların ve Stringlerin karıştırılması, iç içe dallanmalar,3.Hafta: Döngüler (for, do, while), iç içe döngüler, rastgele sayılar, metotlar, parametre aktarımı, dönüş değerleri, dönüş değeri olmayan metotlar, değişken kapsamı, tekrarlanan metotlar,4.Hafta: Diziler ve dizi listeleri, dizi algoritmaları, iki boyutlu diziler,5.Hafta: Girdi/Çıktı ve hata yönetimi, dosyalar ile işlemler, komut satırı işlemleri, hata yakalama (try-catch-finally),6.Hafta: Nesneler ve sınıflar, instance metotları, başlangıç metotları (constructor), nesne referansları, static değişkenler ve metotlar,7. Hafta: Kalıtım, alt sınıflar ve metotlar, çok biçimlilik (polymorphism), arayüz tipleri,8. Hafta: Grafiksel arayüz tasarım kütüphaneleri ve grafiksel arayüz tasarımında ileri seviye konular,9. Hafta: Olay Güdümlü Programlama ve Animasyonlar,10. Hafta: Tekrarlama (Recursion), sıralama ve arama (selection/merge/binary search),11. Hafta: Java Koleksiyonlar Çerçevesi: Listeler, Yığınlar, Kuyruklar ve Öncelik Kuyrukları, Kümeler ve Haritalar ,12. Hafta: Listeler, Yığınlar, Kuyruklar ve Öncelik Kuyruklarının Uygulanması,13. Hafta: Java ile Web Geliştirme ve Java Enterprise'a (J2EE) Giriş,14. Hafta: Gözden Geçirme; konularını içermektedir.
Dersin Öğrenme KazanımlarıÖğretim YöntemleriÖlçme Yöntemleri
1. Nesne yönelimli programlama ve dillerinin temellerini tanımlayabilecek ve tartışabilecektir.17, 9A, E
2. Sınıf, nesne, polimorfizm, kalıtsallık ve ezme gibi nesne tabanlı programlamanın temel kavram ve yapılarını kullanabilir ve uygulayabilir.17, 9A, E
3. Java'da temel veri tiplerini, temel kontrol yapılarını, döngü tiplerini, fonksiyonları ve kütüphaneleri kullanabilir.17, 9A, E
4. Java'da sınıfları, nesne yönelimli düşünmeyi, kalıtım ve polimorfizmi, istisna işlemeyi, soyut sınıfları ve arayüzleri kullanabilir ve uygulayabilir.17, 9A, E
5. Sınıflar, kalıtım, Java GUI'leri, olay güdümlü programlama ve animasyonlar, Java UI kontrolleri ve multimedya, ikili I/O, özyineleme, jenerikler, listeler, yığınlar, kuyruklar ve öncelik kuyrukları, kümeler ve haritalar, yığınlar, kuyruklar ve öncelik kuyrukları kullanan nesne tabanlı programlar tasarlayabilir ve geliştirebilir. 17, 9A, E
Öğretim Yöntemleri:17: Deney yapma Tekniği, 9: Anlatım Yöntemi
Ölçme Yöntemleri:A: Klasik Yazılı Sınav, E: Ödev

Ders Akışı

SıraKonularÖn Hazırlık
11.Hafta: Nesne tabanlı programlama diline giriş, bilgisayar programları, programlama çevresinin ve araçlarının tanıtımı, algoritma tasarımıDers Kitabı Bölüm 1
22.Hafta: Temel veri tipleri, değişkenler, aritmetik operatörler, girdi ve çıktılar, String tipleri, kontrol yapıları, boolean değişkeni ve operatörleri, rakamların ve Stringlerin karıştırılması, iç içe dallanmalarDers Kitabı Bölüm 2,3,4
33.Hafta: Döngüler (for, do, while), iç içe döngüler, rastgele sayılar, metotlar, parametre aktarımı, dönüş değerleri, dönüş değeri olmayan metotlar, değişken kapsamı, tekrarlanan metotlarDers Kitabı Bölüm 5,6
44.Hafta: Diziler ve dizi listeleri, dizi algoritmaları, iki boyutlu dizilerDers Kitabı Bölüm 7,8
55.Hafta: Girdi/Çıktı ve hata yönetimi, dosyalar ile işlemler, komut satırı işlemleri, hata yakalama (try-catch-finally)Ders Kitabı Bölüm 12
66.Hafta: Nesneler ve sınıflar, instance metotları, başlangıç metotları (constructor), nesne referansları, static değişkenler ve metotlarDers Kitabı Bölüm 9,10
77. Hafta: Kalıtım, alt sınıflar ve metotlar, çok biçimlilik (polymorphism), arayüz tipleriDers Kitabı Bölüm 11
88. Hafta: Grafiksel arayüz tasarım kütüphaneleri ve grafiksel arayüz tasarımında ileri seviye konularDers Kitabı Bölüm 14
99. Hafta: Olay Güdümlü Programlama ve AnimasyonlarDers Kitabı Bölüm 15
1010. Hafta: Tekrarlama (Recursion), sıralama ve arama (selection/merge/binary search)Ders Kitabı Bölüm 18
1111. Hafta: Java Koleksiyonlar Çerçevesi: Listeler, Yığınlar, Kuyruklar ve Öncelik Kuyrukları, Kümeler ve Haritalar Ders Kitabı Bölüm 20
1212. Hafta: Listeler, Yığınlar, Kuyruklar ve Öncelik Kuyruklarının UygulanmasıDers Kitabı Bölüm 21
1313. Hafta: Java ile Web Geliştirme ve Java Enterprise'a (J2EE) GirişDers Kitabı Bölüm 32,33
1414. Hafta: Gözden Geçirme
Kaynak
- Introduction to Java Programming and Data Structures, Comp. Version (11th Edition), Y. Daniel Liang, Peason, 2018. - Computer Science An Interdisciplinary Approach, Robert Sedgewick, Kevin Wayne, Peasoni 2018.
- Java Software Solutions, Global Edition, 9/e, Lewis & Loftus, Pearson, 2019. - Java: An Introduction to Problem Solving and Programming, Global Edition, 8/e, Savitch, Pearson, 2019. - Core Java Volume I and II --Fundamentals, 11/e, Horstmann, Pearson, 2019. - Java How to Program, Early Objects, Global Edition, 11/e, Deitel & Deitel, Peason, 2018. - Introduction to Programming Using Java, Eighth Edition Version 8.0, 2018 David J. Eck.

Dersin Program Yeterliliklerine Katkısı

Dersin Program Yeterliliklerine Katkısı
NoProgram Yeterliliği Katkı Düzeyi
12345
1
Matematik, fen bilimleri ve ilgili mühendislik disiplinine özgü konularda yeterli bilgi birikimi; bu alanlardaki kuramsal ve uygulamalı bilgileri, karmaşık mühendislik problemlerinde kullanabilme becerisi
X
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
X
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
X
4
Mühendislik 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
X
5
Karmaşık mühendislik problemlerinin veya disipline özgü araştırma konularının incelenmesi için deney tasarlama, deney yapma, veri toplama, sonuçları analiz etme ve yorumlama becerisi
X
6
Disiplin içi ve çok disiplinli takımlarda etkin biçimde çalışabilme becerisi; bireysel çalışma becerisi
X
7
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
X
8
Yaşam boyu öğrenmenin gerekliliği bilinci; bilgiye erişebilme, bilim ve teknolojideki gelişmeleri izleme ve kendini sürekli yenileme becerisi
X
9
Etik ilkelerine uygun davranma, mesleki ve etik sorumluluk bilinci; mühendislik uygulamalarında kullanılan standartlar hakkında bilgi
X
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
12
İnsan vücudunu anlama ve onarmada mühendisliğin ilkelerini uygulama ve karar verme yetisi

Değerlendirme Sistemi

Katkı DüzeyiMutlak Değerlendirme
Ara Sınavın Başarıya Oranı 30
Genel Sınavın Başarıya Oranı 70
Toplam 100

Sayısal Veriler

Ekleme Tarihi: 06/07/2022 - 16:47Son Güncelleme Tarihi: 06/07/2022 - 16:48