• Turkish
  • English
Ders Kodu: 
* ACM 321
Ders Dönemi: 
Bahar
Ders Tipi: 
Seçmeli
Teori Saati: 
3
Uygulama Saati: 
0
Laboratuvar Saati: 
0
Kredi: 
3
AKTS: 
6
Dersin Dili: 
İngilizce
Dersin Amacı: 
Nesne yönelimli programlama (OOP) "eylemler" yerine nesneler ve mantıktan çok veri etrafında düzenlenmiştir. Öğrencilere nesne yönelimli programlamadaki kavramlar, temel sözdizimi arka plandaki düşünce süreçleri tanıtılacak, Java gibi nesne yönelimli dillerde ki nesneye yönelimli programlama teknikleri konularında temel bilgi verilecektir. Laboratuar ve proje geliştirme üzerinde durulacaktır.
Dersin İçeriği: 

Nesne yönelimli programlamanın tanımı. Nesne yönelimli programlama kavramlarına giriş. Modüler programlama tasarımına yaklaşımlar. Nesneyle ilgili temel kavramlar: Nesneler, sınıflar, sınıflararası hiyerarşi, kalıtım, ve soyut sınıflar, fonksiyonlar, operator aşırı-yüklemeleri, sanal fonksiyonlar, sanal tabanlı sınıflar ve dönüşüm, tekli ve çoklu kalıtım ve nesne hiyerarşileri, nesne tabanlı program geliştirme, Java uygulamaları.

Dersin Öğretim Yöntemleri: 
1: Anlatım, 2: Soru-Cevap, 3: Tartışma 4: Uygulama
Dersin Ölçme Yöntemleri: 
A: Sınav B: Laboratuar C: Ödev D: Proje

Dikey Sekmeler

Dersin Öğrenme Çıktıları

Dersin Öğrenme Çıktıları Program Öğrenme Çıktıları Öğretim Yöntemleri Ölçme Yöntemleri
Bilişim mezunu 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ı tasarlar. 5 3,4 A,B,C,D
Kullanıcının ihtiyacına uygun yazılımları geliştirir. 2 1,2,3,4 A,B,C
Geliştirdiği yazılımları farklı donanım ortamlarında grafik etkileri de kullanarak uç kullanıcıların kullanımına sunabilme bilgi ve becerilerine sahiptir. 2,4,5 3,4 A,B,C
Bilişim mezunu 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ı tasarlar. 4,5 1,2,4 A,C
Kalıtım - inheritance (is-a), kompozisyon - composition (has-a) ve çokşekillilik (polymorphism) kavramlarını kullanarak nesneye yönelik Java uygulamaları geliştirir. İş parçacıklarını (threads) ve yordamları etkin olarak kullanarak modüler sistem geliştirir. 5 1,2,3,4 A,B,C
Diziler, Hata yakalama, Giriş/çıkış, dosyaya yazdırma ve okutma,  işlemlerini gerçekleştirir. 2,4,5 1,3 A,B,C
Bir proje problemini ele alarak bütünleşik bir çözüm üretir. 2,4,5,10 2,4 B,C,D

 

Dersin Akışı

Hafta Konular Ön Hazırlık
1 Programlama ve Nesne Yönelimli Programlamada (OOP) lojistik konulara giriş. ACM 111
2 Java programlama kavramlarına giriş; işletim sistemi; programlamada kullanılan araçlar, giriş ve çıkış. ACM 222
3 Sınıflar ve nesnelere giriş.  
4 Kontrol Deyimleri ACM 222
5 Yöntemler (Yordamlar) ACM 222
6 Diziler ACM 222
7 ARA SINAV  
8 OOP- Kalıtım  
9 Özyineleme Kalıtım
10 Sınıflar ve Nesneler: Olay güdümlü programlama  
11 OOP- Çokşekillik  
12 Dosyalar ve veri akımları  
13 Bilgi kapsülleme ve Proje Çalışması  
14 TEKRAR ve ARA SINAV  

 

Kaynaklar

Ders Notu John Lewis , William Loftus, Java Software Solutions: Foundations of Program Design Pearson (7ci Baskı)
Diğer Kaynaklar P. J. Deitel and H. M. Deitel, Java How to Program, 9.cu Baskı. Pearson Education. http://docs.oracle.com/javase/tutorial/

http://www.java.com/en/download/manual.jsp.

Materyal Paylaşımı

Dökümanlar Sunumlar ve Laboratuvar Föyleri
Ödevler Ödev Föyleri
Sınavlar Eski Sınav Soruları öğrencilere verilmektedir.

Değerlendirme Sistemi

YARIYIL İÇİ ÇALIŞMALARI SIRA KATKI YÜZDESİ
Ara Sınav 2 50
Kısa Sınav 4 10
Ödev ve Laboratuvar 10 10
Proje ve sunumu 1 30
Toplam   100
Finalin Başarıya Oranı   40
Yıl içinin Başarıya Oranı   60
Toplam   100

 

 

DERS KATEGORİSİ Uzmanlık / Alan Dersleri

 

Dersin Program Çıktılarına Katkısı

No Program Öğrenme Çıktıları Katkı Düzeyi
1 2 3 4 5  
1 Bilişim sistemleri mezunu 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 Bilişim mezunu 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 Bilişim mezunu 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 Bilişim mezunu 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 Bilişim mezunu 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 Bilişim mezunu 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 Bilişim mezunu 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.     X      
10 Bilişim mezunu 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.       X    

ECTS

No Program Öğrenme Çıktıları Katkı Düzeyi
1 2 3 4 5  
1 Bilişim sistemleri mezunu 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 Bilişim mezunu 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 Bilişim mezunu 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 Bilişim mezunu 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 Bilişim mezunu 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 Bilişim mezunu 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 Bilişim mezunu 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.     X      
10 Bilişim mezunu 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.       X