ETC4500/5450 Advanced R Programming
R is widely used as a tool for data analysis and one of the most popular programming languages. This unit delves into R from the programming aspect instead of using it as a data analysis tool. You will learn a variety of programming paradigms and delve into the foundations of R as a programming language.
Learning outcomes
- be familiar with the foundations of R programming
- understand a variety of programming paradigms, including functional programming and object-oriented programming
- utilise R’s functional and object-oriented programming systems
- integrate the concept of metaprogramming to evaluate and construct new functions
Teachers
- Rob J Hyndman. Chief Examiner. Email: Rob.Hyndman@monash.edu
- Mitchell O’Hara-Wild. Email: Mitch.OHara-Wild@monash.edu
- Thomas Lumley. (Week 6)
- Tomasz Wozniak. (Week 12)
References
- Advanced R, 2e by Hadley Wickham.
- Advanced R Solutions by Malte Grosser, Henning Bumann & Hadley Wickham.
- R packages, 2e by Hadley Wickham & Jenny Bryan.
- Mastering Shiny by Hadley Wickham.
- The {targets} R package user manual by Will Landau.
Weekly schedule
- 2 hour workshop, Wednesdays 9am-11am each week, in Menzies E164.
Date | Topic | Assessments |
---|---|---|
28 Feb | Foundations of R programming | |
06 Mar | Foundations of R programming | |
13 Mar | R package development | |
20 Mar | Debugging and profiling | Assignment 1 |
27 Mar | Functional programming | |
03 Apr | Mid-semester break | |
10 Apr | Object-oriented programming | |
17 Apr | Object-oriented S3 and vctrs | Assignment 2 |
24 Apr | Reactive and literate programming | |
01 May | Quarto and targets: efficient reproducible workflows | |
08 May | Metaprogramming | Assignment 3 |
15 May | Interfacing with other languages | |
22 May | Rewriting R code in C++ | Assignment 4 |