Předmět Principles of Programming Languages (IA010)
Na serveru studentino.cz naleznete nejrůznější studijní materiály: zápisky z přednášek nebo cvičení, vzorové testy, seminární práce, domácí úkoly a další z předmětu IA010 - Principles of Programming Languages, Fakulta informatiky, Masarykova univerzita (MU).
Top 10 materiálů tohoto předmětu
Materiály tohoto předmětu
Materiál | Typ | Datum | Počet stažení |
---|
Další informace
Cíl
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 a of new programming language;
Osnova
Brief history of programming languages.Names, bindings, scopes. Block structure. Representing object in memory.Primitive and composite types. Typechecking. Lists. Pointers and references. Type derivation.Control flow: expressions, statements, control structures.Subprograms: local definitions, parameter passing, overloaded and generic functions. Coroutines.Exceptions: basic concepts, case studies(Ada, C++, Java), exceptions in functional programming languages. Events.Abstract data types: basic concepts, encapsulation, case studies (Ada, C++). Parameterized ADT, generics. Namespaces.Object oriented programming: principles, inheritance, dynamic binding, case studies (Smallatlk, C++, Java).Concurrency: basic concepts, mutual exclusion mechanisms (semaphores, monitors, message passing), case studies (Ada, Java). Concurrency in functional languages.Functional programming: typical features of functional languages, LISP, case study (Scheme). Evaluation strategies, modern functional languages, functional features in other languages.
Literatura
doporučená literaturaSEBESTA, Robert W. Concepts of Programming Languages. 10th Edition. : Addison-Wesley, 2012. 816 s. ISBN 978-0-13-139531-2. infoProgramming language pragmatics. Edited by Michael Lee Scott. 2nd ed. Oxford: Elsevier Science [distributor], 2006. xxxi, 875. ISBN 9780126339512. info
Požadavky
Knowledge of at least one imperative (C/C++/Java) and one functional language. Knowledge of additional programming languages is an advantage.
Garant
prof. RNDr. Mojmír Křetínský, CSc.
Vyučující
Mgr. Jan Obdržálek, PhD.