(Schedule subject to change.)

Jan 22: Introduction; basic principles; GNU Make [ S | N | C | H ]

Jan 29: Know the command line; know your editor [ S | N | C | H | HS ]

Feb 5: Knitr with Markdown for basic reports [ S | N | C | H | HS: Rmd, html ]

Feb 12: Version control with git & github/bitbucket [ S | N | C | H ]

Feb 19: git/GitHub Laboratory [ C ]

Feb 26: Organizing projects; capturing exploratory analysis [ S | N | C | H ]

Mar 4: Writing clear code [ S | N | C | H ]

Mar 11: Writing R packages; roxygen2 [ S | N | C | H ]

Mar 18: Software testing and debugging [ S | N | C | H ]

Mar 25: No class (Spring break)

Apr 1: No class

Apr 8: Big jobs/simulations; caching computations [ S | N | C ]

Apr 15: Knitr with LaTeX for papers [ S | N | C ] (Different room: 1289 Comp Sci)

Apr 22: Python for data/text manipulation [ S | N | C ]

Apr 29: Python Laboratory [ C ]

May 6: Software/data licenses, copyright, and human subjects/HIPAA [ S | N ]


S = slides; N = slides with notes; C = code; H = homework; HS = homework solutions