Yazılım Mühendisliği
Lisans TYYÇ: 6. Düzey QF-EHEA: 1. Düzey EQF-LLL: 6. Düzey

Ders Genel Tanıtım Bilgileri

Ders Kodu: SWE303
Ders İsmi: Programlama Dilleri
Ders Yarıyılı: Güz
Ders Kredileri:
Teorik Pratik Laboratuvar AKTS
3 0 0 3
Öğretim Dili: Türkçe
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 ZAFER GÜNEY
Dersi Veren(ler): Dr. Öğr. Üyesi ZAFER GÜNEY
Dersin Yardımcıları:

Dersin Amaç ve İçeriği

Dersin Amacı: Bu dersin amacı, programlama dillerinin analitik bir çalışmasını sağlamaktır. Ders süresince, farklı modeller için yorumlayıcıların nasıl oluşturulacağını inceleyerek farklı programlama paradigmaları arasındaki temel farklılıkları incelemektedir. Dersi tamamlayan öğrenci, çeşitli programlama paradigmalarının sözdizimini ve anlambilimini tanımlamada yorumlayıcıların rolünü anlamış olmalıdır.
Dersin İçeriği: İfadeler, hiyerarşik veri türleri, prosedürler, lineer özyineleme ve iterasyon, soyut veri, akışlar

Öğrenme Çıktıları

Bu dersi başarıyla tamamlayabilen öğrenciler;
Öğrenme Çıktıları
1 - Bilgi
Kuramsal - Olgusal
1) Yeni bir programlama dilinin analiz edilmesi ve değerlendirilmesi
2) Programlama dil grupları arasındaki farklılıkları ayırt edebilmek
3) Dil yapılarının tasarım konularını anlamak
4) Tasarım alternatiflerini karşılaştırabilmek
2 - Beceriler
Bilişsel - Uygulamalı
1) Uygulama için kullanılacak uygun programlama dilini seçebilmek
3 - Yetkinlikler
İletişim ve Sosyal Yetkinlik
Öğrenme Yetkinliği
Alana Özgü Yetkinlik
Bağımsız Çalışabilme ve Sorumluluk Alabilme Yetkinliği

Ders Akış Planı

Hafta Konu Ön Hazırlık
1) İfadeler: İsimlendirme ve ortam, Kombinasyonların değerinin hesaplanması, Bileşik prosedürler, Prosedür uygulamasında yerine koyma modeli, Koşullu ifadeler ve öncüller, Prosedürlerin kara-kutu şeklinde soyutlanması
2) Kontratlar kullanarak prosedür tasarımı Hiyerarşik veri türleri: Pair Türü, Sembol değerler, List Türü
3) Prosedürler ve Yarattıkları Süreçler: Lineer özyineleme ve iterasyon, Ağaç türü özyineleme, Büyüme mertebeleri
4) Yüksek mertebeli prosedürler: Argüman olarak prosedürler, lambda kullanarak prosedür yaratma, Genel metodlar olarak prosedürler, Yerel değişkenler yaratma, Döndürülen değer olarak prosedürler, Gecikmeli (gelecek) hesaplamaları depolayan prosedürler
5) Veri soyutlamaya giriş: Rasyonel sayılar için aritmetik, Soyutlama bariyerleri, Veri ile kastedilen ne?
6) Hiyerarşik veri ve Kapalılık özelliği: Dizilerin temsili, Hiyerarşik yapılar, Arayüz olarak diziler
7) Ara sınav
8) Soyut veri için birden çok temsil: Karmaşık sayılar için temsil, Etiketlenmiş veri, Veri-yönlendirmeli programlama ve toplama özelliği
9) Jenerik İşlemlere sahip sistemler, Jenerik aritmetik işlemler, Farklı türlerden veriyi birleştirmek
10) Atama ve yerel durum: Yerel durum değişkenleri, Atamayı eklemenin faydaları ve maliyeti
11) Değer hesaplamanın ortam modeli: Değer hesaplamanın kuralları, Basti prosedürleri uygulamak, Yerel durumu barındıran çerçeveler, İç tanımlamalar
12) Değişebilir veri ile modelleme: Değişebilir liste yapısı, Kuyrukların temsili, Tabloları temsili
13) Eşzamanlılık: Eşzamanlı sistemlerde zamanın doğası, Eşzamanlılığı yönetmek için mekanizmalar
14) Akışlar: Akışlar aslında gecikmeli listelerdir, Akış paradigmasından faydalanmak, Akışlar ve gecikmeli değer hesaplama, Fonksiyonel programların modülerliği ve Nesnelerin modülerliği
15) Final sınavı

Kaynaklar

Ders Notları / Kitaplar: Essentials of Programming Languages, Daniel P. Friedman, Mitchell Wand and Christopher T. Haynes, MIT Press, 2008 (3rd ed.), ISBN:0-262-06279-8 (3rd ed.)
Diğer Kaynaklar: Essentials of Programming Languages, Daniel P. Friedman, Mitchell Wand and Christopher T. Haynes, MIT Press, 2008 (3rd ed.), ISBN:0-262-06279-8 (3rd ed.)

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

Ders Öğrenme Kazanımları

1

2

3

4

5

