SWE002 Concurrent and Real-Time Programming in Javaİstinye ÜniversitesiAkademik Programlar Bilgisayar Mühendisliği(İngilizce)(Yazılım Mühendisliği İçin)YandalÖğrenciler için Genel BilgiDiploma EkiErasmus BeyanıUlusal Yeterlilikler

Ders Genel Tanıtım Bilgileri

Ders Kodu: SWE002
Ders İsmi: Java'da eşzamanlı ve gerçek zamanlı programlama
Ders Yarıyılı: Güz
Ders Kredileri:
AKTS
5
Öğretim Dili: English
Ders Koşulu:
Ders İş Deneyimini Gerektiriyor mu?: Hayır
Dersin Türü: Bölüm/Program Seçmeli
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. Üy. MUHAMMED DAVUD
Dersi Veren(ler): Dr. Öğr. Üyesi Muhammed Davud
Dersin Yardımcıları:

Dersin Amaç ve İçeriği

Dersin Amacı: Bu ders, öğrencilere gerçek zamanlı sistemlerin tasarımı ve analizindeki temel problemleri, kavramları ve yaklaşımları tanıtmaktadır. Gerçek zamanlı uygulamalar genellikle zamanlama garantilerinin sürdürülmesini gerektiren güvenlik veya görev açısından kritik sistemleri içerir. Gerçek zamanlı görev tasarımı, güvenilirlik, iletişim, zamanlama ve gerçek zamanlı kontrol gibi konular ele alınacaktır. Bu ders, gerçek zamanlı sistemlerde Java programlama dilinin kullanımına odaklanarak verilecektir.
Dersin İçeriği: Bu ders kapsamında aşağıdaki konular ele alınacaktır: gerçek zamanlı sistemler için programlama dilleri, gerçek zamanlı işletim sistemleri (RTOS), zamanlama, kaynak kullanımı, gerçek zamanlı sistem yazılımının tasarımı ve analizi, gerçek zamanlı sistemlerin modellemesi ve doğrulaması, güvenilirlik ve hata toleransı, kesmeler, hata kurtarma, dağıtılmış gerçek zamanlı sistemler, gerçek zamanlı iletişim ve çoklu işlemci sistemleri için gerçek zamanlı sistemler.

Öğrenme Kazanımları

Bu dersi başarıyla tamamlayabilen öğrenciler;
1) Gerçek zamanlı sistemlerin tasarımı ve analizindeki temel problemleri, kavramları ve yaklaşımları anlamak.
2) Güvenilirlik, iletişim, zamanlama ve gerçek zamanlı kontrol gibi faktörleri dikkate alarak gerçek zamanlı görev tasarım prensiplerini uygulamak.
3) Java programlama dilini kullanarak gerçek zamanlı sistemler geliştirmek ve uygulamada yetkinlik göstermek.
4) Zamanlama kısıtları, kaynak tahsisi ve güvenilirlik gibi faktörleri dikkate alarak gerçek zamanlı sistem yazılımı tasarlamak ve analiz etmek.
5) Kesme işleme, hata kurtarma ve hata tolere etme tekniklerini gerçek zamanlı sistemlerde anlamak ve uygulamak.

Ders Akış Planı

Hafta Konu Ön Hazırlık
1) Gerçek zamanlı sistemlere giriş.
2) Gerçek Zamanlı Sistemler ve Programlama Dilleri.
3) Güvenilirlik ve Hata Toleransı.
4) Güvenilirlik ve Hata Toleransı.
5) İstisnalar ve İstisna İşleme.
6) Eşzamanlı Programlama.
7) Paylaşılan Değişken Tabanlı Senkronizasyon ve İletişim.
8) Ara Sınav
9) Mesaj tabanlı Senkronizasyon ve iletişim.
10) Atomik Eylemler, Eşzamanlı Görevler ve Güvenilirlik.
11) Gerçek zamanlı sistemlerde zamanlama.
12) Java Swing.
13) Java Swing.
14) Java Swing.

Kaynaklar

Ders Notları / Kitaplar: Concurrent and Real-Time Programming in Java, by Andrew Wellings.
Diğer Kaynaklar: Real-Time Systems and Programming Languages: Ada, Real-Time Java and C/Real-Time POSIX (4th Edition), by Alan Burns and Andy Wellings.

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

Course Learning Outcomes

1

2

3

4

5

Program Kazanımları

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

Etkisi Yok 1 En Düşük 2 Orta 3 En Yüksek
       
Dersin Program Kazanımlarına Etkisi Katkı Payı

Ölçme ve Değerlendirme

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

İş Yükü ve AKTS Kredisi Hesaplaması

Aktiviteler Aktivite Sayısı İş Yükü
Ders Saati 13 39
Sınıf Dışı Ders Çalışması 15 101
Ara Sınavlar 1 2
Final 1 2
Toplam İş Yükü 144