Lesson plan /

Lesson Information

Course Credit
Course ECTS Credit
Teaching Language of Instruction İngilizce
Level of Course Bachelor's Degree, TYYÇ: Level 6, EQF-LLL: Level 6, QF-EHEA: First Cycle
Type of Course
Mode of Delivery Face-to-face
Does the course require compulsory or optional work experience?
Course Coordinator
Instructor (s)
Course Assistant

Purpose and Content

The aim of the course Master fundamental concepts of programming languages and apply them in designing new programming languages.
Course Content Programming Language Concepts. A survey of programming language concepts and design principles of programming paradigms (procedural, functional and logic). Topics include a history of programming languages, data types supported, control structures and run-time management of dynamic structures.

Weekly Course Subjects

1Introduction
2History of expressions
3History of languages
4The compilation process
5Formalizing Syntax, context-free languages
6Semantics of languages
7Binding (names and references)
8Midterm
9Models of programming languages
10Data types and polymorphism
11Blocks, scope, Subprogram
12Concurrency
13Object oriented programming
14Functional programming

Resources

1- Concepts of Programming Languages, R.W. Sebesta; 2. Modern Programming Languages: A Practical Introduction, A.B. Webber