You should be generally numerically literate, and some prior programming experience will be helpful. Students new to programming might find Hands on Programming with R to be helpful. Students with significant experience in programming and statistical analysis should find themselves well prepared but should find plenty still to learn in each lesson.

Instructional Methods

As a flipped classroom, students are provided with either reading or video material that they are expected to view/read prior to class. Classes will involve brief refreshers on new concepts followed by working on exercises in class that cover that concept. While students are working on exercises the instructor will actively engage with students to help them understand material they find confusing, explain misunderstandings and help identify mistakes that are preventing students from completing the exercises, and discuss novel applications and alternative approaches to the data analysis challenges students are attempting to solve. For more challenging topics class may start with 20-30 minute demonstrations on the concepts followed by time to work on exercises.

Assignment policy

Data science is about analyzing real-world data sets, and so a series of projects involving real data are a required part of the course. You may work alone or with a single partner on all projects.

All assignments are due by immediately before the start of class on the day indicated. Assignments should be submitted as instructed.


Grades will be assigned using the following weighted components:

component weight
Final Project 30%
HW Exercises 60%
Participation 10%

Details of grading criteria will not usually be announced in advance. It is expected that students in this course will have a wide range of prior experience and ability, and grading will aim to reflect learning and effort in the course. It is certainly possible for all students to receive high grades in this course if all of you show mastery of the material and completely attempt all assignments.

Make-up policy

Late assignments will be docked 20% and will not be accepted more than 48 hours late except in cases of genuine emergencies that can be documented by the student or in cases where this has been discussed and approved in advance. This policy is based on the idea that in order to learn how to use computers well, students should be working with them at multiple times each week. Time has been allotted in class for working on assignments and students are expected to work on them outside of class. It is intended that you should have finished as much of the assignment as you can based on what we have covered in class by the following class period. Therefore, even if something unexpected happens at the last minute you should already be close to done with the assignment. This policy also allows rapid feedback to be provided to students by returning assignments quickly.

Attendance Policy

The lab-based, hands on course design really depends on students being in class, for every session. I expect students to make every effort attend every class. I cannot accomodate scheduling conflicts that would cause a student to regularly miss part of class, which would be unfair to partners during pair work. However, I recognize that now and again an occasional absence will be unavoidable. Please notify the instructor and your project partner in advance of any absence. I will not require any note or explanation and trust you to make the right decisions for your own education, but advanced notice may help ameliorate the disruption. Keep up with the reading assignments while you are away and we will all work with you to get you back up to speed on what you miss. Participation grade will not be impacted as long as attendance is consistent with this policy.

Learning Cooperatively

I encourage you to discuss all of the course activities with your friends and classmates as you are working on them. You will definitely learn more in this class if you work with others than if you do not. Ask questions, answer questions, and share ideas liberally. Please identify your collaborators by name on all assignments.

Since you're working collaboratively, keep your project partner and the course instructor informed. If some medical or personal emergency takes you away from the course for an extended period, or if you decide to drop the course for any reason, please don't just disappear silently! You should inform your project partner, so that nobody is depending on you to do something you can't finish.

Academic Honesty

Cooperation has a limit, however. You should not copy your code or answers directly with other students. Feel free to discuss the problems with others, but write your own solutions. Penalties for cheating are severe -- they range from a zero grade for the assignment or exam up to dismissal from the University, for a second offense.

Rather than copying someone else's work, ask for help. You are not alone in this course! If you invest the time to learn the material and complete the projects, you won't need to copy any answers.


You are not alone in this course; your student colleagues and the course instructor are here to support you as you learn the material. It's expected that some aspects of the course will take time to master, and the best way to master challenging material is to ask questions. Time will be set aside in each class to ask questions and discuss the material. You are encouraged to bring up related questions that arise in your research as well.

Office hours will be held by appointment.

Code of Conduct

Our course is committed to providing a respectful and welcoming environment to all participants. Please review the Open Code of Conduct guidelines for respectful and harassment-free conduct. To report an incident or request more information, contact the UC Berkeley Office for the Prevention of Harassment and Discrimination by emailing ask_ophd@berkeley.edu or by phone (510) 643-7985.

Quiz/Exam Policy

There are no quizzes or exams in this course.

Course Technology

Students are required to provide their own laptops and to install free and open source software on those laptops. Support will be provided by the instructor in the installation of required software. If you don’t have access to a laptop please contact the instructor and they will do their best to provide you with one.

Materials & Resources

All reading material required for this course will be made available through this website and links to related resources.