i116 Basic of Programming 

Lecturer: OGATA, Kazuhiro (email: ogata at jaist dot ac dot jp) and DO, Canh Minh (email: canhdo at jaist dot ac dot jp)
Term 1-2 (Jun 23 - Jul 31), 2026

Contents:
News
How to tackle
Homework
Class schedule (lecture notes)
Links


News

- May 27: 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.
- May 27: You are supposed to instal Python in your computer and bring the computer in each class. You are also supposed to be able to use a text editor to make program files and kow something basic about computers, such as files and directories (or folders).
- May 27: This website was open.


How to tackle

For each class, read the lecture note in advance, type the prgrams appearing on it, run them with, 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, go over what you have acquired in the class and tackle the homework.. Please read this in advance.


Homework

The lecturer will let you know what each piece of homework is, what you are supposed to submit, when the submission deadline is, etc. in classes.


Class schedule (lecture notes)

9:00-10:40, Jun 23, Tuesday
1. Some program constructs (1)  (lecture note 1)

10:50-12:30, Jun 25, Thursday
2. Some program constructs (2)  (lecture note 2)

9:00-10:40, Jun 30, Tuesday
3. Built-in data structures  (lecture note 3)

10:50-12:30, Jul 2, Thursday
4. User-defined data structures (1)  (lecture note 4)

9:00-10:40, Jul 7, Tuesday
5. User-defined data structures (2)  (lecture note 5
bigTree4dfSeaerch.py
bigTree4bfSeaerch.py
tree4rSearch.py
tree4gameSearch.py
tree4game.py

13:30-15:10, Jul 7, Tuesday
6. Arithmetic calculator: parse tree & interpreter  (lecture note 6)

10:50-12:30, Jul 9, Thursday
7. Arithmetic calculator: virtual machine & compiler  (lecture note 7)

9:00-10:40, Jul 14, Tuesday
8. Assignment calculator: assignments & parse trees  (lecture note 8)

13:30-15:10, Jul 14, Tuesday
9. Assignment calculator: interpreter  (lecture note 9)

10:50-12:30, Jul 16, Thursday
10. Assignment calculator: virtual machine & compiler  (lecture note 10)

9:00-10:40, Jul 21, Tuesday
11. Programming language processor: syntax & parse trees  (lecture note 11)
parse.py
scan.py
token2.py
tname.py
misc.py

13:30-15:10, Jul 21, Tuesday
12. Programming language processor: interpreter  (lecture note 12)

10:50-12:30, Jul 23, Thursday
13. Programming language processor: virtual machine  (lecture note 13)

9:00-10:40 Jul 28, Tuesday
14. Programming language processor: compiler  (lecture note 14)

13:30-15:10, Jul 28, Tuesday
Tutorial hour for exam

10:50-12:30, Jul 30, Thursday
Exam


Links

Python (in Japanese)


May 27, 2026 by K. Ogata