Introduction to Algorithms and Informatics
Numbering Code | G-LAS12 80006 LE10 | Year/Term | 2022 ・ First semester |
---|---|---|---|
Number of Credits | 2 | Course Type | Lecture |
Target Year | Graduate students | Target Student | For science students |
Language | English | Day/Period | Tue.1 |
Instructor name | Jesper Jansson (Graduate School of Informatics Program-Specific Associate Professor) | ||
Outline and Purpose of the Course |
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 for graduate students. 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. |
||
Course Goals |
After completing this course, the student should be able to: - Apply various algorithm design techniques for solving computational problems. - Prove the correctness of an algorithm and measure its efficiency. - Explain how famous algorithms such as Prim's algorithm, Quicksort, the Karp-Rabin algorithm, and Graham's scan work. |
||
Schedule and Contents |
The course will cover the following topics: 1. Introduction 2. Divide-and-Conquer 3. Greedy Algorithms 4. Dynamic Programming 5. Randomized Algorithms 6. Advanced Sorting Algorithms 7. Amortized Analysis 8. String Matching 9. Efficient Data Structures 10. Computational Geometry 11. NP-Completeness 12. Approximation Algorithms 13. Course summary 14. Q & A session < 15. Feedback |
||
Evaluation Methods and Policy | A written examination at the end of the course. | ||
Course Requirements |
An ability to think abstractly and to solve problems of a mathematical nature will be required for this course. No programming skills are needed. |
||
Study outside of Class (preparation and review) | Students will be expected to spend about 5 hours per week to prepare for and review the lessons. | ||
References, etc. |
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 |