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
- Krisanat Anukarnsakulchularp, Tutor
- Tomasz Wozniak, Week 11
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.
Recordings
Weekly schedule
- 1 hour pre-recorded material, to be viewed before each workshop.
- 2 hour workshop, Thursdays 9am-11am each week, in LTB Rm 121.
| Date | Topic | Assessments |
|---|---|---|
| 05 Mar | R IDEs, and workflow tools | |
| 12 Mar | Foundations of R programming | |
| 19 Mar | R package development | |
| 26 Mar | R programming with LLMs | |
| 02 Apr | Debugging | Assignment 1 |
| 09 Apr | Mid-semester break | |
| 16 Apr | Functional programming | |
| 23 Apr | Measuring and improving performance | |
| 30 Apr | Object-oriented programming with S3 | |
| 07 May | Object-oriented programming with vctrs | Assignment 2 |
| 14 May | Metaprogramming | |
| 21 May | Rewriting R code in C++ | |
| 28 May | Package hackathon | |
| 04 Jun | Assignment 3 |
Assessments
- Assignment 1: 30%
- Assignment 2: 30%
- Assignment 3: 30%
- Discussion: 10%