Physics 329: Introduction to Computational Physics: Proposed Syllabus
Unix: 2 weeks
- Week 1: Overview, Unix basics (filesystems, commands, standard I/O, X-interface ...)
- Week 2: Basic shell programming and Web authoring.
Maple/Mathematica: 3 weeks
- Week 3: Introduction, command-line and GUI interfaces, basic
commands and interactive problem solving.
- Week 4: Basic Maple/Mathematica programming.
- Week 5: Plotting facilities, interfacing with other systems,
Scientific Programming (F77/F90/C): 3 weeks
- Week 6: Use of target language in Unix environment (compilation, linking,
make, RCS ...), basic programming elements (variables, basic statement
types, control structures ...)
- Week 7: Modularization (functions/subroutines), arrays and other
data structures useful in scientific programming.
- Week 8: Integration and interaction of programs with other
tools (plotting packages, visualization packages, Maple/Mathematica ...),
porting and testing codes on different architectures/machines.
Solution of Linear Systems: 1 week
- Week 9: The LU decomposition algorithm, using "canned" software for solving
full linear systems, applications (circuit analysis ...)
Elementary Finite Difference Methods: 2 weeks
- Week 10: The nature of discrete equations derived from continuum systems,
expected behaviour of FD approximations (convergence & accuracy),
- Week 11: Numerical differentiation and numerical integration, applications.
Non-linear Equations (Root Finding): 1 week
- Week 12: Bisection (binary search), Newton's method, Newton's method for systems of
Particle Simulations: 1 week
- Week 13: Typical equations of motion for interacting particle systems,
discretization of EOM, applications (n-body gravitational problem ...).
Solution of ODEs: 1 week
- Week 14: Using "canned" software to solve ODEs and simple systems of
Random Numbers, Monte Carlo and Stochastic Methods: 1 week
- Week 15: Random number generators, generating non-uniformly distributed
random numbers, simple Monte Carlo simulations (diffusion limited