Program Kazanımları
1) Matematik, fen bilimleri ve ilgili mühendislik disiplinine özgü konularda yeterli bilgi birikimi; bu alanlardaki kuramsal ve uygulamalı bilgileri, karmaşık mühendislik problemlerinde kullanabilme becerisi
2) Karmaşık mühendislik problemlerini saptama, tanımlama, formüle etme ve çözme becerisi; bu amaçla uygun analiz ve modelleme yöntemlerini seçme ve uygulama becerisi
3) Karmaşık bir sistemi, süreci, cihazı veya ürünü, gerçekçi kısıtlar ve koşullar altında, belirli gereksinimleri karşılayacak şekilde tasarlama becerisi; bu amaçla modern tasarım yöntemlerini uygulama becerisi
4) Mühendislik uygulamalarında karşılaşılan karmaşık problemlerin analizi ve çözümü için gerekli olan modern teknik ve araçları geliştirme, seçme ve kullanma becerisi; bilişim teknolojilerini etkin bir şekilde kullanma becerisi
5) Karmaşık mühendislik problemlerinin veya disipline özgü araştırma konularının incelenmesi için deney tasarlama, deney yapma, veri toplama, sonuçları analiz etme ve yorumlama becerisi
6) Disiplin içi ve çok disiplinli takımlarda etkin biçimde çalışabilme becerisi; bireysel çalışabilme becerisi
7) Türkçe sözlü ve yazılı etkin iletişim kurma becerisi; en az bir yabancı dil bilgisi; etkin rapor yazma ve yazılı raporları anlama, tasarım ve üretim raporları hazırlayabilme, etkin sunum yapabilme, açık ve anlaşılır talimat verme ve alma becerisi
8) Yaşam boyu öğrenmenin gerekliliği bilinci; bilgiye erişebilme, bilim ve teknolojideki gelişmeleri izleme ve kendini sürekli yenileme becerisi
9) Etik ilkelerine uygun davranma, mesleki ve etik sorumluluk bilinci; mühendislik uygulamalarında kullanılan standartlar hakkında bilgi
10) Proje yönetimi, risk yönetimi ve değişiklik yönetimi gibi iş hayatı uygulamaları hakkında bilgi; girişimcilik, yenilikçilik hakkında farkındalık; sürdürülebilir kalkınma hakkında bilgi
11) Mühendislik uygulamalarının evrensel ve toplumsal boyutlarda sağlık, çevre ve güvenlik üzerindeki etkileri hakkında bilgi ve çağın mühendislik alanına yansıyan sorunları hakkında bilgi; mühendislik çözümlerinin hukuksal sonuçları konusunda farkındalık

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, fen bilimleri ve ilgili mühendislik disiplinine özgü konularda yeterli bilgi birikimi; bu alanlardaki kuramsal ve uygulamalı bilgileri, karmaşık mühendislik problemlerinde kullanabilme becerisi 5
2) Karmaşık mühendislik problemlerini saptama, tanımlama, formüle etme ve çözme becerisi; bu amaçla uygun analiz ve modelleme yöntemlerini seçme ve uygulama becerisi 5
3) Karmaşık bir sistemi, süreci, cihazı veya ürünü, gerçekçi kısıtlar ve koşullar altında, belirli gereksinimleri karşılayacak şekilde tasarlama becerisi; bu amaçla modern tasarım yöntemlerini uygulama becerisi 5
4) Mühendislik uygulamalarında karşılaşılan karmaşık problemlerin analizi ve çözümü için gerekli olan modern teknik ve araçları geliştirme, seçme ve kullanma becerisi; bilişim teknolojilerini etkin bir şekilde kullanma becerisi 5
5) Karmaşık mühendislik problemlerinin veya disipline özgü araştırma konularının incelenmesi için deney tasarlama, deney yapma, veri toplama, sonuçları analiz etme ve yorumlama becerisi 5
6) Disiplin içi ve çok disiplinli takımlarda etkin biçimde çalışabilme becerisi; bireysel çalışabilme becerisi 4
7) Türkçe sözlü ve yazılı etkin iletişim kurma becerisi; en az bir yabancı dil bilgisi; etkin rapor yazma ve yazılı raporları anlama, tasarım ve üretim raporları hazırlayabilme, etkin sunum yapabilme, açık ve anlaşılır talimat verme ve alma becerisi 4
8) Yaşam boyu öğrenmenin gerekliliği bilinci; bilgiye erişebilme, bilim ve teknolojideki gelişmeleri izleme ve kendini sürekli yenileme becerisi
9) Etik ilkelerine uygun davranma, mesleki ve etik sorumluluk bilinci; mühendislik uygulamalarında kullanılan standartlar hakkında bilgi
10) Proje yönetimi, risk yönetimi ve değişiklik yönetimi gibi iş hayatı uygulamaları hakkında bilgi; girişimcilik, yenilikçilik hakkında farkındalık; sürdürülebilir kalkınma hakkında bilgi
11) Mühendislik uygulamalarının evrensel ve toplumsal boyutlarda sağlık, çevre ve güvenlik üzerindeki etkileri hakkında bilgi ve çağın mühendislik alanına yansıyan sorunları hakkında bilgi; mühendislik çözümlerinin hukuksal sonuçları konusunda farkındalık

Ölçme ve Değerlendirme

Yarıyıl İçi Çalışmaları Aktivite Sayısı Katkı Payı
Toplam %
YARIYIL İÇİ ÇALIŞMALARININ BAŞARI NOTU KATKISI % 0
YARIYIL SONU ÇALIŞMALARININ BAŞARI NOTUNA KATKISI %
Toplam %