Information
Code | CEN202 |
Name | Programming Languages |
Term | 2023-2024 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 |
Mode of study | Yüz Yüze Öğretim |
Catalog Information Coordinator | Prof. Dr. SELMA AYŞE ÖZEL |
Course Instructor |
Dr. Öğr. Üyesi Elif Emel FIRAT
(A Group)
(Ins. in Charge)
|
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 | Be able to choose 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 | Has capability in the fields of mathematics, science and computer that form the foundations of engineering | 3 |
PLO02 | Bilgi - Kuramsal, Olgusal | Identifies, formulates, and solves engineering problems, selects and applies appropriate analytical methods and modeling techniques, | |
PLO03 | Bilgi - Kuramsal, Olgusal | Analyzes a system, its component, or process and designs under realistic constraints to meet the desired requirements,gains the ability to apply the methods of modern design accordingly. | |
PLO04 | Bilgi - Kuramsal, Olgusal | Ability to use modern techniques and tools necessary for engineering practice and information technologies effectively. | 3 |
PLO05 | Bilgi - Kuramsal, Olgusal | Ability to design and to conduct experiments, to collect data, to analyze and to interpret results | |
PLO06 | Bilgi - Kuramsal, Olgusal | Has ability to work effectively as an individual and in multi-disciplinary teams, take sresponsibility and builds self-confidence | |
PLO07 | Beceriler - Bilişsel, Uygulamalı | Can access information,gains the ability to do resource research and uses information resources | 4 |
PLO08 | Beceriler - Bilişsel, Uygulamalı | Awareness of the requirement of lifelong learning, to follow developments in science and technology and continuous self-renewal ability | 5 |
PLO09 | Yetkinlikler - Bağımsız Çalışabilme ve Sorumluluk Alabilme Yetkinliği | Ability to communicate effectively orally and in writing, and to read and understand technical publications in at least one foreign language | 4 |
PLO10 | Yetkinlikler - Öğrenme Yetkinliği | Professional and ethical responsibility, | |
PLO11 | Yetkinlikler - Öğrenme Yetkinliği | Awareness about project management, workplace practices, employee health, environmental and occupational safety, and the legal implications of engineering applications, | |
PLO12 | Yetkinlikler - Öğrenme Yetkinliği | Becomes aware of universal and social effects of engineering solutions and applications, entrepreneurship and innovation, and knowledge of contemporary issues |
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, Alıştırma ve Uygulama |
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 | Midterm 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, Alıştırma ve Uygulama |
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 | Preperation to the final exam. | Reading the lecture notes | Öğretim Yöntemleri: Soru-Cevap |
17 | Final exam. | 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 |