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 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