Physics 2200, Computational Physics
Academic Calendar and Homework Assignments

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

This document was translated from LATEX by HEVEA.