You already took Calculus classes and learned how to find the perfect derivative, the elegant area under a curve using pen and paper, optimize problems, and solve differential equations. It is clean and precise, but in the real world, it falls short. Most high-level problems in physics, engineering, and biology do not have a neat "back-of-the-book" answer. Instead, they are messy, chaotic, and mathematically impossible to solve by hand. This is where we stop being mathematicians and start being engineers. In Computational Methods, we use tools you learned in Calculus to build the engine that takes over when analytical math hits a wall. We start learning how machines actually represent numbers and why those tiny rounding errors can occasionally crash a rocket. From there, we move into the art of the approximation. You will learn how to use Taylor polynomials to implement industry-standard methods to analyze complex problems with no analytical solution. Using Python and the powerful NumPy/SciPy ecosystem, you will transform abstract theories into high-performance simulations. Whether we are solving differential equations, fitting data with non-linear models, or potentially diving into advanced applied math topics, you will learn how to make a computer do the heavy lifting without it falling into a pit of numerical instability.
Numeric Representation and Computer Architecture
a. Binary, Octal, and Hexadecimal Representations and Arithmetic
b. Integer and Floating Point Representations and Arithmetic
c. Machine Epsilon
Programming in Python
a. Review of basic concepts
b. Special packages: Matplotlib, Numpy, Scipy
Finding Polynomial Roots
a. Bisection Method
b. Newton-Raphson Method
c. Fixed-Point Method
d. Secant Method
e. Convergence analysis
Numerical Integration
a. Risch’s Algorithm
b. Trapezoidal Rule
c. Simpson’s Rule
Numerical Differentiation
a. Taylor expansion
b. First, second, and fourth-order schemes
c. Truncation error
d. Roundoff error
Solving Ordinary Differential Equations (ODEs)
a. Analytical methods for first-order ODEs
b. Computational Methods for first-order ODEs - Initial Value Problem (IVP):
i. Euler’s Method
ii. Predictor-Corrector Methods
iii. Heun’s Method iv. Runge-Kutta Methods v. Error analysis
c. Analytical methods for second-order ODEs
d. Computational Methods for second-order ODEs - Initial Value Problems (IVP):
i. Second-order ODE as a system of two First-order ODEs
ii. Euler’s Method
iii. Predictor-Corrector Methods
iv. Heun’s Method v. Euler-Cromer Method
vi. Error analysis
e. Computational Methods for second-order ODEs - Boundary Value Problem (BVP):
i. Finite Difference Method
ii. Error analysis
Special Topics
a. Interpolation
i. Linear and quadratic interpolations
ii. Cubic splines
b. Image Processing
c. Radiomics analysis
d. Matrix Algebra (these topics are taught in the Linear Algebra class)
i. Introduction to Matrix Algebra
ii. Gaussian Elimination Method
iii. LU Decomposition Method
e. Regression (these topics are taught in the Linear Algebra class)
i. Linear Regression
ii. Non-linear regression
While the core of the course consists of Units 1–6, some special topics will be covered depending on available instructional days and students’ interests.