BİL395

Programming Languages

Faculty \ Department
School of Engineering \ Computer Engineering
Course Credit
ECTS Credit
Course Type
Instructional Language
3
6
Compulsory
Turkish
Prerequisites
BİL214
Programs that can take the course
Computer Engineering
Course Description
This course presents the fundamental concepts underlying all programming languages. The topics include language categories, language design, programming languages’ evolution, syntax, semantics, lexical and syntax analyzers, names, bindings, type checking, scoping, data types, expressions, statements, statement-level control structures, subprograms, abstract data types, functional programming languages, and logic programming languages.
Textbook and / or References
Concepts of Programming Languages, 11th Edition, R. W. Sebesta, Pearson, 2016.
Course Objectives
To teach fundamental concepts underlying all programming languages. To teach main paradigms of programming languages. To make students’ acquaintance with how the concepts are handled in major programming languages. To help students be able to use language processors for language design and implementation.
Course Outcomes
1. Identify various programming language characteristics and evaluate.
2. Have knowledge on the basics of lexical and syntax analyzing (parsing).
3. Understand variable attributes such as name, address, value, type, lifetime, scope.
4. Identify expression level control.
5. Identify statement level control.
6. Understand subprogram implementation.
7. Be familiar with functional and logic programming languages and their use.
Tentative Course Plan
Week 1: Introduction, Preliminaries and History
Week 2: Syntax and Semantics
Week 3: Lexical and Syntax Analysis
Week 4: Names, Bindings, Type Checking and Scoping
Week 5: Data Types
Week 6: Expressions and Assignment Statements
Week 7: Statement Level Control Structures
Week 8: Subprograms
Week 9: Implementing Subprograms
Week 10: continue
Week 11: Functional Programming Languages
Week 12: Logic Programming Languages
Tentative Assesment Methods
• Midterm 35 %
• Final 45 %
• Homeworks 20 %
Program Outcome *
1 2 3 4 5 6 7 8 9 10 11
Course Outcome
1 C A C
2 C C
3 C B A C
4 C B B C
5 C B B C
6 C B C
7 C A, B C