This course provides an introduction of algorithms and data structures.
This course uses Python programming language to implement algorithms.
By combining lectures and exercises, the course enabls students to understand the fundamentals of programming to solve computational problem.
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.
Python, Programming, Algorithms
✔ 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. |
The first two-thids of each class is lecture and the rest for exercises of programming.
Course schedule | Required learning | |
---|---|---|
Class 1 | guidance review (numbers, strings, list, for, if) exercise | Understand the standard usage of Python. |
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. |
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.
None required.
Guido van Rossum: Python Tutorial.
Mark Lutz: Learning Python
Learning achievement is evaluated by exercises in every lecture.
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.
Bring your own laptop PC when you attend a lecture at the university.
You should have your own google account since the lecture notes are based on Google Colaboratory.