Java Programlama (COMPE 438) Ders Detayları Ders Adı Ders Kodu Dönemi Ders Uygulama Laboratuar Kredi AKTS Saati Saati Saati Java COMPE Her Programlama 438 İkisi 2 2 Ön Koşul Ders(ler)i COMPE 225 Dersin Dili İngilizce Dersin Türü Teknik Seçmeli Dersler Dersin Seviyesi Lisans Ders Verilme Şekli Yüz Yüze Dersin Öğrenme ve Anlatım Öğretme Teknikleri Dersin Koordinatörü 0 3 5 Dersin Öğretmen(ler)i Dersin Asistanı Dersin Amacı 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. Dersin Eğitim Çıktıları Bu dersi başarıyla tamamlayabilen öğrenciler; Dersin İçeriği 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. • 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 Haftalık Konular ve İlgili Ön Hazırlık Çalışmaları Hafta Konular Ö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) Bl. 4, Bl 6. 5 Miras, Bileşim, and Çokbiçimli Değişkenler Bl.7 6 Çokbiçimlilik, Soyut Sınıflar ve Arayüzler Bl.8 7 Yapıcılar, Bellek Yönetimi, Nesne Yaşamı, Statikler Bl. 9., Bl. 10 8 Kuraldışı Durum Yönetimi Bl.11 9 Görsel Arayüze giriş (Bl. 12.) yada (Bl.1, Bl.2 (kaynak 1)) 10 Olay yönetimi, ve grafiksel düzen (Bl 12., Bl. 13.) yada (Bl.2, Bl.4) yönetimi 11 Grafiksel düzen yöneticileri ve bileşenleri (Bl 13.) yada (Bl.5,Bl.7,Bl.8) 12 Diziselleştirme ve Girdi/Çıktı Çerçevesi Bl.14 13 Network, İş Parçacıkları, ve Uygulamacıklar Bl. 15, 14 Koleksiyonlar ve jenerikler (Lab: Paketleme and Dağıtım) Bl.16, Bl. 17 15 Gözden geçirme 16 Gözden geçirme Kaynaklar Ders Kitabı: 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, Diğer Kaynaklar: Johan Vos Pro JavaFX 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ı 70 Yarıyıl Sonu Çalışmalarının Başarı Notuna Katkısı 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 X 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. X 3 Belirlenen gereksinimleri karşılayacak bir bilgisayar sistemini, sistem parçasını, işlemi veya programı tasarlama, geliştirme ve değerlendirme becerisi. X 4 Bilgisayar sistemleri mühendislik uygulamaları için modern teknik ve mühendislik araçlarını kullanma becerisi. X 5 Hesaplama ihtiyaçlarını anlamak için deney tasarlama, veri toplama, analiz etme, yorumlama ve doğru seçimler yapabilme becerisi. X 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. X 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. X 13 Hesaplama problemlerinin çözülmesinde programlama dillerini ve uygun bilgisayar mühendisliği kavramlarını kullanma becerisi. X ECTS/İş Yükü Tablosu Aktiviteler Ders saati (Sınav haftası dahildir: 16 x toplam ders saati) Sayı Süresi (Saat) Toplam İş Yükü 16 4 64 16 3 48 2 4 8 Laboratuar Uygulama Derse Özgü Staj Alan Çalışması Sınıf Dışı Ders Çalışma Süresi Sunum/Seminer Hazırlama Projeler Ödevler Küçük Sınavlar/Stüdyo Kritiği Ara Sınavlara/Ara Juriye Hazırlanma Süresi 2 10 20 Genel Sınava/Genel Juriye Hazırlanma Süresi 1 15 15 Toplam İş Yükü 155