İleri Düzey Java (pfe603)
Java™ Programlama dili eğitimi öğrencilere; Java programlama dili söz dizimi hakkında bilgi verir; Java diliyle programlama, nesneye yönelik programlama ve grafiksel arayüz tasarımının oluşturulması, istisnalar (exceptions), dosya giriş çıkışları, thread’ler ve ağ kurulumu hakkında da bilgiler içerir. Programcılar nesneye yönelim kavramlarına alışır ve Java teknolojisi uygulamalarını nasıl geliştireceğini öğrenirler. Eğitim Java™ 2 yazılım geliştirme sürümünü kullanır (Java™ 2 SDK).
Hedef Kitle
Bu eğitimden yaralanabilecek öğrenciler: Java programlama dilini, beceri listelerine eklemek isteyen programcılar ve Java™ için SUN Programcı sertifikası tecrübesi kazanmak isteyen öğrencilerdir.
Eğitim Süresi
Önerilen eğitim süresi 10 gün, toplam 60 saattir.
Katılımcı Ön Bilgi Gereksinimi
Bu kursda tamamen başarılı olabilmek için öğrenciler:
Nesne yönelim prensiplerini anlamak,
C yada C++ gibi bir dilde basit bir program oluşturmak ya da derlemek ya da Temel Java Eğitimini almış olmak ve basit Java programları tanımlamış olmak,
Bir metin editörü kullanan metin dosyaları yaratmak ve yönetmek
Amaç
Bu eğitimin sonunda, öğrenciler şu yeteneklere sahip olacaklardır;
- Java teknolojisi uygulamaları oluşturabilirler. Bu uygulamalar Java dilinin nesneye yönelim özelliklerini barındırırlar; encapsulation, kalıtım ve plimorfizim gibi.
- Java teknolojisi uygulaması oluşturma ve çalıştırma.
- Java teknolojisi verisi türleri ve anlatımlar kullanma.
- Akış kontrol yapısında Java teknolojisini kullanma.
- Diziler ve diğer veri koleksiyonlarını kullanma.
- Hata tutan teknikleri yerine getirme, istisna tutanları kullanma.
- Java teknolojisi kullanarak GUI yaratma ve GUI elemanları: düğmeler, paneller, nitelendiriciler, metin tarlaları, ve metin alanları oluşturmak.
- I/O aracını işlevsellik olarak oku ve veri ve text dosyası olarak yazma.
- Multithread programları oluşturma.
- Kolay bir iletim kontrolü Protokol/internet yaratma, müşterinin Protokol(TCP/IP) soketler boyunca haberleştirme.
Modül 1- Başlamaya Hazırlık
- Anahtar Java özelliklerini tanımlama.
- Basit Java teknolojisi uygulamaları yazmak, derlemek ve çalıştırmak.
- Java sanal makinanın(JVM™ makinası) fonksiyonlarını tanımlamak.
- Çöp koleksiyonu belirtmek.
Modül 2- Nesneye Göre Programlama
- Biçimleyen kavramlar belirtilir: soyutlama, encapsulation ve paketler.
- Java teknolojisi uygulama kaynaklarının neden ve nasıl tekrar kullanıldığını tartışma.
- Sınıf, üye, method, paketleme, sembol, yapı belirtme.
- Encapsulation kılavuzu için giriş niteleyicilerini kullanma.
- Belirli bir amaçtaki bir yönteme istekde bulunma.
- Bir Java teknolojisinin içinde programla sınıflar, anlam demeçlerini, paket demecini, yöntemler, ve sıfatlar ve yapıları tanımla.
- Java teknolojisini kullan API çevrim içi belgelemesi hakkında bilgi.
Modül 3- Saptananlar, Anahtar Kelimeler ve Türleri
- Kaynak porgram içersindeki yorumları kullanma.
- Geçerli ve geçersiz saptananlara ayırma.
- Java teknolojisi anahtar sözcükleri tanıma.
- Sekiz ilkel türü listeleme.
- Sayısal ve düz yazı türleri için tam değerleri belirtme.
- İlkel değişken ve referans değişkenlerini belirtme.
- Sınıf değişkenlerinin tanımladığını bildirme.
- “new” yapı nesnesi kullanma.
- Kusur initialization tanımlama.
- Bir referans değişkeni önemini tanımlama.
- Atanan sınıf değişkenlerinin çeşitlerini ifade etme.
Modül 4- İfadeler ve Akış Kontrolü
- Örnek ve yerel değişkenler arasında ayrım yapmak.
- Örnek değişkenlerin nasıl başa döndürüldüğünü açıklama.
- Mümkün referansları derleyici hata atamasından önce saptama ve düzenleme.
- Tanıma, tanımlama ve Java yazılım operatörlerini kullanma.
- İlkel atama çeşitlerini ayırt etme.
- boolean anlatımlarını ve onların gereksinimlerini kontrol yapıları içersinde tanımlama.
- if, switch, for, while, ve do yapıcılarını kullanma ve etiketlenmiş break ve countinue biçimlerini bir programın içindeki akma kontrolu yapıları gibi kullanma.
Modül 5-Diziler
- Tanımlama ve ilkel, sınıf, veya dizi türleri dizilişleri yaratma.
- Neden bir dizi elemanının başa döndürüldüğünü açıklama.
- Dizi elemanlarının nasıl başa döndürüldüğünü açıklama.
- Bir dizi içindeki elemanları numaralarını belirleme.
- Çok boyutlu dizi oluşturma.
- Dizi değerlerinin kodunu yazıp bir diziden diğerine kopyalama.
Modül 6- Sınıf Dizaynı
- Kalıtım, polimorfizim, overloading, overriding ve virtual method da istekte bulunmayı tanımlama ve kullanma.
- Yapı (constructor) ve overloading mothodunu tanımlama.
- Tamamlanmış nesne yapılarını ve başa döndürme kullanımını tanımlama.
- Java programında overloaded methodları ve yapıları, bu overloaded methodunun çağırma yapılarını, overloaded yapılarını, süper sınıf methoduna, ata sınıf yapısına istekte bulunmayı saptama.
Modül 7- İleri Sınıf Özelliği
- Static değişkenleri metodları ve ilk değer atama(initializers)yı tanımlama
final sınıflarını metodlarını ve değişkenlerini tanımlama.
- Soyutlama sınıfları ve methodlarının nerde ve nezaman kullanıldığını tanımlama.
- İç içe döngülerin ne zaman ve nasıl kullanıldığını açıklama.
- Statik ve statik olmayan iç içe sınıfları arasındaki ayrımları açıklama.
- Arayüzü nerde ve nezaman kullanıldığını açıklama.
- Java yazılımı programında; static methodu ve özellikleri, final methodu ve özelliklerini, iç içe sınıf, arayüz ve soyut sınıfları ve soyutlama methodlarını saptama.
Modül 8- İstisnalar ve Savlar
- İstisnaları tanımlama.
- try, catch ve finally ifadelerini kullanma.
- İstisna kategorilerini tanımlama.
- Kendi istisnalarını tutan programlar geliştirme.
- Uygun ve uygun olmayan sav (assertion) kullanımlarını ayırma.
- Çalışma zamanında savları hizmet dışı bırakma.
Modül 9- Metine dayalı Uygulamalar
- Komut satırı konularını ve sistem özelliklerini kullanan bir program kullanma.
- Standart gişiten okuma yapan program yazma.
- Kümeler ve listeler kullanan bir program yazma.
- Bir koleksiyon üzerinde yenileyen bir program yazma.
- Java 2 SDK'dan önce oluşturulmuş bir kolleksiyon sınıfı tanımlama.
- Karşı çıkan sınıfları saptama ve Java Development Kit1.0'dan Java 2 JDKya göçleri tanımla.
Modül 10- Java GUI ler Yapısı
- Soyutlama pencereleme araç takımı(AWT) paketini ve bunun ögelerini açıklama.
- containerler components ve layout managers terimlerini tanımla ve nasıl GUIs ile birlikte çalıştıklarını açıklama.
- FlowLayout, BorderLayout ve GridLayout yöneticileri kullanarak dinamik düzenleme isteklerini gerçekleştirmeleri kullanma.
- Bileşenleri bir taşıcıya ekleme.
- Frame ve Panel taşıyıcılarını uygun olarak kullanma.
- Komplex düzenlemeler ile iç içe taşıyıcıların nasıl çalıştığını tanımla.
- Java teknolojisi programında; taşıyıcıları, birleştirilmiş plan yöneticileri ve tüm hiyerarşi elemanlarını tanımlama.
Modül 11- GUI Olaylarını Kullanma
- Olay ve olay kullanımını tanımlama.
- GUI de oluşan kullanılan olaylara kod yazma.
- Uyarlayıcı sınıfların tanımını nezaman ve nerde kullanıldıklarını ekleyerek tanımlama.
- Olay amacından olayı meydana getiren eylemin görevlendirdiği kullanıcıyı belirleme.
- Olay türleri çeşiti için uygun arayüz buluşma noktasını tanımlama.
- Kullanılan olayda iç sınıflar ve isimsiz sınıfları anlama.
Modül 12- GUI Tabanlı Uygulamalar
- AWT elemanları anahtarlarını ve onların başlattıkları olayları tanımlama.
- Java GUI de menü sürgüsü, menü ve menü maddelerinin nasıl yapılandırıldığını açıklama.
- Elemanların büyüklük ve renginin nasıl değitiğini anlama.
Modül 13- Threads
- Thread tanımlama.
- Kodu ve o thread tarafından kullanılan veriler kontrol ederek bir Java teknolojisi programının içindeki ayrı threadleri oluşturma.
- Bir thread gerçekleştirilmesini kontrol et ve Platform-independent (ortam bağımsız) threadlerle kodlar yazma.
- Threadlerde veriler paylaşınca artabilen zorlukları tanımlama.
- Threadler arasında iletişime wait ve notify’i kullanma.
- Bozulmalara karşı verileri synchronized ile koruma.
Modül 14- İleri Düzey I/O Akış
- java.io paketinin ana özelliklerini tanımlama.
- Yapı düğümleri ve işlem akışları ve bunları uygun biçimde kullanma.
- Akışlardan okuyucu ve yazıcıları ayırma ve onların arasında uygun olanı seçme.
Modül 15- Ağ Kurulumu
- Ağ bağlantısı kurmakla kod geliştirme.
- TCP/IP portokollerini anlama.
- TCP/IP alıcıları ve servisleri yerine getirmek için serversocket ve socket kullanma.
Eğitim Materyalleri
Eğitim öncesinde ders notları verilecek, ayrıca eğitim sırasında kurulumlar için gerekli olan ortam (CD, DVD vb) ve/veya disk imajı katılımıcılara dağıtılacak. Eğitim içeriğindeki uygulamaların katılımcılar tarafından denenmesi sağlanacaktır.
Sertifikasyon
Katılımcılara katılım sertifikası dağıtılacaktır.