IV022 Design and verification of algorithms

Faculty of Informatics
Spring 2021
Extent and Intensity
2/0. 2 credit(s) (plus extra credits for completion). Type of Completion: zk (examination).
Teacher(s)
prof. RNDr. Luboš Brim, CSc. (lecturer)
Guaranteed by
prof. RNDr. Luboš Brim, CSc.
Department of Computer Science – Faculty of Informatics
Contact Person: prof. RNDr. Luboš Brim, CSc.
Supplier department: Department of Computer Science – Faculty of Informatics
Timetable
Wed 10:00–11:50 Virtuální místnost
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 77 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
The course is taught annually.
Teacher's information
https://www.fi.muni.cz/usr/brim/home/#teaching
The course is also listed under the following terms Autumn 2002, Autumn 2003, Autumn 2007, Spring 2013, Spring 2015, Spring 2017, Spring 2018, Spring 2019, Spring 2020, Autumn 2022, Autumn 2023.
  • Enrolment Statistics (Spring 2021, recent)
  • Permalink: https://is.muni.cz/course/fi/spring2021/IV022