FI:PB006 Principles of Programming Lang - Course Information
PB006 Principles of Programming Languages
Faculty of InformaticsAutumn 2014
- 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)
- doc. Mgr. Jan Obdržálek, PhD. (lecturer)
- Guaranteed by
- prof. RNDr. Mojmír Křetínský, CSc.
Department of Computer Science – Faculty of Informatics
Contact Person: doc. Mgr. Jan Obdržálek, PhD.
Supplier department: Department of Computer Science – Faculty of Informatics - Prerequisites
- SOUHLAS
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
- Applied Informatics (programme FI, B-AP)
- Bioinformatics (programme FI, B-AP)
- Economic Information Systems (programme ESF, B-SI)
- Informatics with another discipline (programme FI, B-EB)
- 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-TV)
- Public Administration Informatics (programme FI, B-AP)
- Mathematical Informatics (programme FI, B-IN)
- Mathematics with Informatics (programme PřF, N-MA)
- Parallel and Distributed Systems (programme FI, B-IN)
- Lower Secondary School Teacher Training in Technology and IT Education (programme PdF, B-SPE)
- Computer Graphics and Image Processing (programme FI, B-IN)
- Computer Networks and Communication (programme FI, B-IN)
- Computer Systems and Data Processing (programme FI, B-IN)
- Programmable Technical Structures (programme FI, B-IN)
- Embedded Systems (programme FI, N-IN)
- Service Science, Management and Engineering (programme FI, N-AP)
- Social Informatics (programme FI, B-AP)
- Artificial Intelligence and Natural Language Processing (programme FI, B-IN)
- 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 a of new programming language; - Syllabus
- 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.
- Literature
- recommended literature
- 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
- Czech
- Further Comments
- Study Materials
The course is taught annually.
The course is taught every week. - Listed among pre-requisites of other courses
- Teacher's information
- https://is.muni.cz/el/1433/podzim2013/PB006/index.qwarp
- Enrolment Statistics (Autumn 2014, recent)
- Permalink: https://is.muni.cz/course/fi/autumn2014/PB006