Course detail
Principles of Programming Languages
FIT-IPPAcad. year: 2014/2015
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 programming languages. Design patterns are presented as a programming technique. A brief introduction into functional and logic programming will be studied during explanation of declarative paradigm. The underlying theories are discussed too. Students will also be given an introduction to processing (translation) of presented programming paradigms/languages.
Language of instruction
Number of ECTS credits
Mode of study
Guarantor
Department
Learning outcomes of the course unit
Usage of selected design patterns.
Prerequisites
Co-requisites
Planned learning activities and teaching methods
Assesment methods and criteria linked to learning outcomes
Plagiarism and not allowed cooperation will cause that involved students are not classified and disciplinary action can be initiated.
Course curriculum
- 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
- Design patterns
- 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:
A simple program or programs/scripts implemented in the given programming language together with relevant documentation.
Work placements
Aims
Specification of controlled education, way of implementation and compensation for absences
- Mid-term exam - written form, a test, where answers are given in full sentences, no possibility to have a second/alternative trial. (20 points)
- Projects realization - 1 project (program(s) development according to a given specification) with appropriate documentation. (20 points)
- Final exam - written form, a test, where answers are given in full sentences, 2 another corrections trials possible. (60 points - the minimal number of points which can be obtained from the final exam is 25, otherwise, no points will be assigned to a student.)
Recommended optional programme components
Prerequisites and corequisites
- compulsory prerequisite
Algorithms - recommended prerequisite
Formal Languages and Compilers
Basic literature
Recommended reading
Classification of course in study plans
Type of course unit
Lecture
Teacher / Lecturer
Syllabus
- 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
- Design patterns
- 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