In this course, we will explain the mathematical notation used in the analysis and design of algorithms, and explain how to use several basic formulas used repeatedly. Even for students who are not interested in mathematical theories, let them understand the meaning of various formulas so that they can make use of the results of their mathematical research. At the same time, we train the students in order to obtain the ability to learn by themselves and acquire knowledge. Therefore, in the class, we do not explain course textbooks, but teach how to use knowledge you learned through exercises. When the students graduate from the university and go to the real society, it is almost impossible to be taught by someone, and this course prepares for the fact that there is no way to acquire new knowledge other than learning by reading books.
At the end of this course, students will be able to:
1) Acquire the mathematical technique used to analyze the algorithm.
2) Understand the usage and meaning of basic formula in discrete mathematics.
3) Solve specific problems by utilizing learned knowledge.
discrete mathematics, recurrences, sums, number theory, binomial coefficients, Starling numbers, harmonic numbers, Fibonacci numbers, generating functions
✔ Specialist skills | Intercultural skills | Communication skills | Critical thinking skills | ✔ Practical and/or problem-solving skills |
In the class, we do not explain the course textbooks, but teach how to use knowledge you learned through exercises. To maximize the efficiency of the class, be sure to peruse the course textbooks.
Course schedule | Required learning | |
---|---|---|
Class 1 | Recurrent Problems | Peruse Sec.1 through Sec.3 of the course textbook 2 before coming to class. |
Class 2 | Sums 1 | Peruse Sec.4 and Sec.5 of the course textbook 2 before coming to class. |
Class 3 | Sums 2 | Peruse the rest of the course textbook 2 before coming to class. |
Class 4 | Sums 3 | Peruse all the course textbook 3 before coming to class. |
Class 5 | Integer Functions | Peruse Sec.1 through Sec.6 of the course textbook 4 before coming to class. |
Class 6 | Number Theory 1 | Peruse the rest of the course textbook 4 before coming to class. |
Class 7 | Number Theory 2 | Peruse Sec.1 of the course textbook 5 before coming to class. |
Class 8 | Binomial Coefficients 1 | Peruse Sec.2 of the course textbook 5 before coming to class. |
Class 9 | Binomial Coefficients 2 | Review the textbooks 1 through 4. |
Class 10 | Review and Small Examination | Peruse Sec.3 of the course textbook 5 before coming to class. |
Class 11 | Binomial Coefficients 3 | Peruse Sec.1 of the course textbook 6 before coming to class. |
Class 12 | Special Numbers 1 | Peruse the rest of the course textbook 6 before coming to class. |
Class 13 | Special Numbers 2 | Peruse all the course textbook 7 before coming to class. |
Class 14 | Generating Functions | Review the textbooks 5 through 7. |
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.
Course materials are provided during class. All materials used in class can be found on OCW-i.
R. L. Graham, D. E. Knuth, and P. Patashnik, Concrete Mathematics, Addison-Wesley, 1989.
D. E. Knuth, The Art of Computer Programming, Volume 1, 3rd. Edition, Addison-Wesley, 1998.
Students’ course scores are based on mid-term exam (50%) and final exam (50%).
No prerequisites.