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.
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.