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
This document was translated from LATEX by HEVEA.