i116 Basic of Programming
Lecturer: OGATA, Kazuhiro (email: ogata at jaist dot ac dot jp)
Term 1-2
(Jun 12 - Jul 31), 2023
Contents:
News
How to tackle
Homework
Class schedule (lecture notes)
Links
News
- Jul 21: Please download the
following four files again:
scan.py
parse.py
token2.py
tname.py
I have changed the finel name token.py to
token2.py because of some (Python laibrary-related) reason.
- The file used at Tutoral Hour on Jun 22 for explaining
how to find the method invoked
- Jun 1: 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.
- Jun 1: 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).
- Jun 1: 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)
10:50-12:30, Jun 13, Tuesday
1. Some program
constructs (1) (lecture note
1)
9:00-10:40, Jun 15, Thursday
2. Some program constructs (2)
(lecture note 2)
10:50-12:30, Jun
20, Tuesday
3. Built-in data structures (lecture note 3)
9:00-10:40, Jun 22,
Thursday
4. User-defined data structures (1) (lecture note 4)
10:50-12:30, Jun 27,
Tuesday
5. User-defined data structures (2) (lecture note 5)
bigTree4dfSeaerch.py
bigTree4bfSeaerch.py
tree4rSearch.py
tree4gameSearch.py
tree4game.py
9:00-10:40, Jun 29, Thursday
6.
Arithmetic calculator: parse tree & interpreter (lecture note 6)
10:50-12:30, Jul 4,
Tuesday
7. Arithmetic calculator: virtual machine & compiler (lecture note 7)
9:00-10:40, Jul 6,
Thursday
8. Assignment calculator: assignments & parse trees (lecture note 8)
10:50-12:30, Jul 11,
Tuesday
9. Assignment calculator: interpreter (lecture note 9)
9:00-10:40, Jul 13,
Thursday
10. Assignment calculator: virtual machine & compiler (lecture note 10)
10:50-12:30, Jul 18,
Tuesday
11. Programming language processor: syntax & parse trees
(lecture note
11)
parse.py
scan.py
token.py
tname.py
9:00-10:40, Jul 20, Thursday
12.
Programming language processor: interpreter (lecture note
12)
10:50-12:30, Jul 25, Tuesday
13. Programming language
processor: virtual machine (lecture note
13)
9:00-10:40, Jul 27, Thursday
14. Programming language
processor: compiler (lecture note
14)
Links
Python (in Japanese)
Jun 1, 2023 by K. Ogata