Course description

This class is intended to introduce to the students a wide range of programming tools using the R language. Tentative list of topics that will be discussed in this class are listed below:

  • Reproducible research: knitr and rmarkdown
  • Version control: GitHub
  • Introduction to programming: Data structures, logical operators, control structures and functions
  • Visualizations: Exploratory data analysis with Base R and ggplot2
  • R packages: Construction of R-packages using devtools, roxygen2 and pkgdown
  • Communication: webiste creation via blogdown, Web application via shiny
  • Web scraping: Automatic extraction of data from websites using SelectorGadget, rvest and quantmod, regular expression
  • High performance computing: R and C++ integration via Rcpp, parallel computing.

We do not assume any prior IT background from our students; however, we do expect a strong desire to acquire valuable and hands-on programming skills.