Course materials for Stat 133, Spring 2018, at UC Berkeley
Branch: master
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
apps apps: add README Apr 3, 2018
cheatsheets cheatsheets: add package development Apr 16, 2018
data labs: add lab12 Apr 18, 2018
hws hws: clean readme Apr 26, 2018
images images: fix typo in sample variance Mar 7, 2018
labs labs: add lab12 Apr 18, 2018
papers papers: rename testthat Mar 19, 2018
slides slides: shiny tutorial Apr 16, 2018
syllabus syllabus: add rooms for final test May 5, 2018
tutorials tutorials: fix typos in 17-programming Apr 28, 2018
.gitignore first commit Nov 24, 2017 readme: add rooms for final test May 2, 2018


This repository holds the course materials for the Spring 2018 edition of Statistics 133: Concepts in Computing with Data at UC Berkeley.

  • Instructor: Gaston Sanchez, gasigiri [at] berkeley [dot] edu
  • Class Time: MWF 8-9am in Dwinelle 155
  • Session Dates: 01/17/18 - 05/04/18
  • Code #: 30844
  • Units: 3 (more info here)
  • Office Hours: W 1-2pm 309 Evans, Fr 2-3pm 344 Evans, 3-4pm 340 Evans
  • Final: Mon May 7, 8-11am (Dwinelle 145 and 155)
  • Piazza:
  • GSIs: Office hours of the GSIs displayed below. You can go to the office hours of any GSI, not just your own.
GSI Room Day/Time
Jin Kweon 342 Evans M Tu 9 - 11am
Da Xu 342 Evans W 4-6pm, Th 8-9am & 5-6pm
Minchul Shin 342 Evans M 10:30am-12:30pm, Th 5-7pm
Ninh Do 342 Evans M 9-11am, Th 8-9am
Qi Chen 342 Evans M 3-5pm, Tu 8-10am
Rui Chen 426 Evans W 12-2pm, Th 9-11am
  • Lab Sections:
Lab Date Room GSI
101 W 10-12pm 342 Evans Jin Kweon
102 W 12-2pm 340 Evans Qi Chen
103 W 12-2pm 342 Evans Ninh Do
104 W 2-4pm 340 Evans Qi Chen
105 W 2-4pm 342 Evans Rui Chen
106 Th 9-11am 342 Evans Ninh Do
107 Th 9-11am 330 Evans Da Xu
108 Th 11-1pm 342 Evans Jin Kweon
109 Th 11-1pm 330 Evans Rui Chen
110 Th 1-3pm 342 Evans Minchul Shin
111 Th 2-4pm 340 Evans Da Xu
112 Th 3-5pm 342 Evans Minchul Shin


Concepts in Computing with Data presents computing tools and basic concepts for the main stages of the Data Analysis Cycle (DAC): 1) data preparation, 2) actual analysis, and 3) reporting of results.

Traditionally, teaching has been focused on the actual analysis part of a data set (e.g. description, hypothesis testing, modeling, validation) while leaving out the data preparation steps, as well as the presentation and reporting of results. This is nuts. Typically, the most time consuming parts in the DAC are the preparation of data (e.g. cleaning, reformatting, tidying), and the report and communication of results (e.g. images, tables, papers, presentations, reports, docs). However, we don't teach students how to approach these tasks. They are left alone to acquire them in the wild. Stat 133 aims to add its two cents to provide solid foundations that will help you crunch data in a less improvised/naive/inefficient way.


Stat 133: Concepts in Computing with Data is an introductory course to computational data analysis using the statistical programming language R (and other computational tools) with an emphasis on five major cornerstones:

  • Data Manipulation (wrangling, reshaping, tidying)
  • Data Visualization (focus on statistical charts)
  • Programming Concepts (with emphasis on data analysis)
  • Data Technologies (various sources/formats of data)
  • Reporting Tools (via dynamic documents)

Because Stat 133 is one of the core courses of the Statistics Department, the underlying goal is to provide foundations for "computing with data" so students have the basic computational skills for subsequent upper division courses (e.g. Stat 150, 151A, 152, 153, 154, 155, 157, 158, 159). This involves teaching students how to:

  • understand common data formats
  • use the computer extensively to conduct statistical analysis of data.
  • use existing software rather than build routines from the ground up.
  • understand how to visualize data and display statistical information
  • learn the basic principles for writing code
  • organize your workflow
  • focus on aspects of computing to conduct data analysis, NOT the computational aspects of statistical methods
  • use computational tools to carry out the data analysis cycle

For more details, check the syllabus

Prerequisites / Review

This course does not have any prerequisites, although it would be nice if you have taken an introductory course in statistics (e.g. Stat 2, 20, 21, 131A).

The curriculum and format is designed specifically for students (ideally majoring in Statistics) who have NOT taken computer science courses.

You don't need previous programming experience, and you also don't need previous data analysis experience. However, students with some exposure to programming concepts, and data analysis tend to understand certain concepts better.

Students with some prior experience in either computational statistics or computing are welcome to enroll, though some parts of the course will feel extremely slow. Students who have taken computer science courses (e.g. CS C8, CS C100, CS 9H, CS 61a, CS 61b) should instead take a more advanced course.


We expect that, at the end of the course, you have a basic understanding of R. But more important, we expect that you understand the general principles of data analysis projects, independently of the programming language that you use.

After completing the course, we expect that you feel comfortable in any of the three stages of the Data Analysis Cycle (DAC). This means that you can take almost any data set(s), clean it, tidy it, get visualizations, write code, and report the results in a varied number of formats.

We don't expect you to become a jedi data scientist, an R ninja, or a super coder. That takes YEARS of practice, training, learning, and collaborating. Instead, we want you to become a skilled padawan analyst (which, if interested, can be prepared to take the next steps of a data science marathon race).

Methods of Instruction

We will be using a combination of materials such as slides, tutorials, reading assignments, and chalk-and-talk.

The main computational tool will be the computing and programming environment R. The main workbench will be the IDE RStudio. You will also use a terminal emulator to work with command line.



Creative Commons License
Unless otherwise noticed, this work, by Gaston Sanchez, is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.

Author: Gaston Sanchez