Dersin Amacı: |
Bu dersin amacı öğrencilere JAVA programlama dilini kullanarak nesne yönelimli, platformdan bağımsız, yüksek verimli, çok işlevli, adım adım (yorumlanmış) uygulamalar için gereken bilgi ve becerileri kazandırmak ve Java'nın web ve mobil programlama çerçeveleri için gerekli altyapıyı sağlamaktır. |
Dersin İçeriği: |
Bu derste JAVA programlama dili hakkında genel programlama bilgileri, basit veri tipleri ve işlemcileri, ekrana yazma ve ekrandan okuma, karar ifadeleri, döngüler, sınıflar, genel programlama yöntemleri, grafiksel kullanıcı arayüzü (GUI) işlemleri, veri depolama ve swing işlemleri ele alınmaktadır. |
Hafta |
Konu |
Ön Hazırlık |
1) |
Java programlama diliyle ilgili genel bilgiler
- Java Development Kitini kurma
- Eclipse IDE’sini kurma
- Java Programlama dilinin genel yapısı
- Proje oluşturma
- Paket (package) oluşturma
- Sınıf (class) oluşturma
- Sınıfa main() metodu ekleme
Basit veri tipleri ve işlemciler
- Veri tipleri
- Aritmetik işlemciler
- Karşılaştırma işlemcileri
- Mantık işlemcileri
- Bit işlemcileri
- Veri tipi dönüşümü
|
|
2) |
Ekrana yazdırma ve okutma
- Ekrana yazdırma
- Diyalog kutusuna yazdırma
- Ekrandan okutma
- Diyalog kutusundan okutma
- Sayıları string’e dönüştürme
- Formatlı yazdırma ve String sınıfı
Seçme ve tekrarlama ifadeleri
- Seçme ifadeleri
- if else, if else if
- Switch ifadesi
- Tekrarlama (Döngü) ifadeleri
- do while döngüsü
- while döngüsü
- for döngüsü
- Farklı for döngüleri
- Metotların kendi kendilerini çağırmaları
- İç içe girmiş seçme ve döngü yapıları
- break ve continue kontrol deyimleri
|
Konuya ilişkin paylaşılan sunum ve yardımcı kaynaklardan çalışma. |
3) |
Basit olmayan veri tipleri 1: SINIF
- Sınıf
- Sınıfın tanımı
- Sınıfın alan değişkenlerine değer atama
- Sınıfın alan değişkenlerine sınıfın metodunu kullanarak değer atama
- Birden çok sınıf
- Sınıfın metotları
- Metotlara değer gönderme
- Metotlardan değer döndürme
- Referans veri tipleri
- Sınıfın nesneleri
- Nesne tanımı
- Kurucu ve yok edici metotlar
- Nesneleri kopyalama ve nesnelerin eşitliği
- Nesnelerin alan değişkenlerini karşılaştırma: instanceof
- This referans belirticisi
- Static bildiricisi
|
Konuyu internet üzerinden araştırma, BTK akademisi üzerinden Java programlamaya başlama. Konuya ilişkin paylaşılan sunum ve yardımcı kaynaklardan çalışma. |
4) |
Basit olmayan veri tipleri 1: SINIF
- Sınıf veri tipinin özellikleri
- Veriyi gizleme
- Metotların aşırı yüklenmeleri
- Kalıtım
- Model sınıflar
- Nesnelerin alan değişkenlerine kurucu metotları kullanarak değer atama
- Nesnelerin alan değişkenlerine değerlerini diğer metotlarla gönderme
- Metotların kalıtım yoluyla geçmesi
- Alan değişkenlerinin kalıtım yoluyla geçmesi
- Protected belirticisi ve kalıtım
- Kurucu metotların kalıtım yoluyla geçmesi
|
Konuya ilişkin paylaşılan sunum ve yardımcı kaynaklardan çalışma. |
5) |
Cok şekillilik
- Soyut (Abstract) sınıflar
- Soyut sınıf kavramı
- Soyut sınıf ve soyut metot örneği
- Soyut sınıf ile çok biçimlilik arasındaki ilişki
Arayüz (Interface)
- Tekli kalıtım
- İkili kalıtım
|
Konuya ilişkin paylaşılan sunum ve yardımcı kaynaklardan çalışma. |
6) |
Basit olmayan veri tipleri 1: Dizi ve Numaralama
- Dizi veri tipi
- ArrayList sınıfı
- Numaralama veri tipi
- Enum veri tipi
- Sınıf ve enum veri tipi
Jenerik sınıflar
- Jenerik sınıf tanımı
- Jenerik metot
- Örnek programlar
|
Konuya ilişkin paylaşılan sunum ve yardımcı kaynaklardan çalışma. |
7) |
Veri depolama
- Collection arayüzü, AbstractCollection sınıfı ve collections sınıfı
- Iterator arayüzü
- Set arayüzü
- List arayüzü
- Queue arayüzü
- Map arayüzü
Ara sınav öncesi genel konuların özet tekrarı, sınıf içi soru ve cevap çalışmaları |
Konuya ilişkin paylaşılan sunum ve yardımcı kaynaklardan çalışma. |
8) |
Ara sınav |
|
9) |
Grafik Kullanıcı Arayüzü (GUI)
- Giriş
- GUI bileşenleri
- Swing bileşenleri
- JFrame=çerçeveler
- Alt taşıyıcılar
- Yerleşme Düzenleyicileri= Layout Managers
- Color sınıfı
- Font sınıfı
- ImegeIcon sınıfı
|
Konuya ilişkin paylaşılan ders sunum ve yardımcı kaynaklardan çalışma. |
10) |
Grafik çizme
- Grafik
- Graphics sınıfı
- FigurePanel Sınıfı
- Canvas sınıfı
- Polygon sınıfı
|
Konuya ilişkin paylaşılan sunum ve yardımcı kaynaklardan çalışma. |
11) |
Swing bileşenleri (Kontrol Yapıları)
- Seçme sınıfları
- JLabel
- Metin alanı
- JList
- JSlider
- Menu hazırlama |
Konuya ilişkin paylaşılan sunum ve yardımcı kaynaklardan çalışma. |
12) |
Dosya ve Dosyalama İşlemleri
-Dosya veri girişi-çıkışı
- File sınıfı
- Metin dosyasına yazdırma ve okutma
- İkili giriş/çıkış işlemlerinde kullanılan sınıflar
- Rastgele erişilebilen sınıflar
|
Konuya ilişkin paylaşılan sunum ve yardımcı kaynaklardan çalışma. |
13) |
Uygulamalar |
12 hafta boyunca paylaşılan sunumlar ve yardımcı kaynaklardan konu tekrarı yapma. Daha önceden yapılmış örnek projelerin incelenmesi. |
14) |
Uygulamalar,
Dönem Sonu sınav öncesi genel konuların özet tekrarı, sınıf içi soru ve cevap çalışmaları
|
12 hafta boyunca paylaşılan sunumlar ve yardımcı kaynaklardan konu tekrarı yapma. Daha önceden yapılmış örnek projelerin incelenmesi. |
|
Dersin Program Kazanımlarına Etkisi |
Katkı Payı |
1) |
Matematik, hesaplama ve bilgisayar bilimleri konularında kuramsal ve uygulamalı bilgilere sahiptir. |
5 |
1) |
Bireysel olarak veya çok disiplinli takımlarda etkin çalışır. |
3 |
1) |
Sürekli mesleki gelişimin gerekliliği bilinci ile bilişim ve/veya bilgisayar bilimleri, bilgi ve iletişim teknolojileri ile ilgili güncel gelişmeleri izler. |
4 |
1) |
Sözlü ve yazılı iletişim kurar, en az bir yabancı dili en az Avrupa Dil Portföyü B1 Genel Düzeyinde kullanarak bilişim ve bilgisayar bilimleri alanındaki bilgileri izler ve meslektaşları ile iletişim kurar. |
3 |
2) |
Bilişim uygulamalarının bireysel, kurumsal, toplumsal ve evrensel boyutlardaki etkilerinin bilincindedir ve girişimcilik, yenilikçilik konuları hakkında farkındalığa sahiptir. |
4 |
2) |
Bilişim ve/veya bilgisayar bilimleri problemlerini saptar, tanımlar ve modeller; bu amaçla uygun analiz ve modelleme yöntemlerini seçer ve uygular. |
4 |
2) |
Bilişim ve/veya bilgisayar bilimleri problemlerinin tanımlarını ve ilk çözümlerini elde etmek amacı ile etkileşimli deneysel ortamlar tasarlar, uygular ve bu ortamları değerlendirir |
4 |
3) |
Mesleki ve etik sorumluluk bilinci ile bilişim uygulamalarının hukuksal sonuçları hakkında farkındalığa sahiptir. |
3 |
3) |
Bilgisayar tabanlı sistemlerde yaşam çevriminin tüm aşamalarını gerçekleştirir. |
3 |
4) |
Hesaplama, matematik ve kuramsal bilgisayar bilimleri bilgileri ile bilgi ve iletişim teknolojilerini, bilişim ve/ya bilgisayar bilimleri problemlerinin çözümleri için seçer ve kullanır. |
4 |