2026 (Current Year) Faculty Courses School of Engineering Undergraduate major in Industrial Engineering and Economics
Advanced Computer Programming
- Academic unit or major
- Undergraduate major in Industrial Engineering and Economics
- Instructor(s)
- Akiyoshi Shioura / Nobutaka Shimizu
- Class Format
- Lecture/Exercise (Face-to-face)
- Media-enhanced courses
- -
- Day of week/Period
(Classrooms) - 5-8 Tue (W9-311)
- Class
- -
- Course Code
- IEE.A230
- Number of credits
- 110
- Course offered
- 2026
- Offered quarter
- 3Q
- Syllabus updated
- Sep 28, 2026
- Language
- Japanese
Syllabus
Course overview and goals
This course provides an introduction to algorithms and data structures.
This course uses Python programming language to implement algorithms.
By combining lectures and exercises, the course enables students to understand the fundamentals of programming to solve computational problems.
This lecture is in Japanese.
Course description and aims
At the conclusion of this course students will be able to:
1) understand basic data structures and algorithms.
2) understand the difference in efficiency of algorithms.
3) mathematical reasoning skills for algorithm design and evaluation
Keywords
Algorithms
Competencies
- Specialist skills
- Intercultural skills
- Communication skills
- Critical thinking skills
- Practical and/or problem-solving skills
- Foundation and theory of algorithms and computation
Class flow
The first two-thids of each class is lecture and the rest for exercises of programming.
Course schedule/Objectives
| Course schedule | Objectives | |
|---|---|---|
| Class 1 | guidance |
Understanding and implementing basic algorithms and recursive functions |
| Class 2 | basic of optimization |
Introduction to continuous and combinatorial optimization |
| Class 3 | randomized algorithm |
Probability theory and randomized algorithms |
| Class 4 | graph algorithm |
foundation of graph theory and basic graph algorithms |
| Class 5 | computational complexity theory |
theory of NP-hardness |
| Class 6 | basic of linear programming |
linear programming, dual, relation to combinatorial optimization |
| Class 7 | beyond worst-case complexity |
heuristics |
Study advice (preparation and review)
To enhance effective learning, students are encouraged to spend approximately 100 minutes preparing for class and another 100 minutes reviewing class content afterwards (including assignments) for each class.
They should do so by referring to textbooks and other course material.
Textbook(s)
None required.
Reference books, course materials, etc.
Guido van Rossum: Python Tutorial.
Mark Lutz: Learning Python
Evaluation methods and criteria
Learning achievement is evaluated by exercises and tests in every lecture.
Related courses
- IEE.A207 : Computer Programming (Industrial Engineering and Economics)
Prerequisites
Only undergraduate students of Department of Industrial Engineering and Economics can attend the class.
Students must have completed Computer Programming (Industrial Engineering and Economics) or have equivalent knowledge.
Other
Please bring your PC for in-person classes. Lecture materials will be distributed in ipynb format, so it is essential to have an environment that can open ipynb files, such as creating a Google account (free), opening Google Colaboratory, or installing Jupyter Notebook (details will be explained in the first lecture).
We may also communicate primarily through Slack, so it is highly desirable to enable access to the university-wide Slack. Please refer to the following URL for instructions on how to use the university-wide Slack: