Course Overview

Lecture Location and Schedule

Location 2310 Everitt Lab Google Maps, Floor Map
Times M, W, F 3:00 PM - 3:50 PM

Instructional Staff

Instructor James Balamuta Tech Plaza 210B M, F 4:00 PM - 5:00 PM
Course Assistants Hassan Rahim Kamil Tech Plaza 210B M, W 1:30 PM - 2:30 PM
Brianna Hajek Tech Plaza 210B M, T, R, F 12:30 PM - 1:30 PM
Ziwei Liu Tech Plaza 210B T, R 11:00 AM - 12:00 PM


The textbooks listed below are available online for free. You are free to purchase physical copies of the books listed below. However, note that I will reference sections in the online textbook.

Advanced R Programming [2nd Edition] Hadley Wickham
R for Data Science Garrett Grolemund and Hadley Wickham
R Markdown: The Definitive Guide Yihui Xie, J. J. Allaire, and Garrett Grolemund
The R Inferno Patrick Burns
An Introduction to R William N. Venables, David M. Smith and the R Core Team
The Art of R Programming Norman Matloff
R Packages Hadley Wickham
ggplot2: Elegant Graphics for Data Analysis [2nd Edition] Hadley Wickham

Course Websites

Discussion Forums
RStudio Cloud
CBTF Scheduler


The world is rapidly evolving to rely on data driven decisions. These decisions come from the work a statistician or data scientist presents in his or her reports. In order to present an analysis, the analyst needs to be able to leverage computing resources through programming to unearth patterns and models that exist within data sets. As a result, statisticians and data scientists must be savvy to programming methods that are useful to the wide variety of analysis that they will be expected to perform.

For the focus of the course, fundamental programming techniques and considerations related to working with data will be introduced. Students will learn one of the leading statistical programing languages in depth and will be well positioned to easily learn others based on general principles. With this in mind, the course provides a framework for performing reproducible analyses, writing statistical algorithms, and analyzing code.

Course Objectives

After this course, students should be able to ...

  • analyze and discuss the meaning behind lines of code;
  • manipulate and visualize different forms of data;
  • create a reproducible analytics data pipeline;
  • implement statistical algorithms within a statistical computing environment;
  • explain fundamental computing theory as it applies within the domain of Statistics.


Prior to taking this course, one should have acquired the following knowledge:

Note: If you have taken a higher-level course, e.g. STAT 420 or STAT 425, this satisfies the STAT 200 requirement.

Obtaining help

Office Hours

This course offers many office hours from different members of the course staff that are held at throughout the week at different times. Information for each office hour such as who is present, where is it located, and when it will occur can be found in the course staff portion of the syllabus.

GitHub Forum

For class discussion, we will use a GitHub repository's issue system to discuss content. The forum will be private and restricted to those in the course.

Discussion forums are helpful places to receive assistance if common discourse rules are followed. As this forum serves as an extension of the course, students are expected to conduct themselves in an appropriate manner.

While writing on the discussion forum, please:

  • Be kind to others.
    • Avoid using explicit, aggressive, or sarcastic language
  • Provide a concise issue title that provides a clear indication of the contents of the post.
    • Phrase titles as "ggplot2 x-axis labeling incorrect" or "receiving an NA value as the final computation"
    • Avoid "ggplot2 error" or "what's going wrong here?"
  • Format the body of the post so that the issue is shown at a glance.
    • Use reprex to create a reproducible example of the behavior you are running into.
  • Questions regarding code issues on homework must have contain modified code that is as general as possible.
    • Avoid putting code verbatim on the forum that can be used by other students to solve an exercise. This will put you at risk for an academic integrity violation.
    • Consider visiting Office Hours for help!

At any time, content can be removed from the forum without warning by anyone on the course staff if it is found to be in violation of these rules.


Administrative Questions

Before you start writing an e-mail to a member of the course staff please make sure your question is not:

  1. Already answered in the syllabus or course FAQ.
    • The syllabus serves as the guiding document for the course and we're unlikely to shift from it.
  2. About exercises on homework.
    • Please ask the question at the start of class, office hours, or on the discussion forum so that all students have access to the answer.
  3. A technical issue or code error
    • Try to Google the error verbatim (e.g. copy and paste it into Google). Many error messages that you will encounter have likely been solved by others.
    • To aide with searching errors, please use either searcher (interface to search engines) or errorist (automatic search on error or warning)

E-mail Criteria

With these cases addressed, please ensure your e-mails meet the following criteria:

  1. The e-mail must be sent from an account.
  2. The start of the subject line must contain the tag: [STAT 385]
    • Note the space between STAT and 385.
  3. The tag must be followed by a space and a helpful description of the contents of the email. e.g.
    • Good: "[STAT 385] Histogram plot returns error: ..."
    • Bad: "[STAT 385] I need help" or "[STAT 385] Code doesn't work"

If your email is sent between 9:00 AM Monday and 11:59 PM Thursday, and you follow the above directions, we will try our best to respond within 24 hours. Homework questions sent the same day a homework is due will likely not receive a response before the homework is due. Plan accordingly.

