Physics 2200, Computational Physics
Academic Calendar and Homework Assignments

WeekLecture No.DateSubjectHomework
11Mon, Aug 27Introduction to computational physics. Course logistics. Coursera & EdX
2Wed, Aug 29Top 500 supercomputer sites.
A very short introduction to linux, I.
Popularity of programming languages.
C programming: ’Hello, world!’.
3Fri, Aug 31C programming: variables; ’for’ loops.
Fibonacci numbers.
2Mon, Sep 3Labor Day - No classes 
4Wed, Sep 5C programming: integer division. Basel sum I.
5Fri, Sep 7C programming: nested loops, functions and function declarations. Basel sum II.
36Mon, Sep 10C programming: local and global variables; scope of variables. Basel sum III.
7Wed, Sep 12 Correct programs – wrong results: use recurrence to compute a family of integrals In = ∫01 xn ex−1 dx, I.
8Fri, Sep 14Programming languages; The choice of C as the programming language for the course; C programming: conditionals. Linux: output redirection.
49Mon, Sep 17 C programming: boolean operators. Correct programs – wrong results: calculation of π by evaluating the perimeter of a regular polygon, I. Linux: graphing with gnuplot
10Wed, Sep 19 Correct programs – wrong results: calculation of π by evaluating the perimeter of a regular polygon, II. C programming: arrays, I. Use recurrence to compute a family of integrals In = ∫01 xnex−1 dx, II.
11Fri, Sep 21C programming: arrays, II; pointers. Use recurrence to compute a family of integrals In = ∫01 xnex−1 dx, II.
512Mon, Sep 24Numerical systems: decimal, octal, hexadecimal, binary. Conversion between systems. Operation with binary numbers. multiplication/division by 2, exclusive or (xor, ⊕). Bits, bytes. ASCII.
13Wed, Sep 26Introduction to cryptography. Stream ciphers. One time pad – “unbreakable” cipher.
14Fri, Sep 28Computer representation of integer and real numbers, I.
615Mon, Oct 1Computer representation of integer and real numbers, II. Machine epsilon.
16Wed, Oct 3Errors in floating point computations, I. C programming: while-loop; x++ and ++x.
17Fri, Oct 5Errors in floating point computations, II. C programming: local and global variables.
7Mon, Oct 8Midterm I.
18Wed, Oct 10 Analysis of “Correct programs – wrong results”. Kahan summation algorithm. Lessons lerned.
19Fri, Oct 12C programming: struct, I. Gnu scientific library. Experiment: estimate π; setup: CD, ruler, pen and paper, large-grain “sand”. Monte Carlo method I; calculate π using MC
820Mon, Oct 15Introduction to the physics computer lab.
21Wed, Oct 17Monte Carlo method II
22Fri, Oct 19Random number generators (RNG): requirements; empirical tests; linear congruental generators.
923Mon, Oct 22C programming: recursion, I; factorial, Fibonacci numbers.
24Wed, Oct 24C programming: recursion, II; Hanoi tower. Sorting: buble sort, quicksort.
25Fri, Oct 26Solving ODE: initial and boundary value problems; shooting method. Euler method.
10-Mon, Oct 29No classes due to hurricane Sandy
26Wed, Oct 31Solving ODE with GSL: van der Pol oscillator.
27Fri, Nov 2Solving ODE with GSL: 1D flame propagation. Stiff differential equations.
1128Mon, Nov 5Solving ODE with GSL: Lorenz chaotic attractor. Dynamic chaos.
29Wed, Nov 7Solving ODE review. Takehome Midterm II.
30Fri, Nov 9Restricted three body problem, I.
1231Mon, Nov 12Restricted three body problem, II.
32Wed, Nov 14No class – to be rescheduled.
33Fri, Nov 16Converting differential equations to dimensionless form. Restricted three body problem, III.
13-Mon, Nov 19Thanksgiving recess 
-Wed, Nov 21Thanksgiving recess 
-Fri, Nov 23Thanksgiving recess 
1434Mon, Nov 26Partial differential equations. Spinodal decomposition
35Wed, Nov 28Spinodal decomposition II: Cahn-Hilliard equation.
36Fri, Nov 30Fast Fourier Transform (FFT); Using FFT for PDEs solution.
37Fri, Nov 30Makeup class: Finite difference methods; Jacobi and Gauss-Seidel Iterations.

This document was translated from LATEX by HEVEA.