Lecture 01 - Computers and programming languages introduction
- Class goals and structure
- Computers introduction
- Programming languages overview
- Discretization - the main weakness of computers
- Binary representation
Lecture 02 - Introduction to Matlab
- Matlab as a fancy calculator
- Efficient editing
- Help related commands
- Operator precedence
- Matrices
- Colon (:) operator
- Plotting
- Special array arithmetic operators
Lecture 03 - Boolean algebra, conditional statements, loops.
- Boolean algebra
- Comparison operators
- Conditional statements
- Loops
- Series
Lecture 04 - Functions and scripts
- Scripts
- Functions
- Saving and loading variables
Lecture 05 - Root finding
- Root finding problem
- Bisection method
- False position method
- Solution convergence
Lecture 06 - Root finding continued
- Secant method
- Newton-Raphson method
- Numerical derivative of a function
- Ridders method
- Root finding algorithms gotchas
- Root finding algorithms summary
Lecture 07 - Numerical integration
- Integration problem statement
- The Rectangle method
- Trapezoidal method
- Simpson method
Lecture 08 - Numerical integration continued
- Monte Carlo Integration
- Numerical Integration methods error estimates
- Multidimensional integration
- Matlab functions for integration
Lecture 09 - Practical example: diffraction
- Practical example: diffraction
Lecture 10 - Practical example: diffraction
- Practical example: diffraction - continued
Lecture 11 - Random number generators and random processes
- Statistic and probability intro
- Random number generators
Lecture 12 - Monte Carlo simulations
- Coin flipping bets
- Anonymous function and their use
- Matlab arrayfun
- The Monty Hall Paradox
- Disease spread
Lecture 13 - Optimization problem
- Introduction to optimization
- Matlab built in 1D minimization - fminbnd
- 1D optimization - golden section search
Lecture 14 - Multi-D optimization problem
- Multi-D optimization
- Matlab built in Multi-D minimization - fminsearch
- Sample problems
Lecture 15 - Data reduction and fitting
- Goodness of the fit
- Parameter uncertainty estimations
- Homemade implementation of the fitter
- Matlab built-ins
Lecture 16 - Data analysis example
Lecture 17 - Combinatorial optimization
- Introduction to the combinatorial problem
- Backpack problem - brute force approach
- Traveling salesman problem
- Permutation generating algorithm
Lecture 18 - Simulated annealing/Metropolis and genetic optimization
- Simulated annealing/Metropolis algorithm
- Genetic algorithm
Lecture 19 - Ordinary Differential equations
- ODE - ordinary differential equations
- Cauchy boundary conditions
- Euler’s method
Lecture 20 - Ordinary Differential equations continued
- The second-order Runge-Kutta method (RK2)
- The forth-order Runge-Kutta method (RK4)
- Matlab functions for ODEs
Lecture 21 - System of linear algebraic equations
Lecture 22 - Data interpolation
- Nearest neighbor interpolation
- Linear interpolation
- Polynomial fit
- Cubic spline interpolation
- Matlab built in interpolation
- Extrapolation
Lecture 26 - Digital filters
- Speed of FFT
- Low-pass filter
- High-pass filter
- Band-pass filter
- Band-stop filter
- Brick wall filters artifacts
- Windowing
- Other DFT applications
Lecture 27 - Sorting
- Bubble sort method
- Quick sort method
- Heap
- Heap sorting method
- Vector heap representation
- Matlab built in ‘issorted’
Lecture 28 - Computer Architecture. Secure communication and encryption.
- Computer Architecture
- Secure communication and encryption.