Yazılım Mühendisliği
Lisans TYYÇ: 6. Düzey QF-EHEA: 1. Düzey EQF-LLL: 6. Düzey

Ders Genel Tanıtım Bilgileri

Ders Kodu: EFC203
Ders İsmi: Nesne Tabanlı Programlama Temelleri
Ders Yarıyılı: Güz
Ders Kredileri:
Teorik Pratik Laboratuvar AKTS
3 2 0 5
Öğretim Dili: Türkçe
Ders Koşulu:
Ders İş Deneyimini Gerektiriyor mu?: Hayır
Dersin Türü: Zorunlu
Dersin Seviyesi:
Lisans TYYÇ:6. Düzey QF-EHEA:1. Düzey EQF-LLL:6. Düzey
Dersin Veriliş Şekli: Yüz yüze
Dersin Koordinatörü: Dr. Öğr. Üyesi SUAT UĞURLU
Dersi Veren(ler):











Dersin Yardımcıları:

Dersin Amaç ve İçeriği

Dersin Amacı: Bu dersin amacı nesneye yönelik programlama konu ve kavramlarına giriş yapmaktır. Bu amaca yönelik olarak Java dili ile temel programlama teknikleri ile nesne tabanlı programlamanın nasıl yapıldığı öğrenilecektir. Sınıflar, nesneler, kapsülleme, çok biçimlilik, erişim denetleyiciler ve kalıtım hakkında bilgi edinilecektir.
Dersin İçeriği: Nesneler ve sınıflar, oluşturucular, statik değişkenler, sabitler ve yöntemler, görünürlük değiştiricileri, nesnelerin ve dizilerin yöntemlere geçirilmesi, değişmezlik, değişken kapsam, sınıf soyutlaması ve paketleme, üst ve alt sınıf kavramları, kalıtım, çoklu anlam, çiğneme, çokyükleme, soyut sınıflar, nesne yönelimli tasarım.

Öğrenme Çıktıları

Bu dersi başarıyla tamamlayabilen öğrenciler;
Öğrenme Çıktıları
1 - Bilgi
Kuramsal - Olgusal
1) Nesne tabanlı programlamanın temel prensiplerini açıklayabilme
2) Kaliteli yazılım geliştirme prensiplerini açıklayabilme
2 - Beceriler
Bilişsel - Uygulamalı
1) Java programlama dili ile nesne tabanlı programlar yazabilme
2) Nesneye dayalı programlama prensiplerine bağlı olarak kendi sınıf ve nesne yapılarını oluşturabilme
3 - Yetkinlikler
İletişim ve Sosyal Yetkinlik
Öğrenme Yetkinliği
Alana Özgü Yetkinlik
1) Kod hataları ve aykırı durumları ele alabilme
Bağımsız Çalışabilme ve Sorumluluk Alabilme Yetkinliği

Ders Akış Planı

Hafta Konu Ön Hazırlık
1) Yazılım geliştirme yöntemleri tarihçesi, NTP kavramına giriş
2) Temel Nesneye Dayalı Programlama kavramları, Sınıflar, Nesneler Bir önceki ders tekrarı
3) Javaya giriş, Java Dili ile ilgili temel bilgiler, veri tipleri Bir önceki ders tekrarı
4) Javada sayısal veri işleme, işleçler, denetim deyimleri, döngüler Bir önceki ders tekrarı
5) Java ile nesneye yönelik programlama Bir önceki ders tekrarı
6) Kapsülleme ve Erişim Belirleyiciler Bir önceki ders tekrarı
7) Kalıtım ve Çok Biçimlilik Bir önceki ders tekrarı
8) VİZE SINAVI Önceki 7 hafta tekrarı
9) Soyut sınıflar ve Arayüzler, İç içe sınıflar Bir önceki ders tekrarı
10) Aykırı Durum Yönetimi Bir önceki ders tekrarı
11) Dizi ve Koleksiyon kullanımı Bir önceki ders tekrarı
12) Java'da Karakter ve Katarlar Bir önceki ders tekrarı
13) Javada sıralama, arama ve giriş çıkış İşlemleri Bir önceki ders tekrarı
14) SOLID prensipleri Bir önceki ders tekrarı
15) FİNAL SINAVI Önceki tüm derslerin tekrarı

Kaynaklar

Ders Notları / Kitaplar: An Introduction to Object-Oriented Programming with Java - C.Thomas Wu
Diğer Kaynaklar: Object Oriented Programming Using Java - Simon Kendal

Ders - Program Öğrenme Kazanım İlişkisi

Ders Öğrenme Kazanımları

1

2

3

5

4

