Course materials for Stat 133, fall 2017, at UC Berkeley
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.


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

  • Instructor: Gaston Sanchez, gaston.stat [at]
  • Class Time: MWF 4-5pm in Dwinelle 155
  • Session Dates: 08/23/17 - 12/08/17
  • Code #: 21287
  • Units: 3 (more info here)
  • Office Hours: See bCourses
  • Final: Friday Dec-15th, 8-11am, Dwinelle 155 and 145
  • GSIs: Office hours of the GSIs posted on bCourses. You can go to the office hours of any GSI, not just your own.
Lab Date Room GSI
101 Th 9-11am 342 Evans Omid Shams
102 Th 11-1pm 342 Evans Andy Mao
103 Th 1-3pm 342 Evans Ningning Long
104 Th 3-5pm 342 Evans Xiaoqi Zhang
105 Fr 9-11am 342 Evans Andy Mao
106 Fr 9-11am 340 Evans Omid Shams
107 Fr 11-1pm 342 Evans Minchul Shin
108 Fr 11-1pm 340 Evans Ningning Long
109 Fr 1-3pm 342 Evans Minchul Shin
110 Fr 1-3pm 340 Evans Xiaoqi Zhang


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 be slow. Students who have taken computer science courses (e.g. CS C8, CS C100, CS 9H) 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.


  • Please read the course logistics and policies for more details about the structure of the course, DO's and DONT's, etc.


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