CENG 212
Programlama Dilleri Kavramı
Bu derste, programlama dillerinin temel kavramları ve farklı programlama paradigmaları ele alınacaktır. Öğrenciler, aşağıdaki konularda bilgi sahibi olacaklardır: Programlama Dillerine Giriş: Programlama dillerinin tarihçesi, çeşitleri ve temel özellikleri. Programlama Dili Söz Dizimi: Programlama dilinin yapısı, söz dizimi kuralları ve dilin yapısal unsurları. İsimler, Kapsamlar ve Bağlamalar: Değişkenler, fonksiyonlar ve diğer yapılar arasındaki ilişkiler, kapsam kavramları ve bağlamaların nasıl çalıştığı. Kontrol Akışı: Koşullu ifadeler, döngüler ve kontrol yapıları ile program akışının yönetimi. Fonksiyonel Diller (Scheme’e Giriş): Fonksiyonel programlama paradigması, fonksiyonel dillerin özellikleri ve Scheme diline giriş. Veri Türleri: Veri türlerinin tanımlanması, temel veri yapıları ve türler arası dönüşümler. Alt Programlar ve Kontrol Soyutlaması: Alt programlar, fonksiyonlar ve prosedürlerin kullanımı, kontrol soyutlaması. Mantıksal Diller (Prolog’a Giriş): Mantıksal programlama paradigması, Prolog dilinin temelleri ve uygulama örnekleri. Veri Soyutlama ve Nesne Yönelimi: Nesne yönelimli programlama, sınıflar, nesneler, miras ve soyutlama. Ders boyunca, öğrencilere çeşitli programlama dillerinin pratikte nasıl kullanıldığı ve farklı paradigmalara ait dillerin karşılaştırılması konusunda bilgiler sunulacaktır. Ayrıca, her dilin derleme ve çalıştırma aşamaları, yüksek seviyeli fonksiyonların yazılması gibi temel programlama becerileri geliştirilecektir.
Dersin Amacı
Bu dersin amacı, öğrencilere farklı programlama paradigmalarına ait dillerin temellerini öğretmektir. Öğrenciler, programlama dilleri bağlamında sözdizimi, kapsam ve bağlam kavramlarını anlayabilecek ve bu kavramlara uygun şekilde programlama yapabileceklerdir. Ayrıca, fonksiyonel diller ve mantıksal diller gibi çeşitli paradigmalar hakkında bilgi sahibi olacak ve bu dillerle ilgili temel kavramları uygulamalı olarak öğrenebileceklerdir. Dersin sonunda, öğrenciler yeni bir programlama dilini kolaylıkla öğrenebilme ve yüksek seviyeli fonksiyonlar yazabilme becerisi kazanacaklardır.
Dersin Kitabı / Önerilen Kaynaklar
- M. L. Scott, Programming Language Pragmatics (4th Edition), Morgan Kaufmann, 2016.
- R. W. Sebesta, Concepts of programming languages (11th Edition), Pearson, 2016.
Öğrenme Çıktıları
1. Farklı programlama paradigmalarına ait dilleri kullanabilme.
2. Yeni bir programlama dilini kolaylıkla kullanabilme yeteneğini gösterebilme.
3. Bir programın derleme ve çalıştırma aşamalarını açıklayabilme.
4. Yüksek seviyeli fonksiyonlar yazabilme.
| Konular |
| Programlama Dillerine Giriş |
| Programlama Dili Söz Dizimi |
| İsimler, Kapsamlar ve Bağlamalar |
| Kontrol Akışı Yapıları |
| Fonksiyonel Diller (1) |
| Fonksiyonel Diller (2) |
| Ara Sınav |
| Veri Tipleri (1) |
| Veri Tipleri (2) |
| Alt Programlar ve Kontrol Soyutlaması (1) |
| Alt Programlar ve Kontrol Soyutlaması (2) |
| Mantıksal Diller (1) |
| Mantıksal Diller (2) |
| Veri Soyutlama ve Nesne Yönelimi |
Değerlendirme
Vize 40%
Ödev 20%
Final 40%

