"The purpose of computing is insight, not numbers."

- Richard Hamming

> Class and extra material:

 Lecture Topic Class notes Links & extra 1 Course Intro, programming languages, C basics Lec 1 Snake in 5 minutes, Dinosaurs in 3 minutes 2 Variable representation, precision, accuracy, stability, variable scope 1 Lec 2 Golden ratio, Roundoff disasters 3 Variable scope 2, referencing, arrays, recursion, dynamical programming, interpolation and extrapolation motivation Lec 3 C (de) referencing, scope 4 Polynomial and rational interpolation, searching an ordered table, reading NR codes Lec 4 Interpolation in Matlab 5 Interpolation: spline, and multiple dimensions; Integration: Newton-Cotes formulae Lec 5 Integration in Matlab 6 Newton Cotes algorithms, Richardson extrapolation, Romberg open+closed methods, improper integrals, using Gaussian quadrature Lec 6 P vs. NP 7 Orthogonal polynomials, Gaussian quadrature, integration in multiple dimensions, Monte Carlo 1 Lec 7 Monte Carlo examples 8 Monte Carlo 2: generalizations, examples, variance reduction, importance and stratified sampling Lec 8 Mandelbrot zoom: short, long Randomness 9 Diffusion problems with MC, working with data, moments of a distribution, Student t-test Lec 9 Student t-test 10 MCMC, pitfalls in statistics, chi-squared test, KS-test, maximal likelihood Lec 10 Simpson's paradox 11 Chi-squared minimization, root finding: bracketing, bisection, secant, false position, Brent, Newton-Raphson Lec 11 2D bracket 12 Root finding in multiple dimensions: Newton-Raphson, Broyden; Optimization: bracketing, golden-section, Brent, steepest descent Lec 12 Newton optimization 13 Optimization: conjugate vectors, quasi-Newton, simulated annealing. ODEs: Euler, Runge-Kutta, explicit vs. implicit methods, stiff equations, adaptive step, Bulirsch-Stoer Lec 13 ODEs in gaming 14 Review Review

## Software access

• Visual C, Matlab, and Mathematica are installed on most BGU computers.
• Matlab and Mathematica are available within BGU campus and dorms on any mobile device through https://apps.bgu.ac.il/.
• Compile C online using onlineGDB or ideone.com or codepad.org.
• To compile C on your machine, first install a compatible compiler. For Windows machines, use command line compilation (invoke "Command Prompt" from the start button; you may need to install Visual Studio first).
• For those who wish to strengthen their skills in Matlab, we suggest the Onramp tutorial. You will be asked to create a (free) account for Mathworks-online and invent a login name. Parts 1-10 provide the basic skills needed for the course.
Another self-tutorial may be found here. And if you're still looking for more, try this.
• A C tutorial is also available.