Course Name Mathematical Structures in Programming
Instructor and position Zhenjiang Hu, Professor
Students ‚P-‚Tth year
Credits ‚Q
Lecture/experiment Lecture
Summary This course discusses the mathematical structures in programs and explains how mathematical reasoning plays an important role in designing efficient algorithms and constructing correct programs.
Aims Fully understand why algorithm design and programming can be viewed as a mathematical activity, and can apply mathematical reasoning to solve practical programming problems.
Plan Mathematical structures of programs over various kinds of computation models, programming theory, and programming environments will be studied. In particular, a program calculus for supporting systematic construction of correct and efficient algorithms will be introduced.

(1) Specification and Implementation
(2) Algorithmic Languages
(3) Programming Algebras
(4) Algorithm Derivation
(5) Programming Examples
Evaluation criteria Achievement of the aims will be assessed by questions in the class and a report.
Textbooks Nothing
References [1] Roland Backhouse, Program Construction: Calculating Implementation from Specification, Wiley, 2003.
[2] Richard Bird and Oege de Moor, The Algebra of Programming, Prentice-Hall, 1996.
[3] Anne Kaldewaij, Programming: The Derivation of Algorithms, Prentice Hall, 1990.
Prerequisites Basic knowledge in programming
Remarks Zhenjiang Hu, Professor

 

-close-