MÜHENDİSLİK FAKÜLTESİ

Yazılım Mühendisliği

SE 310 | Ders Tanıtım Bilgileri

Dersin Adı
İleri C++: Şablonlar ve Soysal Programlama
Kodu
Yarıyıl
Teori
(saat/hafta)
Uygulama/Lab
(saat/hafta)
Yerel Kredi
AKTS
SE 310
Güz/Bahar
3
0
3
5

Ön-Koşul(lar)
Yok
Dersin Dili
İngilizce
Dersin Türü
Seçmeli
Dersin Düzeyi
Lisans
Dersin Veriliş Şekli -
Dersin Öğretim Yöntem ve Teknikleri -
Dersin Koordinatörü
Öğretim Eleman(lar)ı
Yardımcı(ları) -
Dersin Amacı C++ esnek tasarımı, ölçeklenebilirliği ve verimliliği sayesinde endüstride en çok kullanılan programlama dillerinden biri durumundadır. Bu dersin temel amacı öğrencilerin C++ bilgilerini ve programlama yeteneklerini geliştirmek ve onları C++ dilinde yer alan en güncel yeniliklerle tanıştırmaktır. Bu yeniliklerden bazıları başta Standard Template Library (STL) kütüphanesi olmak üzere soysal programlama teknikleri ve seçilmiş Boost C++ kütüphaneleridir. Bu dersin konuları arasında şablonlarla programlama, ileri şablon programlama teknikleri, soysal programlama, özelleştirilmiş şablonlar kullanma, tip özellikleri (traits), C++ ile GUI programlama, Standard Template Library, STL container, STL iterator, STL algoritmaları, ve seçilmiş Boost C++ kütüphaneleri yer almaktadır.
Öğrenme Çıktıları Bu dersi başarıyla tamamlayabilen öğrenciler;
  • Öğrenciler şablonların içinde sınıf şablonlarının, tip özellik sınıflarının ve kural şablonlarının da dahil olduğu ileri seviyelerde yapılar kullanarak program geliştirebileceklerdir.
  • Öğrenciler soysal programlamanın kavramlarını bileceklerdir.
  • Öğrenciler yazılım kütüphaneleri geliştirebileceklerdir.
  • Öğrenciler grafik arayüz programlama ortamlarını kullanmayı bileceklerdir
  • Öğrenciler Standard Template Library kütüphanelerini kullanmayı bileceklerdir
  • Öğrenciler Boost C kütüphanelerini kullanmayı bileceklerdir
Ders Tanımı Bu derste öğrencilere şablonlar ve soysal programlamanın prensipleri hakkında temel bilgiler verilmekte ve sık kullanılan soysal kütüphaneler tanıtılmaktadır.

 



Dersin Kategorisi

Temel Ders
Uzmanlık/Alan Dersleri
X
Destek Dersleri
İletişim ve Yönetim Becerileri Dersleri
Aktarılabilir Beceri Dersleri

 

HAFTALIK KONULAR VE İLGİLİ ÖN HAZIRLIK ÇALIŞMALARI

Hafta Konular Ön Hazırlık
1 Giriş ve motivasyon. C++ nesneye yönelik programlamanın kısa olarak hatırlatılması
2 Temel şablon bilgileri. Fonksiyon ve sınıf şablonları David Vandevoorde and Nicolai M. Josuttis. C++ Templates: The Complete Guide. Addison Wesley, 2003. (Course book) Bölüm 2- 3
3 Tip dışı template parametreleri, ince detaylar Ders kitabı Bölüm 4-5
4 Sablonların günlük programlamada kullanımı Ders kitabı Bölüm 6
5 Sablonların çokbiçimli kullanım yetenekleri Ders kitabı Bölüm 14
6 Tip özellikleri ve kural sınıfları Ders kitabı Bölüm 15
7 Şablonlar ve kalıt Ders kitabı Bölüm 16
8 Qt 4.6 ile grafik arayüz programlama C++ GUI Programming with Qt 4 (2nd Edition) (Prentice Hall Open Source Software Development Series) Prentice Hall, 2008
9 Standard Template Library tanıtımı Josuttis, Nicolai M. The C++ standard library: a tutorial and reference. Addison Wesley, 1999 (STL Book) Chapter 2
10 Map, Multimap, Set ve Multiset. STL Book Bölüm 6
11 STL iteratörleri STL Book Bölüm 7
12 STL algoritmaları STL Book Bölüm 8
13 Boost Smart Pointers Boost C++ kütüphaneleri web sitesi
14 Diğer Boost C++ kütüphaneleri Boost C++ kütüphaneleri web sitesi
15 Proje sunumları
16 Dönemin gözden geçirilmesi

 

Ders Kitabı

Stuart Russell and Peter Norvig, Artificial Intelligence: A Modern Approach, Third Ed., Prentice Hall, 2010, ISBN10: 0132124114.

David Vandevoorde and Nicolai M. Josuttis. C++ Templates: The Complete Guide. Addison Wesley, 2003.

Önerilen Okumalar/Materyaller C++ GUI Programming with Qt 4 (2nd Edition) (Prentice Hall Open Source Software Development Series) Prentice Hall, 2008 Josuttis, Nicolai M. The C++ standard library: a tutorial and reference. Addison Wesley, 1999Boost C++ libraries website

 

