BİLGİSAYAR MÜHENDİSLİĞİ PROGRAMI (İNGİLİZCE)
Lisans TYYÇ: 6. Düzey QF-EHEA: 1. Düzey EQF-LLL: 6. Düzey

Ders Genel Tanıtım Bilgileri

Ders Kodu: CENG 102
Ders İsmi: Algoritmalar ve Programlama II
Ders Yarıyılı: Bahar
Ders Kredileri:
Teorik Pratik Kredi AKTS
2 0 3 6
Öğretim Dili: EN
Ders Koşulu:
Ders İş Deneyimini Gerektiriyor mu?: Hayır
Dersin Türü: Zorunlu
Dersin Seviyesi:
Lisans TYYÇ:6. Düzey QF-EHEA:1. Düzey EQF-LLL:6. Düzey
Dersin Veriliş Şekli: Yüz yüze
Dersin Koordinatörü: Dr.Öğr.Üyesi MUSTAFA ŞANVER
Dersi Veren(ler):
Dersin Yardımcıları:

Dersin Amaç ve İçeriği

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/GUI 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, karar ifadeleri, döngüler, sınıflar, genel programlama yöntemleri, diziler, nesne tabanlı programlama (giriş, kavramlar, nesneler), generics, özyineleme, dosya ve streams işlemleri, hata kontrol, grafiksel kullanıcı arayüzü (GUI) işlemleri.

Öğrenme Kazanımları

Bu dersi başarıyla tamamlayabilen öğrenciler;
Öğrenme Kazanımları
1 - Bilgi
Kuramsal - Olgusal
1) Nesen-tabanlı programlama kavramlarını bilir ve nesne oluşturabilir
2 - Beceriler
Bilişsel - Uygulamalı
1) Java programlama dili hakkında genel bilgileri bilir ve programlama yapabilir
2) Algoritma tasarlar ve uygulama geliştirir
3 - Yetkinlikler
İletişim ve Sosyal Yetkinlik
Öğrenme Yetkinliği
Alana Özgü Yetkinlik
1) Jenerik veri yapılarını kullanmayı öğrenir.
2) Verilerin sınıflar aracılığı ile depolanmasını sağlar.
3) Grafik kullanıcı arayüzü (GUI) ile ilgili uygulamalar yapar.
Bağımsız Çalışabilme ve Sorumluluk Alabilme Yetkinliği

Ders Akış Planı

Hafta Konu Ön Hazırlık
1) İzlence, Java kurulumu, Algoritma tasarımına giriş (akış şeması, sözde kod)
2) Veri tipleri, değişkenler, operatörler, stringler, Java'da sınıf yapısı
3) Java'da programlama yapıları: if-else, döngüler, switch
4) OOP-1 Sınıflar, nesneler, OOP kavramları, Object sınıfı
5) OOP-2 Fonksiyonlar, metotlar, yapıcı/yıkıcı metotlar (constructor/destructor)
6) Diziler, Çok boyutlu diziler, ArrayList
7) OOP-3 Polimorfizm ve Kalıtım
8) Ara Sınav İşlenen tüm sunum, laboratuvar ve ders kitap konuları
9) OOP-4 Soyut sınıflar ve Arayüzler (Abstract classes & Interfaces)
10) Jenerikler (Generics)
11) Özyineleme (Recursion)
12) Hata yönetimi (Exception Handling)
13) Akışlar, Dosya Giriş/Çıkışı ve Ağ programlama (Streams, File I/O, Networking)
14) Arayüz Tasarımı: JavaFX-1 Temelleri
15) JavaFX-2 UI Kontrolleri, Multimedya ve WebView
16) Final Sınavı Tüm konular ve ödevler

Kaynaklar

Ders Notları / Kitaplar: - Java: An Introduction to Problem Solving and Programming, 8th edition, Walter Savitch and Kenrick Mock, 2018
- Introduction to Java Programming and Data Structures, 13e, Y Danial Yiang, 2024
Diğer Kaynaklar: - JDK: https://www.oracle.com/java/technologies/downloads/
- https://www.w3schools.com/java/default.asp

Ders - Program Öğrenme Kazanım İlişkisi

Ders Öğrenme Kazanımları

1

2

3

4

5

6

Program Kazanımları
1) Matematik, hesaplama ve bilgisayar bilimleri konularında kuramsal ve uygulamalı bilgilere sahiptir.
1) Bireysel olarak veya çok disiplinli takımlarda etkin çalışır.
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.
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.
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.
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.
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
3) Mesleki ve etik sorumluluk bilinci ile bilişim uygulamalarının hukuksal sonuçları hakkında farkındalığa sahiptir.
3) Bilgisayar tabanlı sistemlerde yaşam çevriminin tüm aşamalarını gerçekleştirir.
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.

Ders - Öğrenme Kazanımı İlişkisi

Etkisi Yok 1 En Düşük 2 Düşük 3 Orta 4 Yüksek 5 En Yüksek
           
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. 5
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. 5
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. 3
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. 3
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 2
3) Mesleki ve etik sorumluluk bilinci ile bilişim uygulamalarının hukuksal sonuçları hakkında farkındalığa sahiptir. 1
3) Bilgisayar tabanlı sistemlerde yaşam çevriminin tüm aşamalarını gerçekleştirir. 4
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. 3

Öğrenme Etkinliği ve Öğretme Yöntemleri

Anlatım
Bireysel çalışma ve ödevi
Ders
Laboratuvar
Okuma
Ödev
Uygulama (Modelleme, Tasarım, Maket, Simülasyon, Deney vs.)
Web Tabanlı Öğrenme

Ölçme ve Değerlendirme Yöntemleri ve Kriterleri

Yazılı Sınav (Açık uçlu sorular, çoktan seçmeli, doğru yanlış, eşleştirme, boşluk doldurma, sıralama)
Ödev
Uygulama

Ölçme ve Değerlendirme

Yarıyıl İçi Çalışmaları Aktivite Sayısı Katkı Payı
Laboratuar 1 % 20
Ödev 2 % 10
Ara Sınavlar 1 % 30
Final 1 % 40
Toplam % 100
YARIYIL İÇİ ÇALIŞMALARININ BAŞARI NOTU KATKISI % 60
YARIYIL SONU ÇALIŞMALARININ BAŞARI NOTUNA KATKISI % 40
Toplam % 100

İş Yükü ve AKTS Kredisi Hesaplaması

Aktiviteler Aktivite Sayısı Süre (Saat) İş Yükü
Ders Saati 14 2 28
Laboratuvar 14 2 28
Uygulama 1 30 30
Sınıf Dışı Ders Çalışması 16 4 64
Ödevler 2 10 20
Ara Sınavlar 1 2 2
Final 1 3 3
Toplam İş Yükü 175