| 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-