Course notes

Lecture 1: Basic data types
[R code]   [Reading: Matloff Chapter 1, 2, 3.1, 3.2, 3.4-3.7, 4.1-4.3, 5.1, 5.2]

Lecture 2: Flow control and looping
[R code]   [Reading: Matloff Chapter 7.1, 7.2, 2.9]

Lecture 3: Regular expressions
[R code]   [Reading: Matloff Chapter 11.2]   [regex tester 1, regex tester 2, regex cheatsheet]

Lecture 4: Text representations and data Frames
[R code]   [Reading: Matloff Chapter 11.1, 6.1, 5.1]

Lecture 5: Writing and calling functions
[R code]   [Reading: Matloff Chapter 1.3, 7.3-7.6, 7.12, 7.13]

Lecture 6: More on functions
[R code]   [Reading: Same as last time]

Lecture 7: Split/apply/combine
[R code]   [Reading: R Cookbook, Chapter 6]

Lecture 8: Split/apply/combine
[R code]   [Reading: Hadley Wickham, “The Split/Apply/Combine Strategy for Data Analysis”]

Lecture 9: Reshaping and merging
[R code]   [Reading: Hadley Wickham, “Tidy Data” and “Reshaping data with the reshape package” ]

Lecture 10: Debugging
[R code, R commands used in class]   [Reading: Matloff Chapter 13]

Lecture 11: Testing
[R code, numerical_deriv.R, testthat_example.R]   [Reading: Wickham, “testthat: Get Started with Testing”]

Lecture 12: Top-down design (and the bootstrap)
[R code]

Lecture 13: Object-oriented programming and classes
[R code]   [Reading: Matloff Chapter 9]

Lecture 14: Code profiling and performance enhancement
[R code, profiling script]   [Reading: Matloff Chapter 14, Hadley Wickham, Advanced R]

Lecture 15: Version control and git
[Reading: Pro Git, Chapters 1, 2, 3, 10]

Lecture 16: Fitting probability models
[R code]

Lecture 17: Newton’s method
[R code]   [Reading: Lange 11.2, 13.3]

Lecture 18: Newton’s method II and IRLS

Lecture 19: More optimization
[R code]   [Reading: Boyd and Vandenberghe, 9.1-9.4, Lange 13.3-13.6]

Lecture 20: Convex problems
[Reading: Boyd and Vandenberghe, 2.1-2.3, 3.1-3.2]

Lecture 21: Applications and cvx
[R code]   [Data]

Lecture 22: The EM Algorithm
[R code]

Lecture 23: Generating random deviates
[R code]   [Reading: Lange Chapter 20]

Lecture 24: Monte Carlo Integration and Cross Validation
[R code]   [Reading: Lange 21.1, 21.2, 21.6]

Lecture 25: Approximate Bayesian Computation
[R code]   [Reading: Sisson, Fan, Beaumont]

Lecture 26: Markov Chains
[R code]   [Reading: Notes from Richard Weber’s course on Markov chains or Lange, Chapter 23]

Lecture 27: Metropolis Hastings
[R code]   [Reading: Lange, Chapter 24.1, 24.2]

Lecture 28: MCMC Applications
[R code] [Data]

Lecture 29: Neural Nets
[R code] [Reading: Elements of Statistical Learning, 11.3-11.8]