Course details
Principles of Programming Languages
IPP Acad. year 2003/2004 Summer semester 5 credits
The course offers basic classification of programming languages with more detailed explanation of imperative and declarative languages. Explaining imperative paradigm, it will be presented non-structured, structured (both block and modular), and object-oriented prgoramming languages. A brief introduction into functional and logic programming will be studied during explanation of declarative paradigm. The underlying theories are discussed too. Students will be also given an introduction to processing (translation) of presented programming paradigms/languages.
Guarantor
Language of instruction
Completion
Time span
Assessment points
Department
Lecturer
Subject specific learning outcomes and competences
Students will be able to classify programming languages. They will be able to use a given programming paradigm on a certain level too. Moreover, basic analysis and compilation issues will be clarified as well.
Learning objectives
To give an overview: of existing programming paradigms, of range of existing programming languages and their classification, and of requirements on programming language analysis and translation.
Prerequisites
Study literature
- Lecture notes in PDF file
Fundamental literature
- Sebesta R.W.: Concepts of Programming Languages, 4th edition, ADDISON-WESLEY, 1999, ISBN 0-201-38596-1
Syllabus of lectures
- Introduction, definition of used terms
- Imperative languages, non-structured programming languages
- Block-structured programming languages
- Modular languages
- Object-oriented languages
- Some specialities of object-oriented programming languages
- Comparison of various kinds of imperative programming languages
- Declarative languages, lambda calculus
- Functional programming languages
- Logical programming languages
- Another declarative programming languages, their comparison
- Main differences in usage and implementation of declarative and imperative programming languages
- Conclussion, discussion of the follow-up courses
Syllabus - others, projects and individual work of students
One of these or all projects of the following kind:
- Simple program written in non-structural programming language
- Simple program written in modular programming language
- Simple program written in object-oriented programming language
Progress assessment
Mid-term exam. One to three projects to be solved during a term.
Controlled instruction
Mid-term exam, projects realization.
Exam prerequisites
At the end of a term, a student should have at least 50% of points that he or she could obtain during the term.
Course inclusion in study plans