To Top Page

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
foundation of algorithms
exercise

Understanding and implementing basic algorithms and recursive functions

Class 2

basic of optimization
exercise

Introduction to continuous and combinatorial optimization

Class 3

randomized algorithm
exercise

Probability theory and randomized algorithms

Class 4

graph algorithm
exercise

foundation of graph theory and basic graph algorithms

Class 5

computational complexity theory
exercise

theory of NP-hardness

Class 6

basic of linear programming
exercise

linear programming, dual, relation to combinatorial optimization

Class 7

beyond worst-case complexity
exercise

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: