i217 Functional Programming @ Tokyo
Lecturer: OGATA, Kazuhiro (email: ogata at jaist dot ac dot
jp)
Term: Jun 12 - Sep 18, 2022
Contents:
News
How to tackle
Exam
Assignments
Class schedule (lecture
notes)
A programming language Minila (used at 8th,
9th & 10th classes)
links
News
- Jun 27: The submission deadlines
of all HWs have been fixed.
- JunMay 25: Classes will be held in
person at Tokyo Satellite. Class videos are to be taken and then you can watch
them anywhere you want to do later, but you are strongly
recommended to participate in classes in person.
Please bring your computer with
you when participating in classes because you may have time to tackle exercises
that may require you to write programs and run them with your computer in
classes; moreover, if the number of participants is over 20, you may want to
participate in classes in the designated place of the lounge with Webex due to
the limited capacity of the room used.
- JunMay 25: NO PLAGIARISM. Plagiarism is
strongly prohibited. Do not plagiarize any pieces of programs and/or reports
written by others, and do no let others plagiarize any pieces of programs and/or
reports written by you. If the lecturer finds any pieces of plagiarism in
submitted programs and/or reports, he will formally process the plagiarism. The
students who have been involved in the plagiarism will never succeed in taking
the credits of the course and moreover may be seriously punished.
-
JunMay 25: CafeOBJ System Version
1.5.7 is used in this course. Please download it from here and install it on your laptop.
Please consult here on how to
install CafeOBJ. Please bring your computer with you at each class.
-
JunMay 25: This website was open.
How to tackle
For each class, learn the
lecture note in advance, solve the exercises found in the lecture note, clarify
what you have not understood and attend the class. At the class, ask the
lecturer about what you have not understood to get better understandings of
them. After the class, solve the exercises you have not solved to confirm your
understandings. Solving the exercises is part of the assignments, and then you
are supposed to do so if you want to get the credits of the course. Programs
used in the course are not to be given intentionally but required to be typed by
each participant, which is part of the exercises. Please read this in advance.
Exam
- 15:40-17:20, Sep 18,
Sunday
Assignment
Part of the exercises found in the lecture notes are the assignment problems.
The details, such as the submission deadine, will be described at
classes.
Class schedule (lecture
notes)
13:50-15:30, Jun 12, Sunday
1. Sorts, Operators,
Terms and Equations (lecture note
1)
Submission deadline of HW1: Jun 28
15:40-17:20, Jun 12,
Sunday
2. Modules, Order Sorts and Lists of Natural Numbers (lecture note 2)
Submission deadline of HW2: Jun
28
13:50-15:30, Jun 19, Sunday
3. Tern Rewriting (lecture note 3)
Submission deadline of HW3: Jul
17
15:40-17:20. Jun 19, Sunday
Tutorial
Hour
13:50-15:30, Jul 10, Ssunday
4. Parametrized Modules (lecture note 4)
Submission deadline of HW4: Jul
31
15:40-17:20, Jul 10, Sunday
5. Tables (lecture note 5)
Submission deadline of HW5:
Jul 31
13:50-15:30, Jul 17, Sunday
6. Infinite Lists (lecture note 6)
Submission deadline of HW6: Aug
7
15:40-17:20, Jul 17, Sunday
7. Multisets (lecture note 7)
Submission deadline of HW7: Aug
7
13:50-15:30, Jul 24, Sunday
8. A Programming Language Processor
- Interpreter (lecture note
8)
15:40-17:20, Jul 24, Sunday
9. A Programming Language
Processor - Virtual Machine (lecture note
9)
13:50-15:30, Jul 31, Sunday
10. A Programming Language
Processor - Compiler (lecture note
10)
Submission deadline of HW8, 9 and 10: Aug 8: Aug
28
15:40-17:20, Jul 31, Sunday
11. Program Verification - Natural
Numbers (lecture note
11)
Submission deadline of HW11: Sep
11
13:50-15:30, Sep 4, Sunday
12. Pregram Verification - Lists
(lecture note
12)
Submission deadline of HW12: Sep
18
15:40-17:20, Sep 4, Sunday
Tutorial
Hour
13:50-15:30, Sep 11, Sunday
13. Verification of Arithmetic
Caclulator Compiler (lecture note
13)
Submission deadline of HW13: Sep 25
15:40-17:20, Sep 11,
Sunday
14. Proof Assistant (lecture note
14)
Submission deadline of HW14: Sep 25
13:50-15:30, Sep 18,
Sunday
Tutorial Hour
A Programming Language Minila (used at 8th, 9th & 10th classes)
ast.cafe
misc.cafe
interpreter.cafe
vm.cafe
compiler.cafe
Links
CafeOBJ
Jun 27, 2022; May 26 Updated; May 25, 2022 Created by K. Ogata