DEĞERLENDİRME ÖLÇÜTLERİ

Yarıyıl Aktiviteleri Sayı Katkı Payı %
Katılım
1
10
Laboratuvar / Uygulama
Arazi Çalışması
Küçük Sınav / Stüdyo Kritiği
Portfolyo
Ödev
Sunum / Jüri Önünde Sunum
Proje
1
30
Seminer/Çalıştay
Sözlü Sınav
Ara Sınav
1
25
Final Sınavı
1
35
Toplam

Yarıyıl İçi Çalışmalarının Başarı Notuna Katkısı
3
65
Yarıyıl Sonu Çalışmalarının Başarı Notuna Katkısı
1
35
Toplam

AKTS / İŞ YÜKÜ TABLOSU

Yarıyıl Aktiviteleri Sayı Süre (Saat) İş Yükü
Teorik Ders Saati
(Sınav haftası dahildir: 16 x teorik ders saati)
16
3
48
Laboratuvar / Uygulama Ders Saati
(Sınav haftası dahildir. 16 x uygulama/lab ders saati)
16
0
Sınıf Dışı Ders Çalışması
15
2
30
Arazi Çalışması
0
Küçük Sınav / Stüdyo Kritiği
0
Portfolyo
0
Ödev
0
Sunum / Jüri Önünde Sunum
0
Proje
1
15
15
Seminer/Çalıştay
0
Sözlü Sınav
0
Ara Sınavlar
1
22
22
Final Sınavı
1
35
35
    Toplam
150

 

DERSİN ÖĞRENME ÇIKTILARININ PROGRAM YETERLİLİKLERİ İLE İLİŞKİSİ

#
Program Yeterlilikleri / Çıktıları
* Katkı Düzeyi
1
2
3
4
5
1

Matematik, Fen Bilimleri, Bilgisayar Bilimleri ve Yazılım Mühendisliği konularında yeterli bilgi sahibidir; bu alanlardaki kuramsal ve uygulamalı bilgileri, Yazılım Mühendisliği problemlerinde kullanır.

2

Karmaşık Yazılım Mühendisliği problemlerini saptar, tanımlar, formüle eder ve çözer; bu amaca uygun analiz ve modelleme yöntemlerini seçer ve uygular.

X
3

Karmaşık bir yazılım sistemini, süreci veya ürünü gerçekçi kısıtlar ve koşullar altında, belirli gereksinimleri karşılayacak şekilde tasarlar, gerçekleştirir, sınar, doğrular, raporlar, ölçer ve bakımını yapar; bu amaçla modern yöntemleri uygular.

X
4

Yazılım Mühendisliği uygulamalarında karşılaşılan karmaşık problemlerin analizi ve çözümü için gerekli olan modern teknik ve araçları geliştirir, seçer ve kullanır; bilişim teknolojilerini etkin bir şekilde kullanır.

X
5

Yazılım Mühendisliği problemlerinin incelenmesi için deney tasarlar, deney yapar, veri toplar, sonuçları analiz eder ve yorumlar.

X
6

Yazılım Mühendisliği disiplini içinde ve çok disiplinli takımlarda etkin biçimde çalışır; bireysel çalışma sergiler.

X
7

Türkçe sözlü ve yazılı etkin iletişim kurar; etkin rapor yazar ve yazılı raporları anlar, tasarım ve üretim raporları hazırlar, etkin sunum yapar, açık ve anlaşılır talimat verir ve alır.

8

Mühendislik ve Yazılım uygulamalarının evrensel ve toplumsal boyutlarda sağlık, çevre ve güvenlik üzerindeki etkileri ve çağın mühendislik alanına yansıyan sorunları hakkında bilgi sahibidir; mühendislik ve yazılım çözümlerinin hukuksal sonuçlarının farkındadır.

9

Etik ilkelerine uygun davranma, mesleki ve etik sorumluluk bilincine sahiptir; mühendislik uygulamalarında kullanılan standartlar hakkında bilgi sahibidir. 

10

Proje yönetimi, risk yönetimi ve değişiklik yönetimi gibi, iş hayatındaki uygulamalar hakkında bilgi sahibidir; girişimcilik, yenilikçilik hakkında bilinçlidir; sürdürülebilir kalkınma hakkında bilgi sahibidir.

11

Bir yabancı dili kullanarak Yazılım Mühendisliği ile ilişkili konularda, bilgi toplar ve meslektaşları ile iletişim kurar. ("European Language Portfolio Global Scale", Level B1)

12

İkinci yabancı dili orta düzeyde kullanır.

13

Yaşam boyu öğrenmenin gerekliliği bilincindedir; bilgiye erişebilir, bilim ve teknolojideki gelişmeleri izler ve kendini sürekli yeniler; insanlık tarihi boyunca oluşan bilgi birikimini Yazılım Mühendisliği alanıyla ilişkilendirir. 

*1 Lowest, 2 Low, 3 Average, 4 High, 5 Highest

 


SOSYAL MEDYA

İzmir Ekonomi Üniversitesi
izto logo
İzmir Ticaret Odası Eğitim ve Sağlık Vakfı
kuruluşudur.
ieu logo

Sakarya Caddesi No:156
35330 Balçova - İzmir / TÜRKİYE

kampus izmir

Bizi Takip edin

İEU © Tüm hakları saklıdır.