STAT 545B Course syllabus: 2022/2023

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


Duration: Tue, Oct 25 - Tue, Dec 06

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

  • Andrew Li
  • Asfar Lathif
  • Erick Isaac Navarro Delgado


Tuesdays and Thursdays 0930-1100 PT in Earth Sciences Building 2012

Be sure to bring a laptop to every class!

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

Lesson Weekday Date Topic
1 Tue Oct 25 Functions Part I
2 Thu Oct 27 Functions Part II
3 Tue Nov 1 Dashboards Part I
4 Thu Nov 3 Dashboards Part II
5 Tue Nov 8 (Optional) Automation
6 Tue Nov 15 R Packages Part I
7 Thu Nov 17 R Packages Part II
8 Tue Nov 22 Character Data
9 Thu Nov 24 List columns Part I
10 Tue Nov 29 List columns Part II
11 Thu Dec 1 List columns Part III
12 Tue Dec 6 Overflow, or advanced authoring


De liverable Percent Grade Description
Class w orksheets 15 Autograded walkthroughs to guide student learning in class.
As signments 85 e.g., adding to a data analysis, making a small R package, making a Shiny dashboard

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, including quizzes, submitted after the deadline. For a late submission, the student will receive a 50% scaling of their grade 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.

For this course, a “conflicting responsibility” includes needing to travel for a conference or 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)

Plagiarism will not be tolerated in the MDS program and may result in dismissal from the program. 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.

Covid Safety in the Classroom

Masks: Masks are no longer required for all indoor public spaces on campus, including classrooms, as per the UBC policy. (For the purposes of this policy, the term “masks” refers to medical and non-medical masks that cover our noses and mouths.) You are welcome to wear a mask if you wish.

Vaccination: If you have not yet had a chance to get vaccinated against Covid-19, 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 this virus. You are an important part of the UBC community. Please arrange to get vaccinated if you have not already done so.

Your personal health

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

  • A daily self-health assessment is required before attending campus. Every day, before coming to class, complete the self-assessment for Covid symptoms using this tool:
  • Do not come to class if you have Covid symptoms, have recently tested positive for Covid, or are required to quarantine. You can check this website to find out if you should self-isolate or self-monitor:
  • Your precautions will help reduce risk and keep everyone safer. In this class, the marking scheme 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, develop Covid symptoms, or test positive for Covid, then I will not come to class. If that happens, here’s what you can expect:

  • If I am well enough to teach (most likely), 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.