Ders Adı Kodu Yarıyıl T+U Saat Kredi AKTS
Programlama Dillerinin Prensipleri SWE 204 4 3 + 0 3 4
Ön Koşul Dersleri
Önerilen Seçmeli Dersler
Dersin Dili İngilizce
Dersin Seviyesi Lisans
Dersin Türü Zorunlu
Dersin Koordinatörü Dr.Öğr.Üyesi BEYZA EKEN
Dersi Verenler Dr.Öğr.Üyesi BEYZA EKEN,
Dersin Yardımcıları
Dersin Kategorisi Diğer
Dersin Amacı

Programlama dillerinin temel ve yaygın yöntemlerini inceledikten sonra temel programlama sunarak bireyin yeni dillere adaptasyonunu kolaylaştırmak. Dillerin sınıflandırılması ve en uygun dilin seçimi için evrensel ölçütlerin kullanılması.

Dersin İçeriği

Dillerin tarihçesi ve evrimi, Dilleri tanımlama, çeviri, temel programlama araçları, temel programlama kavramları, veri türleri ve konfigürasyonu, Yapısal programlama kavramları, alt programlar, program dillerinin modülasyonu, eşzamanlılık, mantıksal, nesne yönelimli ve fonksiyonel programlama kavramı.

Kalkınma Amaçları
# Ders Öğrenme Çıktıları Öğretim Yöntemleri Ölçme Yöntemleri
1 Explain the fundamental concepts and design principles of programming languages. Anlatım, Soru-Cevap, Beyin Fırtınası, Problem Çözme, Doğru Yanlış Testleri, Kısa Cevaplı Testler, Sözlü Sınavlar, Yazılı Sınavlar (Kısa ve Uzun Yanıtlı),
2 Describe and compare different programming language paradigms (e.g., imperative, object-oriented, functional, and logic programming) Anlatım, Soru-Cevap, Beyin Fırtınası, Doğru Yanlış Testleri, Kısa Cevaplı Testler,
3 Analyze the syntax and semantics of programming languages using formal description techniques such as grammars and parse trees. Anlatım, Soru-Cevap, Gösterip Yaptırma, Doğru Yanlış Testleri, Kısa Cevaplı Testler,
4 Explain the processes involved in program translation, including lexical analysis, parsing, and semantic analysis. Anlatım, Soru-Cevap, Beyin Fırtınası, Doğru Yanlış Testleri, Kısa Cevaplı Testler,
5 Evaluate language design decisions related to data types, control structures, scope, binding, and subprograms. Anlatım, Soru-Cevap, Beyin Fırtınası, Doğru Yanlış Testleri, Kısa Cevaplı Testler,
6 Apply programming language concepts. Problem Çözme, Ödev / Evde-Çöz Sınavlar,
Hafta Ders Konuları Ön Hazırlık
1 Giriş, Dil Tasarımı Kavramları
2 Programlama Dillerin Tarihçesi
3 Sözdizimi ve Semantiği Tanımlama
4 Sözlüksel ve Sözdizimi Analizi
5 Adlar, Bağlantılar ve Kapsam
6 İsim uzayı ve veri tipleri
7 İfadeler ve Atama İfadeleri
8 İfade Düzeyinde Kontrol Yapıları
9 Alt Programlar
10 Soyut Veri Tipleri ve Kapsülleme Yapısı
11 Nesneye Yönelik Programlama
12 Programlama dillerinde hata yakalama
13 Programlama dillerinde eşzamanlılık
14 Yorumlamalı Diller ve Python
Kaynaklar
Ders Notu
Ders Kaynakları

Concepts of Programming Languages, Robert W. Sebesta, 12th Edition, Pearson.

Programlama Dillerinin Prensipleri, Nejat Yumuşak, Fatih Adak, 2021, 2. Baskı, Seçkin Yayıncılık.

