• Türkçe
  • English
Ders Kodu: 
ACM 413
Ders Dönemi: 
Güz
Ders Tipi: 
Alan Seçmeli
Teori Saati: 
3
Uygulama Saati: 
0
Kredi: 
3
AKTS: 
6
Ön Koşul Dersleri: 
Dersin Dili: 
İngilizce
Dersin Amacı: 
Bu ders öğrenciyie nesne yönelimli program paradigmasını tanıtır," Aşağıdan Yukarıya Yazılım Geliştirme" disiplinin temel kavramlarını verir. Nesne Yönelimli Programlamanın temel yaklaşımı yazılımın problemin (ve çözümün) parçalarını temsil eden veri yapılarının oluşturulması ve bu parçaların ne şekilde birbiri ile ilişkilendirileceği ve etkileşeceğinin tanımlanmasıdır. Yazılım geliştirme programcıların büyük ölçekte ve kurumsal uygulamalarda gerekecek kavramları ve uygulamaları anlatma ve bunları kullanarak büyük çaplı yazılım sistemlerini geliştirme ve güvenilir ve maliyet etkin bir şekilde bakımını yapmayı inceler.
Dersin İçeriği: 

Nesne Yönelimli Programlama Kavramlarının Tekrarı, Soyutlama ve Kapsülleme, Tipleme ve Kalıtım, Çok şekillilik ve yükleme, Genellilik ve kalıcılık, C++'da nesne yönelimli programlama, Yazılım Geliştirme süreci, Yazılım özellikleri ve ölçütleri, Nesne yönelimli tasarım, Kalıp, şablon ve kütüphaneler, Yazılım doğrulama, hatalardan arındırma, deneme ve bakımı..

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

Dikey Sekmeler

Dersin Öğrenme Çıktıları

Dersin Öğrenme Çıktıları

Program Öğrenme Çıktıları

Öğretim Yöntemleri

Ölçme Yöntemleri

C++ ve C# dillerinde nesne yönelimli yazılım tasarlamasındaki temel prensipleri anlama.

1,2,3

1,2,3

A,C

Örgün yöntemler kullanarak belirli işlere yönelik çözüm üretecek yazılım tasarımlarını elde etmek.

6,9,8

1,2,3

A,C

Genel programlama hedeflere ulaşmak için Nesne Tabanlı ilkeleri kullanarak basit kullanıcı-tanımlı sınıfları geliştirerek yapılandırılma.

6

1,2,3

A,C

Kod geliştirmede hata bulma ve deneme stratejilerini geliştirme

6

1,2,3

A,C

Belirli parametreleri olan görevleri profesyonel standartta planlama ve yazma..

9,6,3

1,2,3

A,,C

 

Dersin Akışı

Hafta

Konular

Ön Hazırlık

1

Konu 1: Soyutlama ve Kapsülleme

Konu 2: Tiplendirme ve Kalıtım

Ders Notları

2

Konu 3: Polimorfizm ve Aşırı  Yükleme

Konu 4: Genellilik ve Kalıcılık

Ders Notları

3

Konu 5: C Temellerinin tekrarı Revizyon

Konu 6: C ++ nin nesne yönelimli olmayan özelliklerine Genel Bakış

Ders Notları

4

Konu 7: C ++ Sınıflar

Konu 8: C ++ Fonksiyonlar

Ders Notları

5

Konu 9: C ++ Kalıtım

Konu 10: C ++ Polimorfizma

Ders Notları

6

Konu 11: Nesne Yönelimli Kavramların Gözden Geçirilmesiı

Konu 12: C ++ Kavramlarının Gözden Geçirilmesi

Ders Notları

7

ARA SINAV

 

8

Konu 13: Yazılım Geliştirme Süreci

Konu 14: Yazılım Özellikleri ve Ölçütleri

Ders Notları

9

Konu 15: Nesne yönelimli Tasarım I

Konu 16: Nesne yönelimli Tasarım II

Ders Notları

10

Konu 17: UML Gösterimi

Konu 18: Tasarım Şablonları

Ders Notları

11

Konu 19: C ++ Operatör Aşırı Yükleme

Konu 20: C ++ Şablonlar

Ders Notları

12

Konu 21: C ++ İstisnalar

Konu 22: C ++ Standart Kütüphane

Ders Notları

13

Konu 23: Bir Vaka Çalışması (C ++ (giriş çıkış akışı) iostream Sınıfları)

Konu 24: Yazılım Doğrulama, Kontrol, Hata Bulma ve Sınama

Ders Notları

14

Konu 25: Yazılım Bakım ve Re-mühendislik

Konu 26: Revizyon

Ders Notları

15

TEKRAR VE ARA SINAV

 

 

Kaynaklar

Ders Notu

Lippman, S. & Lajoie, J., "C++ Primer, 3rd Edition", Addison Wesley, 1998.

Stroustrup, B., "The C++ Programming Language, 3rd Ed.", Addison Wesley, 1997.

Fowler, M. (with Kendall Scott), "UML Distilled", 2nd Ed., Addison Wesley, 2000.

Diğer Kaynaklar

 

 

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

1

60

Kısa Sınav

1

20

Ödev ve Laboratuvar

1

20

Toplam

 

100

Finalin Başarıya Oranı

 

60

Yıl içinin Başarıya Oranı

 

40

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. (ACM 112,262)

 

 

 

 

 

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. (ACM365, 368,473)

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. (ACM 221,222)

 

 

 

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.(ACM 311,322)

 

 

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 (ACM 321).

 

 

 

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.(ACM 369,370)

 

 

 

 

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.(ACM 211, 364)

 

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.(ACM 221,364)

 

 

 

 

 

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. (ACM 361, 362, 363, 463, 464)

 

 

 

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. (ACM 365, 368, 412)

 

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)

16

4

64

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

16

3

48

Ara Sınav

1

10

10

Kısa Sınav

1

8

8

Ödev

1

10

10

Final

1

10

10

Toplam İş Yükü

 

 

150

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

 

 

6

Dersin AKTS Kredisi

 

 

6

 
Hiçbiri