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 | ||