Course Staff E-Mail:

External Tutors

Please see the FAQ item on for hire tutors.



You are strongly encouraged to attend all lectures and discussions. Failure to do so may not have a direct effect on your course grade, but will likely have a significant indirect effect. Any known or potential extracurricular conflicts should be discussed in person with the instructor during the first week of classes, or as soon as they arise.


Homework assignments serve as a way to interact with the material outside of the classroom. Homework will be due at 6:00 PM on the assigned due date, which is typically a Wednesday. You are allowed to drop one homework assignment over the course of the semester. There will be between 10 to 11 assignments with the lowest homework score being dropped.

As a result, late homework will not be accepted. There will be no exceptions to this policy. Please start early and make sure your environment is working correctly and you are able to produce a working document. We have many CAs willing to help you out this semester. Please take advantage of our office hours.

Collaboration Policy

While working on homework, students are encouraged to work together in a group of at most 3 students. Students who opt to work together must list the full names and netids of the students that they have collaborated with at the top of the document. Each student must also turn in their own homework answers. This means that students should not share or copy homework answers, which may involve written explanations and code. In general, students should strive to independently write answers to the homework problems. Failure to do so will likely result in an academic integrity investigation being opened.

In addition, there is a lot of R code on the internet. Many students will be tempted to copy and paste code online or request help from programming communities. This behavior is okay as long as you cite where the code originated from and are not having someone answer the question in verbatim. Any code that is not cited but is able to be matched with available works online will be treated as plagiarism and fall under the class' academic integrity policy.

Distribution Policy

Each homework will be distributed over a GitHub Classroom assignment link. Please accept the assignment to create your repository.

Within your assignment, you should have:

  • hw01-assign.Rmd, the file used to create the homework document.
    • You may wish to use this as a template for your assignment.
  • hw01-assign.html, the homework rendered as an html file.
  • hw01-assign.pdf, the homework rendered as a pdf file.
  • Additional files such as external data or infrastructure files that should not be modified unless specifically told.

NB 01 should be replaced by the current two-digit homework number.

Assignment Submission

Homework must be submitted online through the GitHub Repository generated for each student.

The online submission must contain:

  • hw01-NetID.Rmd
  • hw01-NetID.html or hw01-NetID.pdf

The NetID component represents your NetID, e.g. the NetID is infront of, and 01 represent the two-digit homework assignment number.

Inside the .Rmd file, please make sure to update the author value away from "Full Name (NetID)" to your name and NetID.

As an example, on the fifth homework assignment, your instructor, whose netid is balamut2, would submit:

  • hw05-balamut2.Rmd
  • hw05-balamut2.html or hw05-balamut2.pdf
  • Any files needed to create the output document, e.g. hw05-balamut2.html, from hw05-balamut2.Rmd.

The hw05-balamut2.Rmd file would have

title: 'hw05: Radio Statistics'
subtitle: 'STAT 385 - Semester YYYY'
author: 'James Balamuta (balamut2)'
date: 'Due: Friday, Month Day, YYYY at HH:MM PM'
output: html_document

Depending on the assignment, you may need to place in the GitHub repository additional assets. For example, screenshots, scripts, or a package.

In general, the file structure for hw01 would look like:

|- /
   |- hw01-NetID.Rmd
   |- hw01-NetID.html
   |- image-exercise1.png
   |- image-exercise2.png
   |- image-exercise3.png
   |- test/
       |- render_rmds.R
   |- .travis.yml 
   |- project.Rproj 

All digital submissions must be made using either the RStudio git client or by using git terminal. Avoid adding, creating, renaming, or removing a file via the GitHub web interface. Any student found to be using the GitHub web interface to submit their homework will lose all points associated with committing.

This is presently the only class that emphasizes git skills within the Statistics department curriculum. Please do not try to circumvent learning this skill.


Each homework assignment will be a variable number of points; however, each homework assignment will have equal weight towards your final grade. Grades will be based on both accuracy and presentation of information. In general, you should make your document as easy to read for the CAs as possible.

Documents that are difficult to read will receive overall point reductions depending on the level of difficulty.


  • Please read every exercise carefully. If the wording of an exercise is problematic, immediately let the course staff know.
  • Include your name and NetID in the final document, not only in your filenames.
  • Your .Rmd file must be written such that, when stored in a folder with any data you are asked to import, it will knit properly without modification. If your git repository is organized properly, this should not be an issue. That is, you should use relative references to external files.
  • Your resulting .html or .pdf file will be considered a "report" which is the material that will determine the majority of your grade. Be sure to visibly include all R code and output that is relevant to answering the exercises. (You do not need to include irrelevant code you tried that resulted in error or did not answer the question correctly.)
  • Be aware of directions for code randomization for each exercise.

Group Project

There are five assignments associated with the group final project. They are:

  • Project Proposal
  • Project Video Demo
  • Project Report
  • Evaluation of Peers
  • Evaluations from Peers

Details on each stage will be released mid-semester.


