FI:PB006 Principles of Prog.Languages - Course Information
PB006 Principles of Programming Languages
Faculty of InformaticsAutumn 2004
- 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 - Timetable
- Wed 18:00–19:50 D1
- Prerequisites
- ! P006 Principles of Prog.Languages
A basic knowledge of one imperative and one functional language is beneficial. - 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
- Applied Informatics (programme FI, B-AP)
- Informatics with another discipline (programme FI, B-BI)
- Informatics with another discipline (programme FI, B-FY)
- Informatics with another discipline (programme FI, B-GE)
- Informatics with another discipline (programme FI, B-GK)
- Informatics with another discipline (programme FI, B-CH)
- Informatics with another discipline (programme FI, B-IO)
- Informatics with another discipline (programme FI, B-MA)
- Informatics with another discipline (programme FI, B-SO)
- Informatics with another discipline (programme FI, B-TV)
- Informatics (programme FI, B-IN)
- Course objectives
- The course provides the students with information about programming paradigms and basic concepts used in programming languages.
- 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.
- Types and type systems. Ground types, type constructors. Polymorphic types, parametric polymorphism and inclusion polymorphism, overloading, type classes.
- Subtypes, inherence. Types as sorts, types as signatures, types as 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.
- Logic paradigm. Formulae, predicates, satisfiability. Horn clauses, resolution, unification.
- Concurrency, communication. Deadlock. Interrupts, events. Semaphores, mutual exclusion, critical sections.
- Call by value, call by name. Call by result, by value-result.
- Literature
- 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
- Study Materials
The course is taught annually. - Listed among pre-requisites of other courses
- Teacher's information
- http://www.fi.muni.cz/~libor/vyuka/PB006/
- Enrolment Statistics (Autumn 2004, recent)
- Permalink: https://is.muni.cz/course/fi/autumn2004/PB006