STAT 545B Course syllabus: 2023/2024

How to make a clean and modern data analysis, Part II.


Duration: Tue, Oct 24 - Tue, Dec 05

  • How to write functions and work with R in a functional style
  • Advanced computation on data: manipulating strings, and functional programming with purrr
  • Distribute data and code via an R package.
  • Interactive pages, apps, and graphics with Shiny.

Teaching Team

Instructor: Dr. Lucy Gao

Teaching Assistants:

  • Asfar Lathif
  • Emily Brown
  • Erick Isaac Navarro Delgado

Meeting Schedule

Tuesdays and Thursdays 0930-1100 PT in Mathematics Annex 1100

Be sure to bring a CHARGED laptop to every class!

There will always be TA’s available during class to help students with the live coding exercises.

Class Weekday Date Topic
1 Tue Oct 24 Functions Part I
2 Thu Oct 26 Functions Part II
3 Tue Oct 31 R packages Part I
4 Thu Nov 2 R packages Part II
5 Tue Nov 7 Dashboard Part I
6 Tue Nov 14 Dashboards Part II
7 Thu Nov 16 (Optional) Automation
8 Tue Nov 21 Character Data Part I
9 Thu Nov 23 Character Data Part II
10 Tue Nov 28 List columns Part I
11 Thu Nov 30 List columns Part II
12 Tue Dec 5 Overflow, or (optional) advanced authoring


Deliverable Percent Grade Description
Class worksheets 15 Autograded walkthroughs to guide student learning.
Assignments 85 e.g. adding to a data analysis, making a small R package, making a Shiny dadshboard

More details can be found on the course dashboard.

Auditing Students

Auditing students are expected to complete all deliverables. The difference between enrolling for credit is that auditing students are graded on each assignment on a pass/fail basis.



STAT 545 uses Slack for course communications. Note that the messages sent on Slack are stored on servers outside of Canada.

STAT 545 asks students to work on Please produce work knowing that the material you put on GitHub will be stored on servers outside of Canada.


In addition to UBC’s Campus-wide Policies and Regulations, STAT 545A and STAT 545B adopt the following policies.


The teaching team can’t guarantee that they will be able to respond to student messages outside of typical workday hours (0900-1700 PT). So, please be mindful of a 17:00 PT cutoff on Fridays when asking assignment-related questions.

Please read this before messaging the teaching team.

Late Policy

A late submission is defined as any work submitted after the deadline. For a late submission, the student will receive a warning for the first occurrence, and will receive a grade of 0 for subsequent occurrences.

Academic Concession

UBC no longer requires a doctor’s note (or supporting documentation) for academic concession. A self-declaration will suffice – here is a template you can use. Please submit this to the instructor.

Examples of “conflicting responsibility” are conference travel and time-sensitive field work.

If you arrange to have an assignment submitted late, you may not be able to receive feedback from your peers.


Plagiarism, which is intellectual theft, occurs where an individual submits or presents the oral or written work of another person as his or her own and can include:

  • multiple students submitting the same response
  • copying from sources without citing them
  • copying verbatim (word-for-word) from source and citing, but failing to make it explicit that this is a quotation (quotations should be used only rarely, if at all)

Students are responsible for ensuring that any work submitted does not constitute plagiarism. Students who are in any doubt as to what constitutes plagiarism should consult their instructor before handing in any assignments.

For more information see the UBC Academic Misconduct policies.

Code Plagiarism

Students must correctly cite any code that has been authored by someone else or by the student themselves for other assignments. Cases of code plagiarism may include, but are not limited to:

  • the reproduction (copying and pasting) of code with none or minimal reformatting (e.g., changing the name of the variables)
  • the translation of an algorithm or a script from a language to another
  • the generation of code by automatic code-generations software

An “adequate acknowledgement” requires a detailed identification of the (parts of the) code reused and a full citation of the original source code that has been reused.

UBC’s Policies and Resources to Support Student Success

UBC provides resources to support student learning and to maintain healthy lifestyles but recognizes that sometimes crises arise and so there are additional resources to access including those for survivors of sexual violence. UBC values respect for the person and ideas of all members of the academic community. Harassment and discrimination are not tolerated nor is suppression of academic freedom. UBC provides appropriate accommodation for students with disabilities and for religious, spiritual and cultural observances. UBC values academic honesty and students ae expected to acknowledge the ideas generated by others and to uphold the highest academic standards in all of their actions. Details of the policies and how to access support are available here.

Your personal health

If you have not yet had a chance to get vaccinated against COVID-19 or the flu, vaccines are available to you, free, and on campus. The higher the rate of vaccination in our community overall, the lower the chance of spreading disease. You are an important part of the UBC community. Please arrange to get vaccinated if you have not already done so.

If you’re sick, it’s important that you stay home – no matter what you think you may be sick with (e.g., cold, flu, other). Your precautions will help reduce risk and keep everyone safer. The structure of this class is intended to provide flexibility so that you can prioritize your health and still be able to succeed.

If you do miss class because of illness:

  • Consult the class resources on the course website,
  • Come to office hours on Zoom.
  • Use Slack to carry out discussions.

For additional information about academic concessions, see the UBC policy here:,329,0,0

Instructor health

If I (the instructor) am sick: If I am ill, then I will not come to class. If that happens, here’s what you can expect:

  • If I am well enough to teach, I will conduct virtual lectures through Zoom until I am well. If this happens, you will be tagged in an announcement via Slack with information. You can anticipate that this would very likely be a last minute announcement. Our classroom will still be available for you to sit and attend an online session, although it is recommended that you bring headphones.
  • If I am not well enough to teach, it is possible that one or more teaching assistants will take my place. But if not, we will either try to make up for lost time, make new resources to aid in your learning, or make accommodations regarding the assignments.