Syllabus

Contact Information:

  • Instructor: James Henderson ()
  • Instructor office: 3530-A Rackham
  • Instructor office hours: Thursday 3-4:30, Friday 1:30-3 and by appointment.
  • GSI: Bach Viet Do ()
  • GSI office hours: Monday 12-3pm at the SLC Annex in 2165 USB

Key Dates:

  • Drop/Add deadline: Sep 23
  • In-class midterm exam: Th Oct 17
  • Project:
    • Assigned Th Oct 24
    • Draft due W Nov 20
    • Revisions due W Nov 27
  • Final Class: Tu Dec 10
  • Final Exam: M Dec 16 4-6pm
  • No Class: Tu Oct 15 (Study Break), Th Nov 28 (Holiday)
  • Office of the Registrar

If exam or project due dates interfere with religious holidays you observe please let me know prior to the drop add deadline (Sep 23) so we may work out alternative arrangements.

Grading information:

  • Midterm exam: 15%
  • Final exam: 20%
  • Course project: 15%
  • Problem sets (~6 sets, top 5 scores): 40%
  • Readings & Quizzes: 10%

Text books

There are no required texts for this course. There are three recommend texts.

The Art of R Programming, by Norman Matloff, is recommended for those with little to no previous experience in R.

Advanced R, by Hadley Wickham, is recommended for those who would like to develop a deep understanding of R and its inner workings.

R for Data Science, by Garrett Grolemund and Hadley Wickham, is a helpful bridge between these two.

Pre-requisites:

You should have taken or be currently enrolled in an intermediate applied statistics course such as Stats 500, and you should be comfortable programming in at least one programming language or scripting in a statistical software language.

Course Description:

Stats 506 covers a variety of topics related to the use of computing for analyzing, managing, and presenting data. The topics below represent an approximate plan for the course. I reserve the right to modify this plan. Topics will be supplemented with computing and data analysis case studies.

  • Overview of computing languages for statistical computing
  • Linux shell and utilities
  • Git for version control
  • R basics: vectors, objects, I/O, functions, programming.
  • R: matrices and vectorization
  • R: the dplyr and tidyr packages
  • R: graphics using ggplot2
  • Rmarkdown
  • Object oriented programming in R
  • Stata basics
  • Strings, dates, and regular expressions
  • R: the data.table package
  • Re-sampling techniques
  • Parallel and asynchronous computing
  • Batch computing and HPC
  • SAS basics
  • SQL
  • Memory in R
  • Testing and profiling code
  • Basic C++ and Rcpp

Computing Resources

All of the software in this course is available without charge for UM students. Some software, such as R, is free and open source and can be installed on your personal machine. You should install both R and RStudio as described in steps 1 and 2 here.

You will also need an ssh client, such as Terminal (Mac), Putty (Windows) or Powershell (Windows).

Submitting work late

You are expected to turn in all problem sets by the due dates listed on canvas. However, to accommodate unexpected circumstances you may turn in problem sets up to 72 hours late for a 5 point (~6%) reduction. In addition, we will count only the highest 5 assignments. The 72 hour policy does not apply to quizzes, projects, or exams.

Accomodations for students with disabilities

If you think you need an accommodation for a disability, please let me know at your earliest convenience. Some aspects of this course, the assignments, the in-class activities, and the way the course is usually taught may be modified to facilitate your participation and progress. As soon as you make me aware of your needs, we can work with the Services for Students with Disabilities (SSD) office to help us determine appropriate academic accommodations. SSD (734-763-3000; http://ssd.umich.edu) typically recommends accommodations through a Verified Individualized Services and Accommodations (VISA) form. Any information you provide is private and confidential and will be treated as such.

Academic Integrity

Unless specifically stated otherwise, students are expected to complete homework and other assignments independently without copying code or text from other students in this course. Students are encouraged to discuss assignments and to help one another with concepts and syntax, but such discussions should not reach the point of representing one student’s work as another’s.

Use of materials from other sources should fall within the license for those materials and include proper attribution.

For more on academic integrity, please be advised of Rackham policy: http://www.rackham.umich.edu/policies/academic-policies/section11.

Mandatory Reporting and Sexual Misconduct

Title IX prohibits sex discrimination to include sexual misconduct: harassment, domestic and dating violence, sexual assault, and stalking. If you or someone you know has been harassed or assaulted, you can receive confidential support and academic advocacy at the Sexual Assault Prevention and Awareness Center (SAPAC). SAPAC can be contacted on their 24-hour crisis line, 734-936-3333 and online at sapac.umich.edu. Alleged violations can be reported non-confidentially to the Office for Institutional Equity (OIE) at . Reports to law enforcement can be made to University of Michigan Police Department at 734-763-3434.

As an instructor, one of my responsibilities is to help create a safe learning environment on our campus. I also have a mandatory reporting responsibility. I am required to share information regarding sexual misconduct or information about a crime that may have occurred on U-M’s campus with the University. Students may speak to someone confidentially by contacting SAPAC’s Crisis Line at (734) 936-3333.