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

  1. be familiar with the foundations of R programming
  2. understand a variety of programming paradigms, including functional programming and object-oriented programming
  3. utilise R’s functional and object-oriented programming systems
  4. integrate the concept of metaprogramming to evaluate and construct new functions



Weekly schedule

  • 2 hour workshop, Wednesdays 9am-11am each week, in Menzies E164.
Date Topic Reference Assessments
28 Feb Foundations of R programming 1-4. Advanced R
06 Mar Foundations of R programming 5-8. Advanced R
13 Mar R package development R Packages
20 Mar Debugging and profiling 22-24. Advanced R Assignment 1
27 Mar Functional programming 9-11. Advanced R
03 Apr Mid-semester break
10 Apr Object-oriented programming 12-13. Advanced R
17 Apr Reactive programming: shiny Mastering Shiny Assignment 2
24 Apr Reactive programming: targets The {targets} R package user manual
01 May Metaprogramming 17-20. Advanced R
08 May Metaprogramming 17-20. Advanced R Assignment 3
15 May Rewriting R code in C++ 25. Advanced R
22 May Interfacing with other languages 21. Advanced R
29 May Assignment 4