STAT 545B Course syllabus: 2021/2022

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


Duration: Mon, Oct 25 - Thu, Dec 02

  • 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. Vincenzo Coia

Teaching Assistants:

  • Albina Gibadullina
  • Asfar Lathif
  • Icíar Fernández Boyano
  • Yulia Egorova


Tuesdays and Thursdays 0930-1100 PST

Be sure the 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 26 Functions Part I
2 Thu Oct 28 Functions Part II
3 Tue Nov 2 R packages Part I
4 Thu Nov 4 R packages Part II
5 Tue Nov 9 (Optional) Automation
6 Tue Nov 16 Dashboards Part I
7 Thu Nov 18 Dashboards Part II
8 Tue Nov 23 Character Data
9 Thu Nov 25 List columns Part I
10 Tue Nov 30 List columns Part II
11 Thu Dec 2 List columns Part III
12 Tue Dec 7 Overflow, or advanced authoring


Deliverable Percent Grade Description
Class worksheets 15 Autograded walkthroughs to guide student learning in class.
Assignments 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 PST). So, please be mindful of a 17:00 PST 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 required for all indoor public spaces on campus, including classrooms, as per the BC Public Health Officer orders and UBC policy. For our in-person meetings in this class, it is important that all of us feel as comfortable as possible engaging in class activities while sharing an indoor space. For the purposes of this order, the term “masks” refers to medical and non-medical masks that cover our noses and mouths. Masks are a primary tool to make it harder for Covid-19 to find a new host. You will need to wear a medical or non-medical mask for the duration of our class meetings, for your own protection, and the safety and comfort of everyone else in the class. You may be asked to remove your mask briefly for an ID check for an exam, but otherwise, your mask should cover your nose and mouth. Please do not eat in class. If you need to drink water/coffee/tea/etc, please keep your mask on between sips. Students who need to request an exemption to the indoor mask mandate must do so based on one of the grounds for exemption detailed in the PHO Order on Face Coverings (COVID-19). Such requests must be made through the Center for Accessibility (). Mask wearing protects you as well as others in your environment. Let’s do everything we can as a community to stop the spread of this virus.

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.

Seating in class: To reduce the risk of Covid transmission, please sit in a consistent area of the classroom each day. This will minimize your contacts and will still allow for the pedagogical methods planned for this class to help your learning.

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,
  • Use Slack to carry out discussions.
  • Come to virtual office hours.

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.