GERİ DÖN

Ders Öğretim Planı


Dersin Kodu Dersin Adı Dersin Türü Yıl Yarıyıl AKTS
501002191998 PROGRAMMING LANGUAGES Ders 2 4 7,00

Lisans


İngilizce


Bu dersin amacı, öğrencinin programlama dillerinin temelindeki kavramları öğrenmesi ve bu kavramların farklı programlama dillerindeki uygulamalarını değerlendirerek, programlama dilleri alanında kapsamlı bir bakış açısına sahip olmasıdır.


Dr. Öğr. Üyesi Ahmet EGESOY


1 Programlama dilleri kavramlarını özümsemek.
2 Programlama dilleri gerçekleştirme teknolojilerini tanımak.
3 Var olan programlama dillerini , tarihçelerini, güçlü ve zayıf yanlarını tanımak.
4 Belirli bir yazılım geliştirme projesi için en uygun programlama dilini seçebilmek.
5 Yeni bir programlama dili geliştirmek için gereken temel bilgi ve yetilere sahip olmak.
6 Var olan bir programlama dilini gerçekleştirebilmek için gereken temel bilgi ve yetilere sahip olmak.

Birinci Öğretim


Yok


Yok


Programlama paradigmaları ve tarihçe, Dil Tanımı ve Çevrimi, Bağlama ve Kapsam, Veri Tipleri, Altprogramlar, Program Ayrıştırma, Nesneye Yönelik Programlama, İstisna İşleme,Fonksiyonel Programlama, Mantıksal Programlama.


Hafta Konular (Teorik) Uygulama Öğretim Yöntem ve Teknikleri Ön Hazırlık
1 Giriş: Programlama dilleri paradigmaları ve programlama dillerinin gelişimiyle ilgili tarihçe, programlama paradigmalarına genel bir bakış FORTRAN, ALGOL, COBOL, vb. dillere ait örnekler
2 Dil Tanımı: Programlama dillerinde söz dizim ve anlam tanımlanması. Gramer, BNF, EBNF, Anlam tanımlama. BNF-EBNF ile ilgili soru çözümü
3 Dil Tanımı: Programlama dillerinde söz dizim ve anlam tanımlanması. Gramer, BNF, EBNF, Anlam tanımlama. Operasyonel anlam ve aksiyomatik anlam ile ilgili alıştırma
4 Dil çevrimi: Programlama dillerinin makine diline çevrim süreci, yorumlayıcılar ve derleyiciler. Sözcüksel analiz konulu örnek
5 Temel programlama elemanları: Değişkenler ve özellikleri, işlemciler ve özellikleri, işlemci yükleme. Değişken tipleri ile ilgili alıştırma
6 Bağlama Kavramı: Dinamik ve durağan bağlama. Tip, bellek ve kapsam bağlama. Tip, bellek ve bağlam kapsama ile ilgili alıştırma
7 Veri Tipleri: Veri tipi kavramı. Basit ve yapısal veri tipleri. Tip denetimi, kuvvetli tipleme, tip dönüşümleri, tip uyumluluğu. Veri tipleri ile ilgili uygulama geliştirme
8 Veri Tipleri: Veri tipi kavramı. Basit ve yapısal veri tipleri. Tip denetimi, kuvvetli tipleme, tip dönüşümleri, tip uyumluluğu. Veri tipleri ile ilgili uygulama geliştirme
9 Yapısal Programlama: Atama deyimleri, seçimli deyimler, yinelemeli deyimler Atama deyimleri, seçimli deyimler, yinelemeli deyimler ile ilgili alıştırma
10 Ara sınav
11 Altprogramlar: Prosedür ve fonksiyonlar. Parametre aktarımı. Etkinlik kayıtları, özyinelemeli altprogramlar. Altprogram örnekleri
12 Nesneye Yönelik Programlama: Nesneye yönelik programlama kavramları -soyutlama, bilgi saklama, kalıtım, çokyapılılık, dinamik bağlama. Nesneye yönelik uygulama geliştirme
13 İstisna İşleme: İstisna, istisna oluşturma ve çeşitli dillerde istisna işleme. İstisna işleme ile ilgili uygulama geliştirme
14 Fonksiyonel Programlama: Fonksiyonel programlamanın temel kavramları, Lisp ve Scheme. Fonksiyonel programlama ile ilgili ortam tanıtımı ve örnekler (Scheme)
15 Mantıksal programlama: Temel kavramlar ve Prolog Mantıksal programlama ile ilgili örnekler (Prolog)
16 Final Sınavı

Sebesta, R.,"Concepts of Programming Languages", Addison-Wesley Publishing, 2006. Watt, D., "Programming Language Desişgn Concepts", John Wiley & Sons, 2004.



Yarıyıl (Yıl) İçi Etkinlikleri Adet Değer
Ara Sınav 1 70
Proje Tasarımı /Yönetimi 1 30
Toplam 100
Yarıyıl (Yıl) Sonu Etkinlikleri Adet Değer
Final Sınavı 1 100
Toplam 100
Yarıyıl (Yıl) İçi Etkinlikleri 40
Yarıyıl (Yıl) Sonu Etkinlikleri 60

Yok


Etkinlikler Sayısı Süresi (saat) Toplam İş Yükü (saat)
Ara Sınav 1 2 2
Final Sınavı 1 2 2
Derse Katılım 14 3 42
Problem Çözümü 12 2 24
Rapor Hazırlama 1 8 8
Proje Hazırlama 1 48 48
Ara Sınav İçin Bireysel Çalışma 1 42 42
Final Sınavı içiin Bireysel Çalışma 1 42 42
Toplam İş Yükü (saat) 210

PÇ 1 PÇ 2 PÇ 3 PÇ 4 PÇ 5 PÇ 6 PÇ 7 PÇ 8 PÇ 9 PÇ 10 PÇ 11
ÖÇ 1 4 3
ÖÇ 2 4 3
ÖÇ 3 5 5 5
ÖÇ 4 5 5 5
ÖÇ 5 3 5
ÖÇ 6 3 5
* Katkı Düzeyi : 1 Çok düşük 2 Düşük 3 Orta 4 Yüksek 5 Çok yüksek