Textbook is "Computational Physics" by Mark Newman. This book is referred to as "CP" below. Additional resources will be listed. These will include many online tutorials. Please watch and read these materials -- it will save valuable class time. As a general rule you will find yourself doing much more reading in the first month and much more timing designing and coding in the subsequent months.
- Week of 08/29 "Introduction"
- 08/29
- CP 1 "Introduction"
- 08/31
- CP 2.1-2.3 "Getting Started", "Basic programming", "Controlling programs with 'if' and 'while'"
- iPython quick intro: https://youtu.be/H6dLGQw9yFQ
- 09/02
- CP 2.4-2.5 "Lists and Arrays", "'For' Loops"
- http://rogerdudler.github.io/git-guide/
- Week of 09/05 "Python"
- 09/07
- CP 2.6-2.7 "User-Defined Functions", "Good Programming Style"
- https://git-scm.com/book/en/v2/Getting-Started-About-Version-Control
- https://help.github.com/categories/bootcamp/
- https://www.youtube.com/watch?v=2g9lsbJBPEs
- 09/09
- CP 3 "Graphics and visualization"
- https://git-scm.com/book/en/v2/Git-Basics-Getting-a-Git-Repository
- Minimalist
git
guide: http://rogerdudler.github.io/git-guide/
- Week of 09/12 "Random Numbers and Monte Carlo Integration"
- 09/12
- CP 4 "Variables and Ranges", "Numerical Error", "Program Speed"
- 'Numerical precision and "Big Data"' by Erich Schubert
http://www.vitavonni.de/blog/201311/2013110201-numerical-precision-and-big-data.html - "What Every Computer Scientist Should Know About Floating-Point Arithmetic"
David Goldberg, 1991.
http://docs.oracle.com/cd/E19957-01/806-3568/ncg_goldberg.html- Read up through and including "Relative Error and Ulps"
- 09/14
- CP 10 "Random numbers"
- 09/16
- CP 10 "Monte Carlo integration"
- Week of 09/19 "Numerical Integration"
- 09/19
- CP 5.1, 5.2, 5.3, 5.4 "Fundamental methods for evaluating integrals", "Errors on integrals", "Choosing the number of steps", "Romberg integration"
- 09/21
- CP 5.5, 5.6, 5.7 "Higher-order integration methods", "Gaussian quadrature", "Choosing an integration method"
- 09/23
- Why to Test your Code, How to Test your Code
- Week of 09/26 "Numerical Differentiation"
- 09/26
- CP 5.10.1-5.10.3 "Derivatives" (Part 1): "Forward and backward differences", "Errors", "Central differences", "HIgher-order approximations for derivatives"
- 09/28
- CP 5.10.4-5.10.7 "Derivatives" (Part 2): "Second derivatives", "Partial derivatives", "Derivatives of noisy data"
- Week of 10/03
- 10/05
- 10/07
- Week of 10/10 "Ordinary differential equations"
- 10/10
- CP 8.1 "First-order differential equations with one variable"
- 10/12
- CP 8.2 "First-order differential equations with more than one variable"
- Week of 10/17 "Partial differential equastions"
- 10/17
- CP 9.1 "Boundary value problems and the relaxation method"
- 10/19
- CP 9.2 "Faster methods for boundary value problems"
- 10/21
- CP 9.3 "Initial value problems"
- Week of 10/24
- 10/24
- CP 7.1, 7.2 "Fourier series", "The discrete Fourier transform"
- lectures/week_09/M_Math_Phys_and_AHDN.pdf
- 10/26
- CP 7.3, 7.4 "Discrete cosine and sine transforms", "Fast Fourier transforms"
- Week of 10/31
- Week of 11/07
- Week of 11/14
- Week of 11/21
- Week of 11/28
- Week of 12/05