• Türkçe
  • English
Ders Kodu: 
CIS 112
Ders Dönemi: 
Bahar
Ders Tipi: 
Zorunlu
Teori Saati: 
2
Kredi: 
3
AKTS: 
6
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