Design.
- Wikipedia page on Design document.
- Wikipedia page on the Waterfall model.
- Wikipedia page on Big Design Up Front (BDUF).
- Wikipedia page on You Ain't Gonna Need It (YAGNI).
- A famous section of an article by Richard P. Gabriel titled
The Rise of
Worse is Better
. - The famous Tanenbaum-Torvalds
Linux is obsolete
debates. - Linus Torvalds on Linux and evolution.
- Release early, release often.
- The Cathedral and the Bazaar.
Failure.
- Wikipedia page on Fail fast programs.
- Section from Effective Java on failure atomicity.
Functional programming.
- Wikipedia page on Functional programming.
Testing.
- Wikipedia page on Test-Driven Development (TDD).
- Page on The Three Rules of TDD.
- Wikipedia page on Unit Testing Frameworks.
- Package vignette for RUnit package.
- Package vignette for scriptests package.
- Web site for testthat package.
- Wikipedia page on Code refactoring.
- C2 page on What Is Refactoring.
- Jargon file entry for Buzzword compliant.
Literate programming, reproducible research, and Sweave.
- Wikipedia page on Literate programming.
- Instructor page on Reproducible Research, the part about literate programming having now been updated for Stat 3701.
- Web page on
Aster models, which
includes
reproducible research
tech reports for two papers.
- Seen on reddit. Why you never ever want to program on or for Microsoft computers.
- Note that the solution above is MinGW. To make Micro$oft Windoze computers a sane programming environment, install half of unix. Simple!
- Note that this is exactly the same solution used by the R Windows team to get R running under Windoze.
- BTW, in case you missed the news, Micro$soft just jumped the shark. See here and here.
- (2020) All of the above is old stuff. Microsoft now has Linux!
C
- Wikipedia page on
Hello World
programs. - Charlie's
Hello World!
program. - A web page on calling C and Fortran from R.
- Home page of the International
Obfuscated C Code Contest.
- One winner westley.c.
- Another winner davidguy.c.
- Books about C.
- Amazon page for the Pink Cow Book
- Amazon page for the Nutshell Book
- Amazon page for the K and R
- Amazon page for the Harbison and Steele
Bugs
- A web page on how to report bugs.
- The web page for reporting R bugs.
vignettes
- The section of Writing R Extensions about package vignettes.
non-uniform (univariate) random numbers
- Wikipedia page on Rejection sampling.
- Wikipedia page on polar method for normal random variates.
- An R batch file demonstrating why the polar method works.
- Wikipedia page on RANDU, an infamous RNG.
- Wikipedia page on the middle-square method.
- Wikipedia page on the Diehard battery of tests for random number generators.
- Amazon page for Gentle: Random Number Generation and Monte Carlo Methods
- Amazon page for Knuth: Art of Computer Programming, Vol. 2
- Amazon page for Fishman: Monte Carlo
- Amazon page for Ripley: Stochastic Simulation
- Home page for Devroye: Non-Uniform Random Variate Generation now out of print but Devroye has put PDF of the book on the web for anyone to print as they see fit. This is the bible of the subject! It is truly a crime that Springer won't reprint it.
Talks.
- The Presentation Zen website.
- Amazon page for the Presentation Zen book.
- Wikipedia page on Pecha Kucha.
Numerical linear algebra.
- Wikipedia page on Arnoldi iteration.
- Wikipedia page on Lanczos iteration.
- Wikipedia page on GMRES.
- Wikipedia page on the conjugate gradient method.
- Wikipedia page on preconditioning.
Optimization (of computer code).
- C2 page on Rules of Optimization.
Computer arithmetic.
- Wikipedia page on IEEE Arithmetic.
- Paper What Every Computer Scientist Should Know About Floating-Point Arithmetic.
- JSTOR version of article Algorithms for Computing the Sample Variance.
Root finding.
- Wikipedia page on the bisection method.
- Wikipedia page on the secant method.
- Wikipedia page on Newton's_method.
Unconstrained optimization.
- Wikipedia page on global optimization.
- Wikipedia page on Newton's_method.
- Wikipedia page on Quasi-Newton methods.
- Wikipedia page on the conjugate gradient method.
- Wikipedia page on Wolfe conditions.
Constrained optimization (also called mathematical programming).
- Wikipedia page on linear programming.
- Wikipedia page on quadratic programming.
Unconstrained optimization.
- Rweb page giving Newton's method example.
Version control.
- Wikipedia page on version control.
- Wikipedia page on distributed version control systems.
- Books about git
- Pro Git by Scott Chacon (amazon.com page).
- Version Control with Git by Jon Loeliger (amazon.com page).
- Pragmatic Guide to Git Travis Swicegood (amazon.com page).
- Git Magic Ben Lynn (amazon.com page).
-
Sites for hosting git repositories
Github repository for the
foo
R package described in homework 1git clone git://github.com/cjgeyer/foo.git
LaTeX
- a page about AMS LaTeX.
- info on various LaTeX issues on the How To page.