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

Teachers

References

Weekly schedule

  • 3 hour workshop, Thursdays 6pm-9pm each week, in Woodside G16.
Date Topic Assessments
06 Mar Foundations of R programming
13 Mar TBD
20 Mar R package development Assignment 1
27 Mar Debugging and profiling
03 Apr Functional programming
10 Apr Literate programming with Quarto Assignment 2
17 Apr Reactive programming with targets and renv
24 Apr Mid-semester break
01 May Object-oriented programming with S3 Assignment 3
08 May Object-oriented programming with vctrs
15 May Metaprogramming Game package 1
22 May Rewriting R code in C++
29 May Package hackathon
05 Jun Game package 2

Assessments