Sıra Program Çıktıları Katkı Düzeyi
1 2 3 4 5
1 Mühendislik Bilgisi: Matematik, fen bilimleri, temel mühendislik, bilgisayarla hesaplama ve ilgili mühendislik disiplinine özgü konularda bilgi; bu bilgileri, karmaşık mühendislik problemlerinin çözümünde kullanabilme becerisi. X
2 Problem Analizi: Karmaşık mühendislik problemlerini, temel bilim, matematik ve mühendislik bilgilerini kullanarak ve ele alınan problemle ilgili BM Sürdürülebilir Kalkınma Amaçlarını gözeterek tanımlama, formüle etme ve analiz becerisi. X
3 Mühendislik Tasarımı: Karmaşık mühendislik problemlerine yaratıcı çözümler tasarlama becerisi; karmaşık sistemleri, süreçleri, cihazları veya ürünleri gerçekçi kısıtları ve koşulları gözeterek, mevcut ve gelecekteki gereksinimleri karşılayacak biçimde tasarlama becerisi. X
4 Teknik ve Araçların Kullanımı: Karmaşık mühendislik problemlerinin analizi ve çözümüne yönelik, tahmin ve modelleme de dahil olmak üzere, uygun teknikleri, kaynakları ve modern mühendislik ve bilişim araçlarını, sınırlamalarının da farkında olarak seçme ve kullanma becerisi. X
5 Araştırma ve İnceleme: Karmaşık mühendislik problemlerinin incelenmesi için literatür araştırması, deney tasarlama, deney yapma, veri toplama, sonuçları analiz etme ve yorumlama dahil, araştırma yöntemlerini kullanma becerisi.
6 Mühendislik Uygulamalarının Küresel Etkisi: Mühendislik uygulamalarının BM Sürdürülebilir Kalkınma Amaçları* kapsamında, topluma, sağlık ve güvenliğe, ekonomiye, sürdürülebilirlik ve çevreye etkileri hakkında bilgi; mühendislik çözümlerinin hukuksal sonuçları konusunda farkındalık.
7 Mühendislik Etiği: Mühendislik meslek ilkelerine* uygun davranma, etik sorumluluk hakkında bilgi; hiçbir konuda ayrımcılık yapmadan, tarafsız davranma ve çeşitliliği kapsayıcı olma konularında farkındalık. X
8 Bireysel ve Takım Çalışması: Bireysel olarak ve disiplin içi ve çok disiplinli takımlarda (yüz yüze, uzaktan veya karma) takım üyesi veya lideri olarak etkin biçimde çalışabilme becerisi. X
9 Sözlü ve Yazılı İletişim: Hedef kitlenin çeşitli farklılıklarını (eğitim, dil, meslek gibi) dikkate alarak, teknik konularda sözlü, yazılı etkin iletişim kurma becerisi. X
10 Proje Yönetimi: Proje yönetimi ve ekonomik yapılabilirlik analizi gibi iş hayatındaki uygulamalar hakkında bilgi; girişimcilik ve yenilikçilik hakkında farkındalık.
11 Yaşam Boyu Öğrenme: Bağımsız ve sürekli öğrenebilme, yeni ve gelişmekte olan teknolojilere uyum sağlayabilme ve teknolojik değişimlerle ilgili sorgulayıcı düşünebilmeyi kapsayan yaşam boyu öğrenme becerisi.
# Ders Öğrenme Çıktılarının Program Çıktılarına Katkısı PÇ 1 PÇ 2 PÇ 3 PÇ 4 PÇ 5 PÇ 6 PÇ 7 PÇ 8 PÇ 9 PÇ 10 PÇ 11
1 Explain the fundamental concepts and design principles of programming languages.
2 Describe and compare different programming language paradigms (e.g., imperative, object-oriented, functional, and logic programming)
3 Analyze the syntax and semantics of programming languages using formal description techniques such as grammars and parse trees.
4 Explain the processes involved in program translation, including lexical analysis, parsing, and semantic analysis.
5 Evaluate language design decisions related to data types, control structures, scope, binding, and subprograms.
6 Apply programming language concepts.
Değerlendirme Sistemi
Yarıyıl Çalışmaları Katkı Oranı
1. Ara Sınav 40
1. Kısa Sınav 10
2. Kısa Sınav 10
1. Ödev 40
Toplam 100
1. Yıl İçinin Başarıya 60
1. Final 40
Toplam 100
AKTS - İş Yükü Etkinlik Sayı Süre (Saat) Toplam İş Yükü (Saat)
Ders Süresi (Sınav haftası dahildir: 16x toplam ders saati) 16 3 48
Sınıf Dışı Ders Çalışma Süresi(Ön çalışma, pekiştirme) 16 1 16
Ara Sınav 1 10 10
Kısa Sınav 2 4 8
Ödev 1 10 10
Final 1 17 17
Toplam İş Yükü 109
Toplam İş Yükü / 25 (Saat) 4,36
dersAKTSKredisi 4