2024 Advanced Computer Programming

Font size  SML

Register update notification mail Add to favorite lecture list
Academic unit or major
Undergraduate major in Industrial Engineering and Economics
Instructor(s)
Shioura Akiyoshi  Shimizu Nobutaka 
Class Format
Lecture / Exercise     
Media-enhanced courses
Day/Period(Room No.)
-
Group
-
Course number
IEE.A230
Credits
2
Academic year
2024
Offered quarter
3Q
Syllabus updated
2024/3/14
Lecture notes updated
-
Language used
Japanese
Access Index

Course description and aims

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.

Student learning outcomes

At the conclusion of this course students will be able to:
1) learn how to use the Python language.
2) understand basic data structures and algorithms.
3) understand the difference in efficiency of algorithms.
4) implement computing algorithms to solve problems.

Keywords

Python, Programming, Algorithms

Competencies that will be developed

Specialist skills Intercultural skills Communication skills Critical thinking skills Practical and/or problem-solving skills
Several algorithms and the ability to translate an algorithm into a Python-code.

Class flow

The first two-thids of each class is lecture and the rest for exercises of programming.

Course schedule/Required learning

  Course schedule Required learning
Class 1 guidance review (numbers, strings, list, for, if) exercise Understand the standard usage of Python and the notion of recursion.
Class 2 computational complexity and graph exercise Understand the notation of computational complexity and graphs.
Class 3 depth-first search and breadth-first search exercise Understand and implement the depth-first search and breadth-first search
Class 4 greedy algorithms exercise Understand greedy algorithms and Kruskal algorithms.
Class 5 shortest path problem exercise Understand the shortest path problem and algorithms (Dijkstra algorithm, Bellman-Ford algorithm, and Warshall-Floyd algorithm)
Class 6 dynamic programming exercise Understand the technique of dynamic programming and solve problems using it.
Class 7 maximum flow problem exercise Understand the maximum flow problem and algorithms.

Out-of-Class Study Time (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

Assessment criteria and methods

Learning achievement is evaluated by exercises in every lecture.

Related courses

  • IEE.A207 : Computer Programming (Industrial Engineering and Economics)

Prerequisites (i.e., required knowledge, skills, courses, etc.)

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:

Page Top