Introduction to Algorithms and Informatics
|科目ナンバリング||G-LAS12 80006 LE10||開講年度・開講期||2021 ・ 前期|
|授業の概要・目的||An algorithm is a well-defined procedure for solving a computational problem. Reliable algorithms have become crucial components of people's daily lives; for example, the Internet or our smartphones would not work without them. The purpose of this course is to provide a basic introduction to algorithms. General techniques for designing algorithms and analyzing their efficiency, as well as examples of widely used algorithms with important real-life applications, will be presented.|
After completing this course, the student should be able to:
- Apply various algorithm design techniques for solving computational problems.
- Measure the efficiency of an algorithm.
- Explain how famous algorithms such as Google's PageRank, Quicksort, and Dijkstra's shortest-path algorithm work.
The course will consist of the following topics:
2. Graph traversal
3. Data compression
5. Shortest paths
7. Voting systems
10. Hash functions
11. Decision trees
12. String matching
14. Course summary
|成績評価の方法・観点||A written examination at the end of the course.|
|履修要件||An ability to think abstractly and to solve problems of a mathematical nature will be required for this course. No programming skills are needed.|
|授業外学習（予習・復習）等||Students will be expected to spend about 5 hours per week to prepare for and review the lessons.|
Real-World Algorithms - A Beginner's Guide, P. Louridas, (The MIT Press, 2017), ISBN:978-0262035705
Introduction to Algorithms, 3rd edition, T. H. Cormen, C. E. Leiserson, R. L. Rivest and C. Stein, (The MIT Press), ISBN:978-0262033848