MPS 11B, Winter 2014

Our goal this quarter will be to learn programming in C and the linux operating system. There are three motivations:
(i) you will need to take ECS 30 fairly soon and these are the two key ingredients in it;
(ii) programming is a very useful tool in many research projects;
(iii) we'll review some useful physics (eg simple harmonic motion) and learn some interesting new material (chaos, random walks).

All coursework will be done in class, during the assigned class time, Tuesdays 4:10 - 6:00 pm. Course location will be Physics 106 (not Olson 101).

SOME MATERIAL WE ARE LIKELY TO COVER:
Logging in and linux beginnings
Editing and hello.c
C programming- quadratic.c
C programming- intersect.c
C programming- arithmeticseries.c
C programming- Storing Numbers, Base 2
C programming- Geometric Series
C programming- Factorials
C programming- Exponentials from polynomials
C programming- sine function from polynomial
C programming- Writing to a file
C programming- do-while loops
C programming- integer arithmetic; the modulo function
C programming- root finding by bisection
C programming- a random number generator
C programming- two more random number generators
C programming- moments of random numbers
C programming- Checking random number generator visually
C programming- a first random walk
SOME EXTRA PROGRAMMING TASKS AND NOTES:
The Fibonacci Numbers
CHAOS!
Collatz Conjecture
Molecular Dynamics: Oscillations
Molecular Dynamics: Satellite Motion
Gambler's Ruin
COMPUTING GUIDES:
The vi editor
The linux operating system
Introduction to xmgrace