Class schedule | HW assignments (Including preparation and review of the class.) | Amount of Time Required | |
---|---|---|---|
1. | Classification of programming languages and a simple example of programming languages | Section 8.1 of the reference book | 180minutes |
2. | Imperative languages (1) - Assignments - Structured programming - Control flow |
Section 3.1, 3.2, and 3.3 of the reference book | 190minutes |
3. | Imperative languages (2) - Break statements, continue statements, goto statements, and return statements |
Section 3.4 of the reference book | 190minutes |
4. | Imperative languages (3) - Compilation of sentences - Short-circuit evaluation - Assertions |
p. 109 and p. 87 of the reference book | 190minutes |
5. | Imperative languages (4) - Hoare triple - Hoare logic |
Section 3.6 of the reference book | 190minutes |
6. | Imperative language (5) and a small examination - Procedures - Parameter-passing mechanisms - Scope rules of variables |
Section 5.2 and 5.3 of the reference book | 190minutes |
7. | Mid-term examination and explanation of the answers - Paper-and-pencil test for checking the understanding of the contents of the lectures from the first to the seventh (We resume the lecture after the mid-term examination.) |
Review the contents of all the lectures until the last one. | 190minutes |
8. | Operational semantics (1) - An operational semantics for a tiny C language - Definition of the meaning of expressions - Definition of the meaning of sentences |
Section 13.3 of the reference book provides an operational semantics, although it is for a functional language. This lecture provides one for an imperative language, but the basic ideas are similar. Since imperative languages support assignments, we have to care about the states, which the reference book does not provide the explanation for. Each student is recommended to try to consider how to define an operational semantics for an imperative language. | 190minutes |
9. | Type system - Variable declarations in the C language - A type system for a tiny C language |
Review variable declarations of the C language. | 190minutes |
10. | Lambda calculus - Syntax of the lambda expressions - Beta transformation |
Chapter 14 of the reference book | 190minutes |
11. | Object-oriented languages - Classes - Inheritance - Virtual functions |
Chapter 6 and 7 of the reference book | 190minutes |
12. | Logic programming | Chapter 11 of the reference book | 190minutes |
13. | Functional programming and a small examination | Chapter 8 and 9 of the reference book | 190minutes |
14. | Final examination and explanation of the answers - Paper-and-pencil test for checking the understanding of the contents of the lectures from the first to the fourteenth |
Review the contents of all lectures. | 190minutes |
15. | |||
Total. | - | - | 2650minutes |
small exam | mid-term exam | final exam | Total. | |
---|---|---|---|---|
1. | 2% | 16% | 15% | 33% |
2. | 2% | 8% | 7% | 17% |
3. | 2% | 8% | 7% | 17% |
4. | 2% | 8% | 14% | 24% |
5. | 2% | 0% | 7% | 9% |
Total. | 10% | 40% | 50% | - |
Work experience | Work experience and relevance to the course content if applicatable |
---|---|
N/A | N/A |