|
| Week | Lecture No. | Date | Subject | Homework |
|
|
|
1 | 1 | Mon, Aug 26 | Introduction to computational
physics. Course logistics.
| |
|
| 2 | Wed, Aug 28 | A very short introduction to linux, I.
C programming I: ’Hello, world!’.
| |
|
| 3 | Fri, Aug 30 | C programming: variables;
input and output; printf and scanf.
| |
|
|
|
2 | – | Mon, Sep 2 | Labor Day - No classes | |
|
| 4 | Wed, Sep 4 | C programming:
| HW01 due |
|
| 5 | Fri, Sep 6 | C programming: conditionals;
branching and looping;for loop;
Fibonacci numbers.
| |
|
|
|
3 | 6 | Mon, Sep 9 | C programming:
while loop; operators. Machine є. Correct programs –
wrong results: use recurrence to compute a family of
integrals In = ∫01 xn ex−1 dx, I.
| |
|
| 7 | Wed, Sep 11 | C programming:
local and global variables; scope of variables;
functions and function declarations, I;
integer division;
| |
|
| 8 | Fri, Sep 13 |
C programming: functions and
function declarations, II;
function prototypes.
| |
|
|
|
4 | 9 | Mon, Sep 16 |
C programming: arrays.
Correct programs – wrong results: calculation of
π by evaluating the perimeter of a regular
polygon, I.
| HW02 due |
|
| 10 | Wed, Sep 18 | C programming: strings, I.
Correct programs – wrong results: calculation of
π by evaluating the perimeter of a regular
polygon, II. Linux: output redirection;
graphing with gnuplot; make and makefiles, I.
| |
|
| 11 | Fri, Sep 20 | C programming:
structures.
| |
|
|
|
5 | 12 | Mon, Sep 23 | Numerical systems:
decimal, octal, hexadecimal, binary. Conversion
between systems. Bits, bytes.
| HW03 due |
|
| 13 | Wed, Sep 25 | ASCII. Bitwise operations in C:
and (&), or (|), left shift (<<),
right shift (>>), exclusive or (^, xor, ⊕).
Introduction to cryptography: historical ciphers.
| |
|
| 14 | Fri, Sep 27 | Introduction to
cryptography: historical ciphers, II. C programming:
command line arguments.
| |
|
|
|
6 | 15 | Mon, Sep 30 | Introduction to
cryptography: random binary numbers;
one time pad – “unbreakable” cipher.
Huffman coding.
| HW04 due |
|
| 16 | Wed, Oct 2 | Huffman coding.
| |
|
| 17 | Fri, Oct 4 | Computer representation
of integers.Two’s complement.
| |
|
|
|
7 | – | Mon, Oct 7 | Midterm I.
| HW05 due |
|
| 18 | Wed, Oct 9 | Midterm review
| |
|
| 19 | Fri, Oct 11 | Algorithms: sorting;
bubble sort. Performance of algorithms; asymptotic analysis. Big-Oh
notation; C programming: recursion, I; Hanoi Tower game
| |
|
|
|
8 | 20 | Mon, Oct 14 | Algorithms: sorting;
merge sort; Divide and conquer algorithms I.
C programming: recursion, II.
| |
|
| 21 | Wed, Oct 16 | Divide and conquer algorithms, II;
The master theorem. Long multiplication.
| |
|
| 22 | Fri, Oct 18 | C programming:
multidimensional arrays
| |
|
|
|
9 | 23 | Mon, Oct 21 | Computer representation
of floating point numbers.
| HW6 due |
|
| 24 | Wed, Oct 23 | Computer representation
of floating point numbers and errors in numerical algorithms.
| |
|
| 25 | Fri, Oct 25 | General errors in numerical
algorithms, II.
| |
|
|
|
10 | 26 | Mon, Oct 28 | C programming: pointers, I.
| HW7 due |
|
| 27 | Wed, Oct 30 | C programming: pointers, II;
dynamic data structures.
Programming tools: valgrind
| |
|
| 28 | Fri, Nov 1 | C programming: dynamic data
structures, II.
| |
|
|
|
11 | 29 | Mon, Nov 4 | Monte Carlo methods.
Random number generators. Takehome Midterm II.
| |
|
| 30 | Wed, Nov 6 | Monte Carlo methods II.
| |
|
| 31 | Fri, Nov 8 | Numerical integration:
midpoint, trapezoidal, Simpson’s, Newton-Cotes rules vs. Monte
Carlo integration.
| |
|
|
|
12 | 32 | Mon, Nov 11 | Numerical solution of
ordinary differential equations, I.
| |
|
| 33 | Wed, Nov 13 | Van der Pol oscillator, I.
limit cycles.
| |
|
| 34 | Fri, Nov 15 | Van der Pol oscillator, II.
Weak nonlinearity; method of averaging.
| HW8 due |
|
|
|
13 | 35 | Mon, Nov 18 | Numerical solution of
ordinary differential equations - flame propagation;
stiff ODE.
| |
|
| 36 | Wed, Nov 20 | Dynamic chaos. Lorenz system
| |
|
| 37 | Fri, Nov 22 |
| HW9 due |
|
|
|
14 | - | Mon, Nov 25 | Thanksgiving recess | |
|
| - | Wed, Nov 27 | Thanksgiving recess | |
|
| - | Fri, Nov 29 | Thanksgiving recess | |
|
|
|
15 | 38 | Mon, Dec 2 | Restricted three body
problem, I.
| |
|
| 39 | Wed, Dec 4 | Restricted three body
problem, II.
| |
|
| 40 | Fri, Dec 6 | Public key kryptography
| |
|
|
|