Dersin Amacı: |
Nesneye yönelik programlama yaklaşımına göre UML eşliğinde ve Java dili ile tasarım ve kodlama yapabilmek |
Dersin İçeriği: |
Sınıflar, Nesneler ve Üyeler, Final ve Static Üyeler, Kurucu ve Sonlandırıcı Metotlar, UML Sınıf Şemaları, Komut Satırı Giriş/Çıkış İşlemleri, Denetim Akışı; Sınıflar ve Nesneler
Arasındaki İlişkiler (Sahiplik, Kullanma, Parça-Bütün, Kalıtım), Metotların Yeniden Tanımlanması ve Çoklu Tanımlanması, İlkeller ve Sarmalayıcılar, Enum Yapıları, Aykırı Durum
İşleme, Dosya İşlemleri, Jenerik Sınıflar, Temel Veri Yapılarının Kullanımı, Paralel Programlamaya Giriş |
Hafta |
Konu |
Ön Hazırlık |
1) |
Dersin ve Java dilinin genel tanıtımı. |
|
2) |
Sınıflar, nesneler, üyeler. Özel durumlar: Final ve static. UML
Sınıf şemaları. |
|
3) |
Kurucular ve sonlandırıcılar. Denetim akışı. Nesnelerin
oluşturulması. |
|
4) |
UML Sıralama şemaları. Kurucuların ve metotların çoklu tanımlanması. İlkeller. String ve Math sınıfları. Komut satırından G/Ç işlemleri. |
|
5) |
Sahiplik ve kullanma ilişkileri. Tek yönlü ve iki yönlü sahiplik. |
|
6) |
Toplama ve meydana gelme ilişkileri. |
|
7) |
Inheritance. Overriding and overloading. |
|
8) |
Ara Sınav |
|
9) |
Dosyalar ve akılar ile çalışmak (Serileştirme ve ters işlemi). |
|
10) |
Temel veri yapılarının Jenerik sınıflar eşliğinde kullanımı (Liste
ve eşleme yapıları). |
|
11) |
Tip dönüşümü. Enum sınıfları. İç sınıflar. |
|
12) |
Paralel programlamaya giriş. |
|
13) |
Proje Sunumları |
|
14) |
Final |
|
|
Dersin Program Kazanımlarına Etkisi |
Katkı Payı |
1) |
Matematik, fen bilimleri ve yazılım mühendisliği disiplinine özgü konularda yeterli bilgi birikimi; bu alanlardaki kuramsal ve uygulamalı bilgileri, karmaşık mühendislik problemlerinde kullanabilme becerisi. |
|
2) |
Karmaşık mühendislik problemlerini saptama, tanımlama, formüle etme ve çözme becerisi; bu amaçla uygun analiz ve modelleme yöntemlerini seçme ve uygulama becerisi. |
|
3) |
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; bu amaçla modern tasarım yöntemlerini uygulama becerisi. |
|
4) |
Mühendislik uygulamalarında karşılaşılan karmaşık problemlerin analizi ve çözümü için gerekli olan modern teknik ve araçları geliştirme, seçme ve kullanma becerisi; bilişim teknolojilerini etkin bir şekilde kullanma becerisi. |
|
5) |
Karmaşık mühendislik problemlerinin veya disipline özgü araştırma konularının incelenmesi için deney tasarlama, deney yapma, veri toplama, sonuçları analiz etme ve yorumlama becerisi. |
|
6) |
Disiplin içi ve çok disiplinli takımlarda etkin biçimde çalışabilme becerisi; bireysel çalışma becerisi. |
|
7) |
Yaşam boyu öğrenmenin gerekliliği bilinci; bilgiye erişebilme, bilim ve teknolojideki gelişmeleri izleme ve kendini sürekli yenileme becerisi. |
|
8) |
Türkçe sözlü ve yazılı etkin iletişim kurma becerisi; en az bir yabancı dil bilgisi, etkin rapor yazma ve yazılı raporları anlama, tasarım ve üretim raporları hazırlayabilme, etkin sunum yapabilme, açık ve anlaşılır talimat verme ve alma becerisi. |
|
9) |
Etik ilkelerine uygun davranma, mesleki ve etik sorumluluk bilinci; mühendislik uygulamalarında kullanılan standartlar hakkında bilgi. |
|
10) |
Proje yönetimi, risk yönetimi ve değişiklik yönetimi gibi, iş hayatındaki uygulamalar hakkında bilgi; girişimcilik, yenilikçilik hakkında farkındalık; sürdürülebilir kalkınma hakkında bilgi. |
|
11) |
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; mühendislik çözümlerinin hukuksal sonuçları konusunda farkındalık. |
|
12) |
Yazılım sistemlerinin analizi, tasarımı, doğrulanması, değerlendirilmesi, gerçekleştirilmesi, uygulanması ve bakımı konularında yeterli beceri |
|