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

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