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%

Öğretim Elemanı

Doktor Öğretim Üyesi / Bölüm Başkan Yardımcısı
Diğer İkinci Sınıf Dersleri