(R-Data Analysis & Visualization In Science)

Course Description

Computer literacy is now essential in all aspects of science. Data management skills are needed for entering data without errors, storing it in a usable way, and extracting key aspects of the data for analysis. Basic programming is required for everything from accessing and managing data, data visualization, to statistical analysis, and modeling. This course will provide an introduction to data/project management, manipulation, visualization and analysis, across a broad set of data (spatial, genomic, field, etc). Class will typically consist of short introductions or question & answer sessions, followed by hands on computing exercises. The course will be taught using git/Github, R/RStudio, and RMarkdown, but the concepts learned will easily apply to all programming languages and database management systems. No background in databases or R/computational experience is required.

Prerequisite Knowledge and Skills

A willingness to practice coding and embrace the R language.

Purpose of Course

In this course you will learn fundamental aspects of computer programming that are necessary for conducting research. By the end of the course you will be able to use these tools to import data into R, wrangle various types of data, summarize and analyze data, create visualizations, write reports/manuscripts/CV’s in RMarkdown, save and export data/figures, as well as collaborate on Github with version-controlled projects.

The focus of this course is to provide graduate students with training that develops and teaches the tools applicable to the entire process of reproducible data-driven research and encourage the use of open-source tools. By learning how to get the computer to do your work for you, you will be able to do more science faster, and your future-self will thank you.

Course Objectives

Students completing this course should be able to:

  • Organize R projects in GitHub
  • Read, import/export data
  • Tidy/summarize and analyze data
  • Create publication-quality graphs and figures
  • Write simple functions/programs in R
  • Search for and access new learning materials to further develop their computational skills
  • Apply these tools to address scientific research questions


We believe that instructors have a duty to examine their pedagogy–and students have a right to know the pedagogical assumptions that shape our course. This section describes the five key principles that motivate our course. It is also an invitation to dialogue on how these can be improved.1

Equity is a vital social project

Many educational institutions and practices perpetuate the discrimination of our wider society, further marginalizing Black, Brown, and Indigenous people, people of differing abilities, and people of genders or gender identities other than those reflecting “conventional” notions of male masculinity. In perhaps no field of academia is this reality more apparent than in Science, Technology, Engineering, and Mathematics (STEM) fields. We are committed to diversity (social/demographic differences such as race, ethnicity, gender, sex, sexual orientation, ability, and language) and the pursuit of equity (the fair distribution of resources and opportunities, accounting for past and present events, conditions, and contexts) as a vital project in and outside of the classroom. We are also acutely aware that we will fall short of these ideals — as will our teaching. We invite you to hold us and this course to them, and to help us learn.

Inaccessibility is a choice

Inaccessibility is a choice (and choosing accessibility benefits all). Accessibility is both more necessary and easier than acknowledged. As the case of curb cuts famously demonstrates, anything that delivers greater accessibility tends to benefit everyone. While digital tools and contexts offer the promise of flexible inclusion in the form of customizable, one-size-fits-one experience, we realize, that many of the tools and practices we use in data science and statistical programming fall short of even modest accessibility goals. With apologies for the extra time and energy it demands, we ask you to let us know as soon as you encounter any part of this course that impedes your participation, so that we can prioritize its immediate correction.

People come first

Physical, emotional, psychological, and spiritual trauma are real and have real impacts on one’s ability to engage in learning. Courses that ignore the inevitable conditions of life undermine learning. Our commitment to your academic journey means that your wellbeing comes first. Whatever difficulties you encounter–jobs, illness, family, the world simply falling apart around us–know that we implicitly trust you to be where you need to be, and do what you need to be doing, for yourself and others.

Failure is productive

Data science and programming are all about learning from failure–stuff like fixing bugs, troubleshooting messy data, and figuring out why your model blew up. You will learn the most by trying something, having it break, trying to decipher the error message, and iterating until you get it to work. We want to encourage you to take risks, fail repeatedly, and learn volumes in the process. In practice, this means that we would much rather have you only get half of a lab assignment done, but really understand that half, instead of borrowing your friends’ code that you don’t really understand and completing the lab. To put our money where our mouth is: we will not assign grades for activities or assignments. Assessment will instead take the form of qualitative feedback and self-reflection. Moreover, we will not decide whether you get credit or not. Instead, at the end of class we will ask you to suggest the grade (in this case, credit or no credit) you believe you earned in the class, accounting for your efforts, circumstances, and relevant events.

Busywork is bad

We want this course to be a “no busy work” space. On a micro-level, if you find an assignment unproductive, feel free to propose an alternate activity that achieves the same/similar aims. On a macro-level, if you find this training unproductive, feel free to propose an alternative curriculum that achieves the same/similar aims (e.g., doing lab assignments in the Python programming language instead of R and duplicating the workflow and version control elements of the course). During the first week of the quarter, you will have an opportunity to develop a customize plan for the quarter (this can just be following the primary course plan, but it doesn’t have to be).

Territory Acknowledgement

Acknowledging territory shows recognition of and respect for Native Americans. It is recognition of their presence both in the past and the present. Recognition and respect are essential elements of establishing healthy, reciprocal relations. These relationships are key to reconciliation, a process to which we are committed.

We would like to respectfully acknowledge that the land on which we gather is traditional unceded Patwin territory. We recognize and respect our role as guests here.

This territory acknowledgement is an adaptation of one written by the Canadian Association of University Teachers. For more information, please see their website.

Academic Integrity

As a University of California, Davis student, you have agreed to abide by the University’s Code of Academic Conduct (http://sja.ucdavis.edu/files/cac.pdfLinks to an external site.). All academic work must meet these standards. Lack of knowledge of the academic honesty policy is not a reasonable explanation for a violation. Questions related to course assignments and the academic honesty policy should be directed to the instructor.

Special Accommodations

If you have a learning disability, sensory or physical disability or if English is not your first language and you need special assistance in lecture, reading assignments, or written assignments, please contact the instructor at the beginning of the quarter. While students are welcome to work with us on accommodations without involving UCD’s Student Disability Center (SDC), we also recommend that you contact the SDC for additional resources and support. The SDC office at the University of California, Davis is located at 54 Cowell Building, or the SDC can be reached by phone at (530) 752-3184. For more information, please see: https://sdc.ucdavis.edu/.

  1. Acknowledgement and thanks to Dr. David Carter at the University of Utah, from whom many of these principles have been learned and adopted.↩︎