Introduction to Programming for Health Data Science in R

Summer 2022 (1.5 units)

Vast amounts of health-related data are being generated daily and at an increasing rate. Our ability to extract insights and make the most of these resources depends on the effective and efficient use of computational tools to preprocess, visualize, and analyze different types of data. BIOSTAT 213 is an introductory programming course which aims to provide hands-on experience in the R language and enable further work in biostatistics, epidemiology, and machine learning/health data science.

Online Syllabus


At the conclusion of this course, students will be able to:

  • Employ core R data types and structures.
  • Perform data input/output operations.
  • Perform filter, select, and group-by operations.
  • Implement control flow.
  • Summerize data.
  • Generate data visualizations.

The aim of the course is to provide a solid understanding of the core R language which allows students to then make use of the extensive collection of R packages available.


No prior programming experience is required.


Course Director: Stathis Gennatas, MBBS, PhD

Assistant Professor of Epidemiology & Biostatistics
email: [email protected]


The class meets once a week on Wednesdays from 10:15 AM to 12:30 PM. Using an interactive format, the initial portion of the session reviews the prior week's material and exercises. New material is introduced by reviewing code and with live demonstration in R. Participation is key to maximize learning for all students. Sessions end with labs where students have the opportunity to work on their weekly assignments, which are due the following Monday.

All course materials and handouts will be posted on the course's online syllabus.

Students join the class Discord server, where they can interact with each other, the TAs, and the instructor.


Programming for Data Science in R by E. Gennatas (2020)
R version 4.2.1 or higher
RStudio version 2022.02.3-492 or higher (free Open Source License version), or
VS Code with vscode-R extension


Final grades will be based on the weekly assignments (60%) and the final project (40%). The final project will be in the form of a brief article on your choice of a dataset to be written in Rmarkdown.

Students not in full-year TICR Programs who satisfactorily pass all course requirements will, upon request, receive a Certificate of Course Completion.

UCSF Graduate Division Policy on Disabilities

To Enroll

ATCR and MAS students use the Student Portal

Students taking individual courses:

Course Fees
How to pay (please read before applying)
Summer Course Schedule

Apply by July 11, 2022 for summer quarter
Fall quarter application available August 1, 2022
Only one application needs to be completed for all courses desired during the quarter.