| 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 | ||