YZZ202 Programming Languages

6 ECTS - 3-0 Duration (T+A)- 4. Semester- 3 National Credit

Information

Unit FACULTY OF SCIENCE AND LETTERS
ARTIFICIAL INTELLIGENCE AND MACHINE LEARNING PR. (ENGLISH)
Code YZZ202
Name Programming Languages
Term 2026-2027 Academic Year
Semester 4. Semester
Duration (T+A) 3-0 (T-A) (17 Week)
ECTS 6 ECTS
National Credit 3 National Credit
Teaching Language İngilizce
Level Lisans Dersi
Type Normal
Label FE Field Education Courses C Compulsory
Mode of study Yüz Yüze Öğretim
Catalog Information Coordinator Prof. Dr. YUSUF ALPER KAPLAN
Course Instructor
The current term course schedule has not been prepared yet.


Course Goal / Objective

The objectives of this course are to introduce students the concepts of programming languages and programming environments; to give the students required information to develop a new programming language; to introduce the students how to use the programming language concepts for more accurate code development; to decide which programming languages are used for what purposes; to ease the process of learning new programming languages; to give the required information to use functional and logic programming languages such as Lisp and Prolog.

Course Content

Structure of programming languages. Describing syntax and semantics. Lexical and syntax analysis. Names, bindings, type checking, and scopes. Data types. Expressions, assignment statements, statement-level control structures. Subprograms. Abstract Data Types and Encapsulation constructs.

Course Precondition

Basic programming knowledge

Resources

Sebesta, R., Concepts of Programming Languages (11th Edition), Pearson, 2016.

Notes

Compilers/interpreters for C, C++, C#, Java, Python, Perl, LISP, Prolog, ML, Haskel, Scheme, Ada languages


Course Learning Outcomes

Order Course Learning Outcomes
LO01 Explains the basic concepts of programming languages.
LO02 Describes how a programming language is developed.
LO03 Explains how compilers and interpreters work.
LO04 Chooses the right programming language for a real-world programming application.


Relation with Program Learning Outcome

Order Type Program Learning Outcomes Level
PLO01 Bilgi - Kuramsal, Olgusal It provides a broad range of knowledge about fundamental Computer Science concepts, algorithms and data structures. 5
PLO02 Bilgi - Kuramsal, Olgusal Learns basic computer topics such as software development, programming languages, and database management. 5
PLO03 Bilgi - Kuramsal, Olgusal Understands advanced computing fields such as data science, artificial intelligence, and machine learning.
PLO04 - Learn about topics such as computer networks, cyber security, and database design.
PLO05 Beceriler - Bilişsel, Uygulamalı Develops skills in designing, implementing and analyzing algorithms.
PLO06 Beceriler - Bilişsel, Uygulamalı Gains the ability to use different programming languages effectively
PLO07 Beceriler - Bilişsel, Uygulamalı Learns data analysis, database management and big data processing skills.
PLO08 Beceriler - Bilişsel, Uygulamalı Gains practical experience by working on software development projects.
PLO09 Yetkinlikler - Bağımsız Çalışabilme ve Sorumluluk Alabilme Yetkinliği Strengthens collaboration and communication skills within the team.
PLO10 Yetkinlikler - Alana Özgü Yetkinlik It provides a mindset open to technological innovations.
PLO11 Yetkinlikler - Öğrenme Yetkinliği Encourages continuous learning and self-improvement competence.
PLO12 Yetkinlikler - İletişim ve Sosyal Yetkinlik Develops the ability to solve complex problems.


Week Plan

Week Topic Preparation Methods
1 The neccessity of learning the basic concepts of the programming languages. Reading the lecture notes Öğretim Yöntemleri:
Anlatım
2 Expressing the sytax and semantics. Reading the lecture notes, homework assignment Öğretim Yöntemleri:
Anlatım, Alıştırma ve Uygulama
3 Lexical and syntactical analysis. Reading the lecture notes Öğretim Yöntemleri:
Anlatım, Alıştırma ve Uygulama
4 Names, bindings, type checking, and scope. Reading the lecture notes, homework assignment Öğretim Yöntemleri:
Anlatım, Alıştırma ve Uygulama
5 Data types. Reading the lecture notes Öğretim Yöntemleri:
Anlatım, Alıştırma ve Uygulama
6 Expressions and assignment statements. Reading the lecture notes, homework assignment Öğretim Yöntemleri:
Anlatım, Alıştırma ve Uygulama
7 Conrol structures. Reading the lecture notes Öğretim Yöntemleri:
Anlatım, Alıştırma ve Uygulama
8 Mid-Term Exam Reading the lecture notes Ölçme Yöntemleri:
Yazılı Sınav
9 Abstract data types and encapsulation. Reading the lecture notes, homework assignment Öğretim Yöntemleri:
Anlatım
10 Subprograms. Reading the lecture notes Öğretim Yöntemleri:
Anlatım, Alıştırma ve Uygulama
11 Implementation of subprograms in compilers. Reading the lecture notes, homework assignment Öğretim Yöntemleri:
Anlatım, Alıştırma ve Uygulama
12 Concurrency. Reading the lecture notes Öğretim Yöntemleri:
Anlatım, Alıştırma ve Uygulama
13 Functional Programming Languages. Reading the lecture notes Öğretim Yöntemleri:
Anlatım, Alıştırma ve Uygulama
14 Logic Programming Languages. Reading the lecture notes, homework assignment Öğretim Yöntemleri:
Anlatım, Alıştırma ve Uygulama
15 Sample applicaitons using LISP and Prolog. Reading the lecture notes Öğretim Yöntemleri:
Anlatım, Alıştırma ve Uygulama
16 Term Exams Reading the lecture notes Ölçme Yöntemleri:
Yazılı Sınav
17 Term Exams Reading the lecture notes Ölçme Yöntemleri:
Yazılı Sınav


Student Workload - ECTS

Works Number Time (Hour) Workload (Hour)
Course Related Works
Class Time (Exam weeks are excluded) 14 3 42
Out of Class Study (Preliminary Work, Practice) 14 5 70
Assesment Related Works
Homeworks, Projects, Others 0 0 0
Mid-term Exams (Written, Oral, etc.) 1 15 15
Final Exam 1 30 30
Total Workload (Hour) 157
Total Workload / 25 (h) 6,28
ECTS 6 ECTS

Update Time: 22.04.2026 10:07