P006 Principles of Programming Languages

Faculty of Informatics
Autumn 1999
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)
RNDr. Libor Škarvada (lecturer)
Guaranteed by
prof. RNDr. Mojmír Křetínský, CSc.
Department of Computer Science – Faculty of Informatics
Contact Person: RNDr. Libor Škarvada
Prerequisites
I015 Intro to Func.Programming && I065 Seminar on Design of Algorithms I
It is recommended to go through I015 Introduction to Functional Programming and I001 Introduction to Programming beforehand.
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
Syllabus
  • Brief history of programming languages, overview of basic programming pradigms.
  • Syntax, language, program. Abstract and concrete syntax.
  • Static semantics. Typing, validation functions.
  • Name spaces, visibility of program items. Block structure and modular structure.
  • Type systems. Types, type constructors. Polymorphic types, parametric and inclusion polymorphism, overloading, type classes. Subtypes, inherence. Types as sorts (sets), types as signatures (heterogeneous algebras), types as theories (models of theories).
  • Dynamic semantics, computation.
  • Imperative paradigm. Commands, state, memory locations, state transformers, mutable variables, destructive assignment.
  • Functional paradigm. Expressions. functions, variables. Aplication, abstraction, lambda calculus, reduction strategies, infinite data structures.
  • Logic paradigm. Formulae, predicates, satisfiability. Horn clauses, resolution, unification.
  • Call by value, call by name. Call by result, by value-result.
Literature
  • TENNENT, R. D. Principles of programming languages. Englewood Cliffs: Prentice-Hall International, 1981, xiv, 271 s. ISBN 0-13-709873-1. info
Assessment methods (in Czech)
Kurs probíhá formou přednášek a je ukončen písemnou zkouškou.
Language of instruction
Czech
Further Comments
The course is taught annually.
The course is taught: every week.
Teacher's information
http://www.fi.muni.cz/usr/skarvada/vyuka/P006/
The course is also listed under the following terms Spring 1996, Spring 1997, Autumn 1997, Autumn 1998, Autumn 2000, Autumn 2001.
  • Enrolment Statistics (Autumn 1999, recent)
  • Permalink: https://is.muni.cz/course/fi/autumn1999/P006