FI:IA010 Principles of prog. lang. - Informace o předmětu
IA010 Principles of Programming Languages
Fakulta informatikypodzim 2021
- Rozsah
- 2/0. 2 kr. (plus ukončení). Doporučované ukončení: zk. Jiná možná ukončení: k, z.
- Vyučující
- Dr. rer. nat. Achim Blumensath (přednášející)
- Garance
- Dr. rer. nat. Achim Blumensath
Katedra teorie programování – Fakulta informatiky
Dodavatelské pracoviště: Katedra teorie programování – Fakulta informatiky - Rozvrh
- Čt 16. 9. až Čt 9. 12. Čt 16:00–17:50 A217
- Předpoklady
- Knowledge of at least one imperative (e.g. C/C++/Java) and one functional language (e.g. Haskell). Knowledge of additional programming languages is an advantage.
- Omezení zápisu do předmětu
- Předmět je nabízen i studentům mimo mateřské obory.
- Mateřské obory/plány
- předmět má 45 mateřských oborů, zobrazit
- Cíle předmětu
- By the end of the course, the student will be able:
to understand the various features of a given programming language , including their advantages and disadvantages;
to choose a programming language and programming paradigm suitable for a given problem domain;
to analyse both strong and weak aspects of a given programming language;
to quickly obtain an in-depth understanding a of new programming language; - Výstupy z učení
- After successfully completing this course students will be familiar with the most common features of programming languages. They will know how these features can be used. They will be able to discuss which features can be used to solve a given programming problem and the advantages and disadvantages of the various options.
- Osnova
- Brief history of programming languages.
- Expressions and functions. Scoping. Functional programming.
- Types and type checking. Polymorphism. Type inference.
- State and side effects. Imperative Programming.
- Modules. Abstract data types.
- Control flow. Continuations. Generators. Exceptions. Algebraic effects.
- Declarative Programming. Single assignment variables. Unification. Backtracking.
- Object oriented programming. Dynamic Dispatch. Subtyping. Encapsulated state. Inheritance.
- Concurrency. Fibres. Message passing. Shared memory.
- Literatura
- doporučená literatura
- VAN ROY, Peter a Seif HARIDI. Concepts, techniques, and models of computer programming. Cambridge, Massachusetts: MIT Press, 2004, xxvii, 900. ISBN 0262220695. info
- SEBESTA, Robert W. Concepts of Programming Languages. 10th Edition. Addison-Wesley, 2012, 816 s. 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
- Výukové metody
- The course is organized as a series of lectures.
- Metody hodnocení
- Evaluation: final written exam.
- Vyučovací jazyk
- Angličtina
- Další komentáře
- Studijní materiály
Předmět je vyučován každoročně.
- Statistika zápisu (podzim 2021, nejnovější)
- Permalink: https://is.muni.cz/predmet/fi/podzim2021/IA010