A program can be seen as a mathematical function which calculates output value for a given input. In this lecture, we will look into the property of functions which correspond to programs.
Firstly, in order to understand what we can calculate using programs, we compare three models of programs: recursive functions, Turing machines and lambda calculi. We will show that those three models are equivalent.
Secondly, we will study complete partial order sets which give the model of lambda calculi and programs.
Thirdly, in order to understand data types of programs, we will look into category theory which is the abstraction of functions and has an ability to reveal the beauty behind data types.
No.1 | 10/04 | While Program | slide |
No.2 | 10/11 | Primitive Recursive Function | slide |
No.3 | 10/18 | Recursive Function | slide |
No.4 | 10/25 | Turing Machine | slide |
No.5 | 11/01 | Turing Machine and Computability | slide |
No.6 | 11/08 | Lambda Calculus | slide |
No.7 | 11/15 | Lambda Calculus and Computability | slide |
No.8 | 11/29 | Complete Partial Ordered Set | slide |
No.? | 12/06 | (no class) | |
No.9 | 12/13 | CPO and Data Type | slide |
No.10 | 12/20 | Continuous Function | slide |
No.11 | 01/07 | Introduction to Category Theory | slide |
No.12 | 01/17 | Category Theory and Data Type | slide |