Physics 329: Introduction to Computational Physics: Course Topics
Unix & Overview: 3 lectures
- Overview of course goals, philosophy of scientific computing
- Unix fundamentals for scientific computing
Maple: 3 lectures
- Use of a modern "symbolic manipulation" language for routine
computations
- Maple as a powerful environment for exploratory scientific programming
Scientific Programming: 7 lectures
- Fortran 77 and C programming of simple scientific applications
- Numerical computation concerns: error analysis and bug-proofing
strategies
- Integration and interaction of Fortran/C programs with other
tools ("make", "sort", graphing programs, maple, etc.)
- Porting code to different architectures
Solution of Linear Systems: 3 lectures
- The LU decomposition algorithm
- Using "canned" software for solving linear systems
- Solution of tridiagonal and banded-systems
Finite Difference (FD) Methods: 5 lectures
- The nature of discrete equations derived from continuum systems
- Expected behaviour of FD approximations (convergence & accuracy)
- Polynomial Interpolation
- Numerical differentiation and numerical integration
Non-linear Equations (Root Finding): 2 lectures
- Bisection (binary search)
- Newton's method
- Newton's method for systems of non-linear equations
Cellular Automata (CA) Simulation: 3 lectures
- Definition and description of CA systems
- Simulation and visualization of 1-D CA systems
- Recent applications
Particle Simulations: 3 lectures
- Typical equations of motion for interacting particle systems
- Discretization of equations of motion
- Application: The n-body gravitational problem
Solution of ODEs: 5 lectures
- Review of ODE theory
- Canonicalizing systems of ODEs
- Using "canned" software to solve systems of ODEs
- Applications
Random Numbers, Monte Carlo and Stochastic Methods: 4 lectures
- Random number generation and trustworthiness
- Generating non-uniformly distributed random numbers
- Simple Monte Carlo algorithms
- Simulation and visualization of diffusion-limited aggregation