Course
COE3167930
PRINCIPLES of PROGRAMMING LANGUAGES
Computer Engineering
- LECTURE
- 3
- LAB
- 0
- CREDITS
- 3
- ECTS
- 6
REQUIRES
REQUIRED BY
None
TAUGHT IN
AIM
The objective of this course is to study the properties of programming languages in general, learn syntax and semantics of programming languages, learn basic constructs that are common to all languages, examine some of these constructs and concepts for specific languages, introduce the main paradigms of computation, languages representative of these paradigms, techniques of implementing various programming language constructs, as well as basic concepts relating to the specification of programming languages.
CONTENT
This course contains; Introduction,Evolution of Major Programming Languages,Describing Syntax and Semantics,Lexical and Syntax Analysis,Names, Bindings, Type Checking, and Scopes,Data Types,Expressions and Assignment Statements,Exam Week,İfade-Seviyesi Kontrol Yapıları ve Altprogramlar ,Implementing Subprograms, Abstract Data Types and Encapsulation Constructs,Support for Object-Oriented Programming,Concurrency,Exception and Event Handling,Functional and Logic Programming Languages.
LEARNING OUTCOMES
- 1
Understand syntax, semantic, lexical and syntax analysis
- 2
Understand and Discuss about evolution of programming languages and the role of procedural, object-oriented, functional, declarative, scripting languages.
- 3
Describe in detail the design issues for the primary constructs of the imperative languages
- 4
Understand and Describe control statements, discuss subprograms and their implementations, describe the principles and constructs of object-oriented languages.
- 5
Have the ability to learn and choose new languages for an area of application easily.
- 6
Have ideas about features that should be included in the design of a new language.
WEEKLY PLAN
- WEEK 1
Introduction
Preparation: Slides and Sebesta Chap. 1
- WEEK 2
Evolution of Major Programming Languages
Preparation: Slides and Sebesta Chap. 2
- WEEK 3
Describing Syntax and Semantics
Preparation: Slides and Sebesta Chap. 3
- WEEK 4
Lexical and Syntax Analysis
Preparation: Slides and Sebesta Chap. 4
- WEEK 5
Names, Bindings, Type Checking, and Scopes
Preparation: Slides and Sebesta Chap. 5
- WEEK 6
Data Types
Preparation: Slides and Sebesta Chap. 6
- WEEK 7
Expressions and Assignment Statements
Preparation: Slides and Sebesta Chap. 7
- WEEK 8
Exam Week
Preparation: All Slides and Chapters till Week 8
- WEEK 9
İfade-Seviyesi Kontrol Yapıları ve Altprogramlar
Preparation: Slides and Sebesta Chap. 8, 9
- WEEK 10
Implementing Subprograms, Abstract Data Types and Encapsulation Constructs
Preparation: Slides and Sebesta Chap. 10,11
- WEEK 11
Support for Object-Oriented Programming
Preparation: Slides and Sebesta Chap. 12
- WEEK 12
Concurrency
Preparation: Slides and Sebesta Chap. 13
- WEEK 13
Exception and Event Handling
Preparation: Slides and Sebesta Chap. 14
- WEEK 14
Functional and Logic Programming Languages
Preparation: Slides and Sebesta Chap. 15,16
ASSESSMENT
- Rate of Midterm Exam to Success30%
- Rate of Final Exam to Success70%
WORKLOAD
| ACTIVITY | COUNT | HOURS | TOTAL |
|---|---|---|---|
| Course Hours | 3 | 14 | 42 |
| Guided Problem Solving | 0 | 0 | 0 |
| Resolution of Homework Problems and Submission as a Report | 6 | 8 | 48 |
| Term Project | 0 | 0 | 0 |
| Presentation of Project / Seminar | 3 | 8 | 24 |
| Quiz | 1 | 15 | 15 |
| Midterm Exam | 1 | 25 | 25 |
| General Exam | 1 | 30 | 30 |
| Performance Task, Maintenance Plan | 0 | 0 | 0 |
READING
- - Sebesta, Robert W. Concepts of Programming Languages, 11th ed, Addison-Wesley, 2017.
- - Michael Scott. Programming Language Prgramatics, 4th edition, Morgan Kaufmann, San Francisco, California, 2015. - R. Toal, R. Rivera, A. Schneider, and E. Choe, Programming Language Explorations, CRC Press, 2017. - Pratt, T.W. & M.V.Zelkowitz. Programming Languages, Design and Implementation. Prentice Hall, 4th ed., 2001.
TEACHING STAFF
- Prof.Dr. Selim AKYOKUŞCOORDINATOR
- Prof.Dr. Selim AKYOKUŞ