Instead of examinations, there will be eight bi-weekly quizzes that begin on Week 1 and go to Week 16 of the semester. We will drop one quiz and we will offer a "make up" quiz the following week such that students can earn 1/2 the points back from their prior performance.

Thus, each quiz is worth ~5%, which accounts for 35% of the overall course grade.

Edit 04/26/19: Per student discussion, we've allowed for one quiz to be a dropped.

This course uses the College of Engineering Computer Based Testing Facility (CBTF) in the Grainger Engineering Library in room 57 for its exams:

As a result, students are:

  1. free to choose their examination date and time within a specified examination period.
  2. answering questions using a computer

Students will need to go to the CBTF to take the quiz. The examinations are tenatively scheduled to open in the morning and close in the evening on:

Days Times
Sunday 12 PM - 9 PM
Monday 10 AM - 9 PM
Tuesday 10 AM - 9 PM

The policies of the CBTF are the policies of this course, and academic integrity infractions related to the CBTF are infractions in this course.

If you have accommodations identified by the Division of Rehabilitation-Education Services (DRES) for exams, please take your Letter of Accomodation (LOA) to the CBTF proctors in person before you make your first quiz reservation. The proctors will advise you as to whether the CBTF provides your accommodations or whether you will need to make other arrangements with your instructor.

Any problem with testing in the CBTF must be reported to CBTF staff at the time the problem occurs. If you do not inform a proctor of a problem during the test then you forfeit all rights to redress.


There are no midterm or final examinations in this course. Instead, we have quizzes and a group project.

Late or Missing Work

Late work will not be accepted for homework or the group project.

As the date and time of an exam is chosen by a student over an examination window, there will be no make-up exams administered once the window closes.


Regrade requests must be made in writing within 3 days of when the assessment is returned. Please write an e-mail to the instructor that describes the grade issue and provides justification as to why a regrade should occur. Make sure to include what the grade is and what it should be. Please note, by disputing any grading, you agree to allow the course staff to review the entire assessment for other errors missed during grading.

Common requests for regrades:

  • Points totalled incorrectly
  • Answer should be considered correct

Course Grades

Type Percentage
Homework 45
Quizzes 35
Group Project 20

Grading Scale

Minimum Grade Points
A- \(\left[90, 100\right]\)
B- \(\left[80, 90\right)\)
C- \(\left[70, 80\right)\)
D- \(\left[60, 70\right)\)
F \(\left[0, 60\right)\)

This grading scale may only be lowered and not raised at the end of the semester.

University Policies

Academic Integrity

The official University of Illinois policy related to academic integrity can be found in Article 1, Part 4 of the Student Code. Section 1-402 in particular outlines behavior which is considered an infraction of academic integrity. These sections of the Student Code will be upheld in the STAT 385 classroom. Any violations will be dealt with in a swift, fair and strict manner.

You may discuss methods for completing assignments with other students, but the execution of these methods and the preparation of the document must be done independently. Furthermore, there can be no discussion with other students or collaboration of any kind on exams. Sufficient evidence of sharing results, collaborating on written assignments, or simply relying on internet resources will generally result in:

  • First offense: receiving an undroppable zero on the assignment and being written up for an academic integrity violation.
  • Second offense: receiving an F in the course, an academic integrity violation, and recommendation for expulsion from the University.

If the evidence is indicative of a larger pattern, then the harshest penalty will be pursued.

Note that cheating includes both obtaining others' work, as well as distributing your own work.

  • You may discuss the assignment with your classmates, but your final answers must be your own. Your final document should be created independently.
  • To avoid any issues, do note copy and paste code. (With an exception for code provided for the course.)
  • Do not share RMarkdown files.

If we detect academic integrity violations, we will contact you through the FAIR system.

In short, please do not cheat.

Support resources and supporting fellow students in distress

As members of the Illinois community, we each have a responsibility to express care and concern for one another. If you come across a classmate whose behavior concerns you, whether in regards to their well-being or yours, we encourage you to refer this behavior to the Student Assistance Center (333-0050) or online at Based upon your report, staff in the Student Assistance Center reaches out to students to make sure they have the support they need to be healthy and safe.

Further, we understand the impact that struggles with mental health can have on your experience at Illinois; significant stress, strained relationships, anxiety, excessive worry, alcohol/drug problems, a loss of motivation, or problems with eating and/or sleeping can all interfere with optimal academic performance. We encourage all students to reach out to talk with someone, and want to make sure you are aware that you can access mental health support at the Counseling Center ( or McKinley Health Center ( For mental health emergencies, you can call 911 or walk-in to the Counseling Center, no appointment needed.


To obtain disability-related academic adjustments and/or auxiliary aids, students with disabilities must contact the course instructor and the Disability Resources and Educational Services (DRES) as soon as possible. To contact DRES, you may visit 1207 S. Oak St., Champaign, call 333-4603, e-mail or go to the DRES website.



The instructor reserves the right to make any changes that are academically advisable. Such changes, if any, will be announced in class. Please note that it is your responsibility to attend the class and keep track of the proceedings.