Introduction to Algorithms and Informatics

科目ナンバリング G-LAS12 80006 LE10 開講年度・開講期 2021 ・ 前期
単位数 2 単位 授業形態 講義
配当学年 大学院生 対象学生 理系向
使用言語 英語 曜時限 火1
教員 未定
授業の概要・目的 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:
1. Introduction
2. Graph traversal
3. Data compression
4. Cryptography
5. Shortest paths
6. PageRank
7. Voting systems
8. Searching
9. Sorting
10. Hash functions
11. Decision trees
12. String matching
13. Randomization
14. Course summary
15. Feedback
成績評価の方法・観点 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