The purposes of the first half of this class are to learn a basic programming technique of Python and to be able to make programs for numerical analysis by succeeding "Programming and numerical analysis". Students learn from basic grammar of Python to data structures such as list and array. Also, students learn algorithms of numerical analysis and machine learning, and learn to programs with these techniques.
The purpose of the second half of this class is to develop more practical abilities by succeeding "Programming and numerical analysis".Students will also gain an understanding of the basic algorithm of familiar and applied topics such as optimization and matching theory.
Students can obtain the following abilities by this lecture
(1) Basic grammar of Python
(2) Algorithms of numerical simulation, machine learning, optimization
(3) Basic programming
Programming, Numerical analysis, Algorithm, Python, Machine learning, Optimization
✔ Specialist skills | Intercultural skills | Communication skills | Critical thinking skills | ✔ Practical and/or problem-solving skills |
In the beginning part of each class, students learn about grammar of a programming language and algorithms. After that, make programs based on them.
Course schedule | Required learning | |
---|---|---|
Class 1 | Basic grammar and control of Python | Be able to make simple programs of Python with branch and loops. |
Class 2 | Basic structure and numerical calculations | Be able to make programs of Python with list and array, and numerical calculation using NumPy and SciPy. |
Class 3 | Function and class | Be able to define and use the function and the class in Python programming. |
Class 4 | Machine learning with Python | Be able to do simple machine learning with Python. |
Class 5 | Introduction to optimization (Gradient descent) | Be able to write a program of gradient descent. |
Class 6 | Genetic Algorithm | Be able to write a basic program of genetic algorithm |
Class 7 | Matching theory | Be able to write a program of Gale-Shapley algorithm. |
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
John V. Guttag, "Introduction to Computation and Programming Using Python," MIT Press, 2013.
Learn programming and be able to make programs by using algorithms of numerical analysis.
Practices and reports (100%)
None