Nesne Yönelimli Programlama

Ders Kodu: 
ACM 321
Ders Dönemi: 
Güz
Ders Tipi: 
Zorunlu
Teori Saati: 
3
Uygulama Saati: 
0
Kredi: 
3
AKTS: 
6
Ön Koşul Dersleri: 
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

 

 

AKTS İş Yükü Tablosu

Etkinlik

SAYISI

Süresi
(Saat)

Toplam
İş Yükü
(Saat)

Ders Süresi (Sınav haftası dahildir: 16x toplam ders saati)

15

3

45

Sınıf Dışı Ders Çalışma Süresi(Ön çalışma, pekiştirme)

15

3

45

 

 

2

4

 

 

1

4

Ödev

10

2

20

Proje

1

16

16

Final

2(Bütünleme Dahil)

2

4

Toplam İş Yükü

 

 

138

Toplam İş Yükü / 25 (s)

 

 

5.52

Dersin AKTS Kredisi

 

 

6