Programming Meets Mathematics (a.k.a. Python Meets Mathematics) is an intuitive tutorial on Python and its widely used libraries such as NumPy, Matplotlib, and SciPy. Python with these libraries are commonly used in scientific computing (sometimes as an alternative of MATLAB). In addition to review these libraries, this tutorial aims to promote intuitive understanding of important mathematical concepts with code examples. The given example codes in Python provide visualization and simulation, which will connect your mathematical understanding to your programming skill.
This tutorial has been initiated as a course to teach 2nd-year undergraduate students in Computer Science and Engineering Department in SEOULTECH. The course also includes a brief introduction to machine learning and deep learning as available in dl_tutorial.
- To install prerequisites in Python:
pip install -r requirements.txt
- To clone this repository (codes and slides):
git clone https://github.com/mint-lab/prog_meets_math.git
- To fork this repository to your Github: Click here
- To download codes and slides as a ZIP file: Click here
- Section 1. Python: Basic
- Section 2. Python: From Beginner to Intermediate
- Section 3. Python: Standard Library
- Section 4. Python Meets Math: Calculus
- Section 5. Python Meets Math: Linear Algebra
- Section 6. Python Meets Math: Optimization
- Section 7. Python Meets Math: Probability
- 📝 Note) Only long example codes are contained as follows. Short code snipets are shown in the given slides directly.
-
Section 1. Python: Basic [slides]
- Lab) Korean COVID-19 New Cases by Region [slide] [skeleton_code]
-
Section 2. Python: From Beginner to Intermediate [slides]
- Mean and variance
- Lab) Midterm and Final Exam Analysis [slide] [skeleton_code]
-
Section 3. Python: Standard Library [slides]
- A very simple chatbot
- Turtle painter
- Face detection using OpenCV
- Lab) Turtle Runaway [slide] [skeleton_code]
-
Section 4. Python Meets Math: Calculus [slides]
- Turtle animation
- Lab) Midterm and Final Exam Visualization [slide] [skeleton_code]
-
Section 5. Python Meets Math: Linear Algebra [slides]
- Line fitting
- Curve fitting
- Curve fitting with model selection
- Lab) Final Exam Score Prediction [slide] [skeleton_code]
-
Section 6. Python Meets Math: Optimization [slides]
- Finding a local minimum
$y=0.1x^3-0.8x^2-1.5x+5.4$ - Line fitting with minimizing geometric distance
- Lab) Multivariate Nonlinear Optimization [slide] [skeleton_code]
- Finding a local minimum
- Section 7. Python Meets Math: Probability [slides]