Academic Calendar and Homework Assignments

WeekLecture No.DateSubjectHomework1 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 classes4 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 I= ∫_{n}_{0}^{1}x^{n}e^{x−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 I= ∫_{n}_{0}^{1}x^{n}e^{x−1}dx, II.

11 Fri, Sep 21 C programming: arrays, II; pointers. Use recurrence to compute a family of integrals I= ∫_{n}_{0}^{1}x^{n}e^{x−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 recess14 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 L^{A}T_{E}X by H^{E}V^{E}A.