This course covers the mathematical concepts and theories related to computer science, which are based on the fundamentals learned in Foundations of Computer Science.
The principle of computing and computing models are viewed from various angles to reveal the essence of calculation.
At the end of this course, students will be able to deal with Turing Machine, the recursive function, the lambda calculus, and the computability theory.
Turing Machine, recursive function, lambda calculus, computability theory
|Intercultural skills||Communication skills||✔ Specialist skills||Critical thinking skills||Practical and/or problem-solving skills|
As a general rule, two 90-minute lecture sessions followed by one 90-minute exercise will be given.
|Course schedule||Required learning|
|Class 1||Turing Machine 1 : Introduction to Turing machine||After each lesson, review what you learned. Use the exercise problems in the textbook.|
|Class 2||Turing Machine 2 : Binary coding||Specified in the class.|
|Class 3||Turing Machine 3 : Programming technique||Specified in the class.|
|Class 4||Exercise||After each exercise, try unsolved problems once again. Refer suggested answers.|
|Class 5||Turing machine 4 : Universal Turing machine||Specified in the class.|
|Class 6||Turing machine 5 : Computability||Specified in the class.|
|Class 7||Exercise||Specified in the class.|
|Class 8||Recursive function 1 : Introduction to recursive function||Specified in the class.|
|Class 9||Recursive function 2: Programming technique||Specified in the class.|
|Class 10||Exercise||Specified in the class.|
|Class 11||Summary of the first half||Specified in the class.|
|Class 12||Assessment of the students' level of understanding on what has been taught so far||Specified in the class.|
|Class 13||Recursive function 3 : Data expression using Gödel number||Specified in the class.|
|Class 14||Recursive function 4 : Computability of recursive function||Specified in the class.|
|Class 15||Exercise||Specified in the class.|
|Class 16||Recursive function 5 : Equivalence between recursive function and computability||Specified in the class.|
|Class 17||Lambda calculus 1 : Introduction to lambda calculus||Specified in the class.|
|Class 18||Exercise||Specified in the class.|
|Class 19||Lambda calculus 2 : Data expression using lambda term||Specified in the class.|
|Class 20||Lambda calculus 3 : Computability of lambda calculus||Specified in the class.|
|Class 21||Exercise||Specified in the class.|
|Class 22||Summary of the latter half||Specified in the class.|
|Class 23||Exercise||Specified in the class.|
Osamu Watanabe, Naoki Yonezaki. "Introduction to Theory of Computing". Nippon Hyoron Sha Co. Ltd. (Japanese)
Students' course scores are based on exercises (20%), midterm exam (40%) and final exam (40%).
Students must have successfully completed Foundations of Computer Science I and II, or have equivalent knowledge.