Program Kazanımları
1) Matematik ve fen bilimleri alanlarında yeterli bilgi birikimi; bu alanlardaki kuramsal ve uygulamalı bilgileri kullanabilme becerisi.
2) İlgili mühendislik disiplinine özgü konularda yeterli bilgi birikimi; bu alanlardaki kuramsal ve uygulamalı bilgileri, karmaşık mühendislik problemlerinin çözümünde kullanabilme becerisi.
3) Karmaşık mühendislik problemlerini tanımlama, formüle etme ve çözme becerisi.
4) Karmaşık mühendislik problemlerinde uygun analiz ve modelleme yöntemlerini seçme ve uygulama becerisi.
5) Karmaşık bir sistemi, süreci, cihazı veya ürünü gerçekçi kısıtlar ve koşullar altında, belirli gereksinimleri karşılayacak şekilde tasarlama becerisi.
6) Karmaşık bir sistemi, süreci, cihazı veya ürünü tasarlamak için modern tasarım yöntemlerini uygulama becerisi.
7) Mühendislik uygulamalarında karşılaşılan karmaşık problemlerin analizi ve çözümü için gerekli olan modern teknik ve araçları seçme ve kullanma becerisi.
8) Mühendislik uygulamalarında karşılaşılan karmaşık problemlerin analizi ve çözümü için bilişim teknolojilerini etkin bir şekilde kullanma becerisi.
9) Karmaşık mühendislik problemlerinin veya disipline özgü araştırma konularının incelenmesi için deney tasarlama ve deney yapma becerisi.
10) Karmaşık mühendislik problemlerinin veya disipline özgü araştırma konularının incelenmesi için veri toplama, sonuçları analiz etme ve yorumlama becerisi.
11) Disiplin içi takımlarda etkin biçimde çalışabilme becerisi.
12) Çok disiplinli takımlarda etkin biçimde çalışabilme becerisi.
13) Bireysel çalışma becerisi.
14) Sözlü ve yazılı etkin iletişim kurma becerisi.
15) En az bir yabancı dil bilgisi.
16) Etkin rapor yazma ve yazılı raporları anlama, tasarım ve üretim raporları hazırlayabilme becerisi.
17) Etkin sunum yapabilme, açık ve anlaşılır talimat verme ve alma becerisi.
18) Yaşam boyu öğrenmenin gerekliliği konusunda farkındalık.
19) Bilgiye erişebilme, bilim ve teknolojideki gelişmeleri izleme ve kendini sürekli yenileme becerisi.
20) Etik ilkelerine uygun davranma, mesleki ve etik sorumluluk ve mühendislik uygulamalarında kullanılan standartlar hakkında bilgi.
21) Proje yönetimi, risk yönetimi ve değişiklik yönetimi gibi, iş hayatındaki uygulamalar hakkında bilgi.
22) Girişimcilik, yenilikçilik hakkında farkındalık.
23) Sürdürülebilir kalkınma hakkında bilgi.
24) Mühendislik 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.
25) Mühendislik çözümlerinin hukuksal sonuçları konusunda farkındalık.

Ders - Öğrenme Kazanımı İlişkisi

Etkisi Yok 1 En Düşük 2 Düşük 3 Orta 4 Yüksek 5 En Yüksek
           
Dersin Program Kazanımlarına Etkisi Katkı Payı
1) Matematik ve fen bilimleri alanlarında yeterli bilgi birikimi; bu alanlardaki kuramsal ve uygulamalı bilgileri kullanabilme becerisi.
2) İlgili mühendislik disiplinine özgü konularda yeterli bilgi birikimi; bu alanlardaki kuramsal ve uygulamalı bilgileri, karmaşık mühendislik problemlerinin çözümünde kullanabilme becerisi. 4
3) Karmaşık mühendislik problemlerini tanımlama, formüle etme ve çözme becerisi.
4) Karmaşık mühendislik problemlerinde uygun analiz ve modelleme yöntemlerini seçme ve uygulama becerisi.
5) Karmaşık bir sistemi, süreci, cihazı veya ürünü gerçekçi kısıtlar ve koşullar altında, belirli gereksinimleri karşılayacak şekilde tasarlama becerisi. 4
6) Karmaşık bir sistemi, süreci, cihazı veya ürünü tasarlamak için modern tasarım yöntemlerini uygulama becerisi. 5
7) Mühendislik uygulamalarında karşılaşılan karmaşık problemlerin analizi ve çözümü için gerekli olan modern teknik ve araçları seçme ve kullanma becerisi. 4
8) Mühendislik uygulamalarında karşılaşılan karmaşık problemlerin analizi ve çözümü için bilişim teknolojilerini etkin bir şekilde kullanma becerisi. 5
9) Karmaşık mühendislik problemlerinin veya disipline özgü araştırma konularının incelenmesi için deney tasarlama ve deney yapma becerisi.
10) Karmaşık mühendislik problemlerinin veya disipline özgü araştırma konularının incelenmesi için veri toplama, sonuçları analiz etme ve yorumlama becerisi.
11) Disiplin içi takımlarda etkin biçimde çalışabilme becerisi. 3
12) Çok disiplinli takımlarda etkin biçimde çalışabilme becerisi. 3
13) Bireysel çalışma becerisi.
14) Sözlü ve yazılı etkin iletişim kurma becerisi.
15) En az bir yabancı dil bilgisi.
16) Etkin rapor yazma ve yazılı raporları anlama, tasarım ve üretim raporları hazırlayabilme becerisi.
17) Etkin sunum yapabilme, açık ve anlaşılır talimat verme ve alma becerisi.
18) Yaşam boyu öğrenmenin gerekliliği konusunda farkındalık.
19) Bilgiye erişebilme, bilim ve teknolojideki gelişmeleri izleme ve kendini sürekli yenileme becerisi.
20) Etik ilkelerine uygun davranma, mesleki ve etik sorumluluk ve mühendislik uygulamalarında kullanılan standartlar hakkında bilgi.
21) Proje yönetimi, risk yönetimi ve değişiklik yönetimi gibi, iş hayatındaki uygulamalar hakkında bilgi.
22) Girişimcilik, yenilikçilik hakkında farkındalık.
23) Sürdürülebilir kalkınma hakkında bilgi.
24) Mühendislik 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.
25) Mühendislik çözümlerinin hukuksal sonuçları konusunda farkındalık.

Ölçme ve Değerlendirme

Yarıyıl İçi Çalışmaları Aktivite Sayısı Katkı Payı
Küçük Sınavlar 2 % 10
Projeler 1 % 25
Ara Sınavlar 1 % 20
Final 1 % 45
Toplam % 100
YARIYIL İÇİ ÇALIŞMALARININ BAŞARI NOTU KATKISI % 55
YARIYIL SONU ÇALIŞMALARININ BAŞARI NOTUNA KATKISI % 45
Toplam % 100