Java Programlama (COMPE 438) Ders Detayları Ders Adı Ders Kodu Dönemi Ders Saati Uygulama Saati Laboratuar Kredi AKTS Saati Java Programlama COMPE 438 Her İkisi 2 2 0 3 5 Ön Koşul Ders(ler)i COMPE 225 Dersin Dili Dersin Türü Dersin Seviyesi Ders Verilme Şekli Dersin Öğrenme ve Öğretme Teknikleri İngilizce Teknik Seçmeli Dersler Lisans Yüz Yüze Anlatım Dersin Koordinatörü
Dersin Öğretmen(ler)i Dersin Asistanı Dersin Amacı Dersin Eğitim Çıktıları Dersin İçeriği Bu dersin temel amacı, Java dili kullanarak, nesneye yönelik programlamada temel bilgi ve becerilerin kazandırılmasıdır. Bu ders kapsamında, Java programlama dilinin sözdizimi, nesneye yönelik programlamaya ait kavramlar, Java çalışma ortamı, kullanıcı arayüzleri, çoklu izlekler, veritabanı uygulamaları, Java uygulama geliştirme arayüzü ve Java ya ait temel çerçeve uygulamaları anlatılacaktır. Bu dersi başarıyla tamamlayabilen öğrenciler; Nesneye yönelik programlama kavramlarını kullanma Java programlama kuraldışı durum yönetim mekanizmasını uygulama Java programlama dilinin Girdi/Çıktı Çerçeve Yapısını kullanma Java programlama dilinin Koleksiyon Çerçeve Yapısını kullanma Java programlama dilinin Grafik Arayüzü Çerçeve Yapısını kullanma Java Jenerik kullanma Metod referansları ve Lambda notasyonu kullanıma Java dilinde iş parçacıklarını kullanma Java teknolojisi. Nesneye yönelik programlama. Objeler. Sınıflar. Modülerlik. Sarmalama. Çokbiçimlilik. Java öğeleri ve kuraldışı durumlar. Jenerik. Sınıflar, miras ve arayüzler. Koleksiyon Çerçeve Yapısı. Girdi/Çıktı Çerçeve Yapısı. Grafik Arayüz Çerçeve Yapısı. İş Parçacıkları. Lambda notasyonu, Akış Filtreleri, Metod referanslama.
Haftalık Konular ve İlgili Ön Hazırlık Çalışmaları HaftaKonular Ön Hazırlık 1 Java Programlamaya Giriş Bl. 1 2 Nesneye Yönelik Program geliştirme Bl. 2 3 Temel ve referans değişkenleri Bl.3. 4 Özellikler ve davranışlar (Lab : JavaAPI) 5 Miras, Bileşim, and Çokbiçimli Değişkenler 6 Çokbiçimlilik, Soyut Sınıflar ve Arayüzler 7 Yapıcılar, Bellek Yönetimi, Nesne Yaşamı, Statikler Bl. 4, Bl 6. Bl.7 Bl.8 8 Kuraldışı Durum Yönetimi Bl.11 Bl. 9., Bl. 10 9 Görsel Arayüze giriş (Bl. 12.) yada (Bl.1, Bl.2 (kaynak 1)) 10 Olay yönetimi, ve grafiksel düzen yönetimi 11 Grafiksel düzen yöneticileri ve bileşenleri 12 Diziselleştirme ve Girdi/Çıktı Çerçevesi 13 Network, İş Parçacıkları, ve Uygulamacıklar 14 Koleksiyonlar ve jenerikler (Lab: Paketleme and Dağıtım) 15 Gözden geçirme 16 Gözden geçirme (Bl 12., Bl. 13.) yada (Bl.2, Bl.4) (Bl 13.) yada (Bl.5,Bl.7,Bl.8) Bl.14 Bl. 15, Bl.16, Bl. 17
Kaynaklar Ders Kitabı: Diğer Kaynaklar: 1. Kathy Sierra, Head First Java O'Reilly Media; 2nd edition, ISBN-13: 978-0596009205, 2005. 1. 1. James Weaver, Weiqi Gao, Stephen Chin, Dean Iverson, Johan Vos Pro JavaF 2: A Definitive Guide to Rich Clients with Java Technology, Apress, ISBN-13: 978-1430268727, 2012 2. 2. Java How To Program 6th ed, by Deitel & Deitel, Prentice Hall, Inc. URL : http://www.deitel.com/books/downloads.html 3. 3. Object-Oriented Programming in Java, by Martin Kalin, Publisher: Prentice Hall, ISBN:0-13-019859-5 4. 4. Thinking In Java, by Bruce Eckel 5. The Java Tutorial: http://java.sun.com/docs/books/tutorial Değerlendirme Sistemi Çalışmalar Sayı Katkı Payı Devam/Katılım - - Laboratuar 1 20 Uygulama - - Alan Çalışması - - Derse Özgü Staj - - Küçük Sınavlar/Stüdyo Kritiği - - Ödevler 2 10 Sunum - - Projeler - - Seminer - -
Ara Sınavlar/Ara Juri 2 40 Genel Sınav/Final Juri 1 30 Toplam 6 100 Yarıyıl İçi Çalışmalarının Başarı Notu Katkısı Yarıyıl Sonu Çalışmalarının Başarı Notuna Katkısı 70 30 Toplam 100 Ders Kategorisi Temel Meslek Dersleri Uzmanlık/Alan Dersleri Destek Dersleri İletişim ve Yönetim Becerileri Dersleri Aktarılabilir Beceri Dersleri
Dersin Öğrenim Çıktılarının Program Yeterlilikleri ile İlişkisi # Program Yeterlilikleri / Çıktıları Katkı Düzeyi 1 2 3 4 5 1 Matematik, fen bilimleri ve hesaplama alanlarındaki bilgi birikimini bilgisayar mühendisliği problemlerinin çözümüne uygulama becerisi. 2 Bilgisayar sistemlerine özgü sorunları analiz etme ve modelleme, çözümleri için uygun gereksinimleri belirleme ve tanımlama becerisi. 3 Belirlenen gereksinimleri karşılayacak bir bilgisayar sistemini, sistem parçasını, işlemi veya programı tasarlama, geliştirme ve değerlendirme becerisi. 4 Bilgisayar sistemleri mühendislik uygulamaları için modern teknik ve mühendislik araçlarını kullanma becerisi. 5 Hesaplama ihtiyaçlarını anlamak için deney tasarlama, veri toplama, analiz etme, yorumlama ve doğru seçimler yapabilme becerisi. 6 Disiplin içi ve disiplinler arası takımlarda veya bireysel olarak etkin biçimde çalışabilmek için gerekli organizasyonel ve iş yeteneklerini ortaya koyabilme becerisi. 7 Türkçe ve İngilizce dillerinde etkin iletişim kurabilme becerisi. 8 Yaşam boyu öğrenmenin gerekliliği bilinci ve bilgiye erişebilme, bilim ve teknolojideki son gelişmeleri takip edebilme ve kendini sürekli yenileme becerisi. 9 Bilgisayar Mühendisliği alanında mesleki, hukuksal, etik ve sosyal sorunlar hakkında farkındalık ve sorumluluk bilinci.
10 Proje ve risk yönetim becerisi; girişimciliğin, yenilikçilik ve sürdürülebilir kalkınmanın önemi hakkında farkındalık; uluslararası standartların ve yöntemlerin bilinmesi. 11 Karar alırken, Bilgisayar Mühendisliği uygulamalarının evrensel, çevresel, sosyal ve hukuksal sonuçları konusunda farkındalık. 12 Sayısal hesaplama ve sayısal gösterim sistemlerini analiz, tasarım ve ifade becerisi. 13 Hesaplama problemlerinin çözülmesinde programlama dillerini ve uygun bilgisayar mühendisliği kavramlarını kullanma becerisi. ECTS/İş Yükü Tablosu Aktiviteler Sayı Süresi (Saat) Toplam İş Yükü Ders saati (Sınav haftası dahildir: 16 x toplam ders saati) Laboratuar Uygulama Derse Özgü Staj Alan Çalışması Sınıf Dışı Ders Çalışma Süresi Sunum/Seminer Hazırlama Projeler 16 4 64 16 3 48 Ödevler 2 4 8 Küçük Sınavlar/Stüdyo Kritiği
Ara Sınavlara/Ara Juriye Hazırlanma Süresi Genel Sınava/Genel Juriye Hazırlanma Süresi 2 10 20 1 15 15 Toplam İş Yükü 155