IV022 Design and verification of algorithms

Faculty of Informatics
Spring 2018
Extent and Intensity
2/0. 2 credit(s) (plus extra credits for completion). Recommended Type of Completion: zk (examination). Other types of completion: z (credit).
Teacher(s)
prof. RNDr. Luboš Brim, CSc. (lecturer)
Guaranteed by
prof. RNDr. Mojmír Křetínský, CSc.
Department of Computer Science – Faculty of Informatics
Contact Person: prof. RNDr. Luboš Brim, CSc.
Supplier department: Department of Computer Science – Faculty of Informatics
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
there are 40 fields of study the course is directly associated with, display
Course objectives
The goal is to get acquaint with methods for design and verification of small sequential algorithms. The students acquire basic verification techniques.
Learning outcomes
By the end of the semester, students should be able to develop small sequential algorithms and prove their correctness.
Syllabus
  • Programs as predicate transformers, weakest precondition, properties of predicate transformers, program correctness.
  • Garded command language. Skip and abort commands, composition, alternative command, iterative command.
  • Verification of programs, proof outlines, verification rules for sequential composition, alternative, and loop commands. Array manipulation.
  • Constructive verification of programs, basic principles and strategies, developing loops from invariants and bounds, developing invarinats.
  • Examples of program development. Deriving of efficient algorithms, Searching and sorting.
Literature
  • DIJKSTRA, Edsger W. and W. H. J. FEIJEN. A method of programming. Wokingham: Addison-Wesley Publishing Company, 1998, vii, 188 s. ISBN 0-201-17536-3. info
  • KALDEWAIJ, A. Programming :the derivation of algorithms. New York: Prentice Hall, 1990, xii, 216 s. ISBN 0-13-204108-1. info
  • GRIES, David. The Science of Programming. New York: Springer-Verlag, 1981, 366 s., ob. ISBN 0-387-90641-X. info
Teaching methods
lecture, homeworks, reading
Assessment methods
Final exam is written. In the case homeworks are assigned, these are counted by maximum of 30% to the final mark. No study materials are allowed during the final examination.
Language of instruction
Czech
Further Comments
Study Materials
The course is taught once in two years.
The course is taught: every week.
Teacher's information
http://www.fi.muni.cz/usr/brim/iv022.html
The course is also listed under the following terms Autumn 2002, Autumn 2003, Autumn 2007, Spring 2013, Spring 2015, Spring 2017, Spring 2019, Spring 2020, Spring 2021, Autumn 2022, Autumn 2023.
  • Enrolment Statistics (Spring 2018, recent)
  • Permalink: https://is.muni.cz/course/fi/spring2018/IV022