This course covers the mathematical concepts and theories related to computer science, which are based on the fundamentals learnt 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 learnt. Use the exercise problems in the textbook.|
|Class 2||Turing Machine 2 : Binary coding|
|Class 3||Turing Machine 3 : Programming technique|
|Class 5||Turing machine 4 : Universal Turing machine|
|Class 6||Turing machine 5 : Computability|
|Class 8||Recursive function 1 : Introduction to recursive function|
|Class 9||Recursive function 2: Programming technique|
|Class 11||Summary of the first half|
|Class 12||Assessment of the students' level of understanding on what has been taught so far|
|Class 13||Recursive function 3 : Data expression using Gödel number|
|Class 14||Recursive function 4 : Computability of recersive function|
|Class 16||Recursive function 5 : Equivalence between recersive function and computability|
|Class 17||Lambda calculus 1 : Introduction to lambda calculus|
|Class 19||Lambda calculus 2 : Data expression using lambda term|
|Class 20||Lambda calculus 3 : Computability of lambda calculus|
|Class 22||Summary of the latter half|
Osamu Watanabe, Naoki Yonezaki. "Introduction to Theory of Computing". Nippon Hyoron Sha Co. Ltd. (Japanese)
Students' course scores are based on midterm exam (50%) and final exam (50%).
Students must have successfully completed Foundations of Computer Science I and II, or have equivalent knowledge.