Ön Koşul Dersleri:
Dersin Dili:
İngilizce
Dersin Koordinatörü:
Dersin Amacı:
Bu ders, nesneye yönelimli programlama kavramını ve bu yaklaşımla veri yapılarını tanıtır.
Dersin İçeriği:
Nesne Yönelimli Programlamanın (OOP) ilkeleri. Yığıtlar, kuyruklar; bağlı listeler, ağaçlar, yığınlar, çizgeler.
Dersin Öğretim Yöntemleri:
1: Anlatım, 2: Soru-Cevap, 3: Tartışma
Dersin Ölçme Yöntemleri:
A: Sınav, C: Ödev
Dikey Sekmeler
Dersin Öğrenme Çıktıları
Dersin Öğrenme Çıktıları | Program Öğrenme Çıktıları | Öğretim Yöntemleri | Ölçme Yöntemleri |
Öğrenciler belirli bir problem için gerekli veri yapılarını kullanacaklardır. | 1 | 1,2,3 | A,C |
Öğrenci bağlantılı listeleri, yığınları, kuyrukları ve ikili ağaçları kullanacaktır. | 1 | 1,2,3 | A,C |
Öğrenci, eldeki problem için en uygun veri yapısını belirleyecektir. | 1 | 1,2,3 | A,C |
Öğrenci, mevcut veri türlerini kullanarak karmaşık veri yapıları oluşturacaktır. | 1 | 1,2,3 | A,C |
Öğrenci, OOP'nin temel ilkelerini öğrenecek. | 1 | 1,2,3 | A,C |
Dersin Akışı
DERS AKIŞI | ||
Hafta | Konular | Ön Hazırlık |
1 | Nesne Yönelimli Programlama ilkeleri ve Sınıf Yazma | Ders notları |
2 | Kalıtım, Arayüz ve Soyut Sınıflar | Ders notları |
3 | Çokformluluk | Ders notları |
4 | Yığınlar ve Kuyruklar | Ünite 4 |
5 | Bağlı Listeler | Ünite 5 |
6 | Özyineleme | Ünite 6 |
7 | ARA SINAV | |
8 | İkili Ağaçlar | Ünite 8 |
9 | Kırmızı-Siyah Ağaçlar | Ünite 9 |
10 | 2-3-4 Ağaçlar ve Harici Depolama | Ünite 10 |
11 | Yığıtlar | Ünite 12 |
12 | Çizgeler | Ünite 13 |
13 | Ağırlıklı Çizgeler | Ünite 14 |
14 | Veri Yapılarının Karşılaştırılması | Ünite 15 |
15 | FINAL |
Kaynaklar
KAYNAKLAR | |
Ders Kitabı |
Data Structures and Algorithms in Java, Lafore, Pearson, 2017.
Java Software Solutions: Foundations of Program Design (2nd. ed.), Lewis and Loftus, Addison-Wesley, 2000. |
Diğer Kaynaklar |
Introduction to Algorithms, 4th Edition, Cormen, Leiserson, Rivest, Stein; MIT Press 2022.
Java tutorials, (https://docs.oracle.com/javase/tutorial/), Oracle. Lecture Notes |
Değerlendirme Sistemi
DEĞERLENDİRME SİSTEMİ | ||
YARIYIL İÇİ ÇALIŞMALARI | SIRA | KATKI YÜZDESİ |
Ara Sınav | 1 | 40 |
Kısa Sınav | 1 | 20 |
Ödev | 10 | 20 |
Toplam | 100 | |
Finalin Başarıya Oranı | 60 | |
Yıl içinin Başarıya Oranı | 40 | |
Toplam | 100 |
Dersin Program Çıktılarına Katkısı
DERS KATEGORİSİ | Uzmanlık / Alan Dersleri |
DERSİN PROGRAM ÇIKTILARINA KATKISI | |||||||
No | Program Öğrenme Çıktıları | Katkı Düzeyi | |||||
1 | 2 | 3 | 4 | 5 | |||
1 | Öğrenci gelişen bilgisayar teknolojileriyle ortaya çıkan çoklu ortamlarda görsel ara yüzlerin tasarlanması ve geliştirilmesi için gerekli sistemlerin oluşturulması konusunda bilgi sahibidir. | X | |||||
2 | Bilişim sistemleri mezunu gelişen bilgisayar teknolojileriyle ortaya çıkan çoklu ortamlarda kullanıcılara amaçlarına uygun bilgisayar uygulamalarının tasarlanması, geliştirilmesi ve kullanılabilmesi için gerekli sistemlerin oluşturulması konusunda ileri bilgi sahibidir. | X | |||||
3 | Bilgisayar biliminin temel işleyişini ve problemlerini soyut matematik çerçevesi içinde çözebilmek için gerekli algoritma veri yapılarını tasarlayabilen, geliştirilebilen ve uygulayabilen bilgi ve beceriye sahiptir. | X | |||||
4 | Öğrenci 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ı tasarlayabilme, bu yazılımları geliştirebilme ve farklı donanım ortamlarında uç kullanıcıların kullanımına sunabilme bilgi ve becerilerine sahiptir. | X | |||||
5 | Öğrenci 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ı tasarlayabilme, bu yazılımları geliştirebilme ve farklı donanım ortamlarında uç kullanıcıların kullanımına sunabilme bilgi ve becerilerine sahiptir. | X | |||||
6 | Öğrenci bilgisayarların temel bileşeni işletim sistemlerinin işleyiş mantığını, sistemde işlerin ve kullanıcı yetkilerinin yönetimi için komutların geliştirilmesi ve farklı donanımsal ortamlarda uygulanmasını bilir. | X | |||||
7 | Yazılım geliştirme veri kavramı, yapıları, modelleri ile veritabanı uygulamalarını kullanma ve ilişkisel veritabanlarında veriyi erişim ve işleme araçlarını tasarlama, geliştirme ve uygulama hakkında bilgi ve becerilere sahiptir. | X | |||||
8 | Öğrenci ticari amaçlı yazılımların veri depolarının modellenmesi, yazılımdan bağlanarak(aracılığıyla) veriye erişim, verilerin işlenmesi konularında ilgili yazılım araçlarıyla geliştirme ve uygulayabilme bilgi ve becerilerine sahiptir. | X | |||||
9 | Yazılım geliştirme bilgisayar ağlarının temellerini, ağ sistemin tasarlanması ve yapılandırılması, bakımı ve sorunlarını çözebilmek için gerekli ve yeterli bilgi birikimine sahip olmak. | ||||||
10 | Yazılım geliştirme günümüzün en büyük bilgisayar ağ olan internete özel olarak görsel ara yüzlerin ve çoklu katmanlı istemci/sunucu mimarisinde çalışabilecek yazılımların tasarlanması, geliştirilmesi ve uygulanabilmesi gerekli bilgi, beceri ve donanıma sahiptir. |
AKTS İş Yükü Tablosu
AKTS / İŞ YÜKÜ TABLOSU | |||
Etkinlik | SAYISI |
Süresi (Saat) |
Toplam İş Yükü (Saat) |
Ders Süresi (Sınav haftası dahildir: 15x toplam ders saati) | 15 | 3 | 45 |
Sınıf Dışı Ders Çalışma Süresi(Ön çalışma, pekiştirme) | 15 | 4 | 60 |
Ara Sınav | 1 | 10 | 10 |
Kısa Sınav | 10 | 1 | 10 |
Ödev | 10 | 1 | 10 |
Final | 1 | 10 | 10 |
Toplam İş Yükü | 145 | ||
Toplam İş Yükü / 25 (s) | 5,8 | ||
Dersin AKTS Kredisi | 6 |
1