Course details

Principles of Programming Languages

IPP Acad. year 2015/2016 Summer semester 5 credits

Current academic year

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.

Guarantor

Language of instruction

Czech, English

Completion

Credit+Examination

Time span

  • 39 hrs lectures
  • 13 hrs projects

Department

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.

Usage of selected design patterns.

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 usage, analysis, and translation.

Recommended prerequisites

Prerequisite knowledge and skills

Formal languages and their models, grammars, automata; translation/analysis of formal languages. Focus on regular and context-free languages and their models, grammars, automata and processing.

Study literature

  • Texty přednášek v elektronické podobě
  • Kolář, D.: Principy programovacích jazyků a objektově orientovaného programování - I, studijní opora pro kombinované studium, modul IPP I, VUT FIT, 2006
  • Křivka, Z., Kolář, D.: Principy programovacích jazyků a objektově orientovaného programování - II, studijní opora pro kombinované studium, modul IPP II, VUT FIT, 2008
  • Kolář, D.: Principy programovacích jazyků a objektově orientovaného programování - III, studijní opora pro kombinované studium, modul IPP III, VUT FIT, 2006

Fundamental literature

  • Sebesta R.W.: Concepts of Programming Languages, 4th edition, ADDISON-WESLEY, 1999, ISBN 0-201-38596-1
  • MacLennan, B.J.: Principles of Programming Languages: Design, Evaluation, and Implementation (3rd Edition). Oxford University Press, 1999.

Syllabus of lectures

  1. Introduction, definition of used terms
  2. Imperative languages, non-structured programming languages
  3. Block-structured programming languages
  4. Modular languages
  5. Object-oriented languages
  6. Some specialities of object-oriented programming languages
  7. Design patterns
  8. Declarative languages, lambda calculus
  9. Functional programming languages
  10. Logical programming languages
  11. Another declarative programming languages, their comparison
  12. Main differences in usage and implementation of declarative and imperative programming languages
  13. Conclussion, discussion of the follow-up courses

Progress assessment

At the end of a term, a student should have at least 50% of points that he or she could obtain during the term; that means at least 20 points out of 40.
Plagiarism and not allowed cooperation will cause that involved students are not classified and disciplinary action can be initiated.

Controlled instruction

  • 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.)

Course inclusion in study plans

  • Programme IT-BC-3, field BIT, 2nd year of study, Compulsory
Back to top