IA010 Principles of Programming Languages

Faculty of Informatics
Spring 2018
Extent and Intensity
2/0. 2 credit(s) (plus extra credits for completion). Recommended Type of Completion: zk (examination). Other types of completion: k (colloquium), z (credit).
Teacher(s)
Dr. rer. nat. Achim Blumensath (lecturer)
Guaranteed by
prof. RNDr. Mojmír Křetínský, CSc.
Department of Computer Science – Faculty of Informatics
Supplier department: Department of Computer Science – Faculty of Informatics
Timetable
Thu 14:00–15:50 A318
Prerequisites
Knowledge of at least one imperative (C/C++/Java) and one functional language. Knowledge of additional programming languages is an advantage.
Course Enrolment Limitations
The course is also offered to the students of the fields other than those the course is directly associated with.
fields of study / plans the course is directly associated with
there are 16 fields of study the course is directly associated with, display
Course objectives
By the end of the course, the student will be able:
to choose a programming language (programming paradigm) suitable for a given problem domain;
to analyze both strong and weak aspects of a given programming language;
to quickly obtain an in-depth understanding of a new programming language;
Learning outcomes
After sucessfully completing this course students will be familiar with the most common features of programming languages. They will know how these features are used. They will be able to discuss what features can be used to solve a given programming problem and the advantages and disadvantages of the various options.
Syllabus
  • A brief history of programming languages.
  • Expressions and functions.
  • Types, type checking, type inference.
  • State and side-effects.
  • Modules.
  • Control-flow.
  • Declarative programming.
  • Object-oriented programming.
  • Concurrency.
Literature
    recommended literature
  • VAN ROY, Peter and Seif HARIDI. Concepts, techniques, and models of computer programming. Cambridge, Massachusetts: MIT Press, 2004, xxvii, 900. ISBN 0262220695. info
    not specified
  • SEBESTA, Robert W. Concepts of Programming Languages. 10th Edition. Addison-Wesley, 2012, 816 pp. ISBN 978-0-13-139531-2. info
  • Programming language pragmatics. Edited by Michael Lee Scott. 2nd ed. Oxford: Elsevier Science [distributor], 2006, xxxi, 875. ISBN 9780126339512. info
Teaching methods
The course is organized as a series of lectures.
Assessment methods
Evaluation: final written exam.
Language of instruction
English
Further Comments
Study Materials
The course is taught annually.
The course is also listed under the following terms Spring 2015, Spring 2016, Spring 2017, Spring 2019, Spring 2020, Spring 2021, Autumn 2021, Autumn 2022, Autumn 2023, Autumn 2024.
  • Enrolment Statistics (Spring 2018, recent)
  • Permalink: https://is.muni.cz/course/fi/spring2018/IA010