Based on the methodology of Nicholas J. Giordano
This course introduces students to computational techniques and numerical methods for solving diverse physics problems that go beyond analytical approaches. The curriculum uses the pedagogical framework of Nicholas J. Giordano, focusing on how computation can expand and deepen physical understanding through simulation and analysis1.
Upon completion, students will:
- Understand the role of computation in modern physics.
- Develop the ability to translate physical problems into algorithms.
- Apply standard numerical methods (e.g., root finding, integration, differentiation, differential equations, Monte Carlo methods) to solve physical systems.
- Visualize and interpret computational results.
- Gain proficiency in scientific programming and computational thinking2.
Module | Topics and Skills |
---|---|
Introduction & Programming | Basics of computational thinking in physics. Introduction to programming languages (typically Python or MATLAB). Algorithms, data visualization. |
Numerical Methods | Root-finding (bisection, Newton-Raphson), interpolation (polynomials, Lagrange), least squares and data fitting, numerical integration (trapezoidal, Simpson’s rule), ordinary differential equations (Euler, Runge-Kutta). |
Classical Mechanics | Applications: projectile motion, oscillatory systems, planetary motion, chaos, and dynamical systems. Simulation of Newtonian and nonlinear systems34. |
Random Processes | Monte Carlo simulations, random walks, diffusion, nuclear decay, statistical mechanics foundations. |
Electromagnetism & Quantum | Simulation of electrostatics, fields, basic quantum systems (time-dependent and independent Schrödinger equations). |
Advanced Topics | Fourier transforms, partial differential equations, complex systems (e.g., Ising model, cellular automata, phase transitions)1. |
- Interactive lectures on physical and numerical concepts.
- Hands-on programming labs and coding assignments.
- Guided projects replicating textbook simulations and exploring new scenarios.
- Visualization of results to develop intuition for numerical solutions2.
- Problem sets and coding assignments
- Mid-term exam on theory and implementation
- Project: formulation, coding, and reporting of a computational solution to a relevant physical problem
- Computational Physics (2nd Ed.), Nicholas J. Giordano & Hisao Nakanishi1
- Classical and quantum simulations are not solvable analytically
- Visualization of complex system behavior
- Statistical and stochastic physics
- Project-based investigations in modern research topics
- Introductory physics
- Calculus (single and multivariable)
- Basic programming (not mandatory, but helpful; the course often includes a rapid introduction to coding fundamentals)2
This course leverages computation to make physical concepts tangible and equips students for advanced careers or research in physics and related disciplines12.
Footnotes
-
https://www.mathworks.com/academia/books/computational-physics-giordano.html ↩ ↩2 ↩3 ↩4
-
https://class-descriptions.northwestern.edu/4930/WCAS/PHYSICS/28874 ↩ ↩2 ↩3 ↩4
-
https://nust.edu.pk/wp-content/uploads/course_content_files/340753870_PHY-930%20%20%20Computational%20Physics%20.pdf ↩
-
https://www.ndsu.edu/fileadmin/physics.ndsu.edu/PDF_FILES/Detailed_Course_Descriptions/Phys370.pdf ↩