CMDA 3654


Topic: Intro to Data Analytics & Visualization

Lecture: Online Synchronous (TR:5:00-6:15PM)

Instructor: Xin (Shayne) Xing, Email: xinxing AT

TA: Steven Barnett , Email:

TA office hours: Tuesday, 10:00 AM - 11:00 AM (zoom link)

Office hours: Monday, 10:00 AM-11:00 AM (zoom link)

Piazza: Link


Course description & Prerequisites

Basic principles in data analytics; supervised and unsupervised statistical methods; basic deep learning methods for supervised learning; data visualization of standard-size and large size datasets; basic programming language: R.

This course is a required course for the Computational Modeling and Data Analytics Degree. The course sequence is listed at the 3000 level so that the students will have been previously exposed to introductory mathematics (linear algebra, multivariate calculus), a programming language, introductory statistics (basic mathematical statistics), and probability. Students without strong preparation in these will need to invest significant additional time to fill in the gaps.

All class materials are distributed online; for example, you may view most class notes and homework assignments on the Schedule. Canvas is used to report scores from quizzes, homework and the final project.

Recommended Text Book

An Introduction to Statistical Learning with Applications in R
Gareth James, Daniela Witten, Trevor Hastie and Robert Tibshirani

Advanced topics:

The Elements of Statistical Learning: Data Mining, Inference, and Prediction
Trevor Hastie,Robert Tibshirani,Jerome Friedman

Deep Learning
Ian Goodfellow and Yoshua Bengio and Aaron Courville

In-class Quiz

The in-class quiz (each 10 points) must be submitted on canvas within an hour after the class. If the quiz is submitted in time, it will be guaranteed to have at least 5 points. If the quiz is not submitted in time, it will receive a zero score.

Homework Assignments

Weekly homework assignments will be posted in the on-line Schedule and are due each Thursday at the beginning of class starting from the second week, unless otherwise announced in class. Late homework that overdue in 24 hours are penalized to 90% of its total score. Homework that overdue for more than 24 hours would not be accepted, and missed homework receive zero scores. Homework assignments must be submitted at Canvas. Grades will be returned to you on Canvas.

It is expected that students will read the slides and refereed materials listed in the Schedule . Your work must be legible, include name, and be submitted in a single pdf file. You are expected to put in 6-8 hours of work outside of class. A few of you will do well with less time than this, and a few of you will need more. You must write up your final answers and write your own code: copying homework solutions is not allowed.

Final Project

There will be one final project. The final report will include a well-written pdf document including (introduction, data visualization, Model & methods, Results). You must write up your final report and code by your own input. Please see Final Project Instructions for details.

Final Exam

I will hold the following exam date for the final exam.
Exam Date: May 08, 2021
Begin Time: 7:00 PM
End Time: 9:00 PM


Your grade will consist of in-class quiz (5%), Homework (50%), a Final Project (25%), and a final exam (20%).

Quiz 5%
Homework 50%
Final Project 25%
Exam 20%

The total score is the weighted average of scores in all categories. The total scores in 90-100 are guaranteed at least an A-. The total scores in 80-90 are guaranteed at least an B-. The total scores in 70-80 are guaranteed at least an C-. The total scores in 60 - 69 are guaranteed at least a D-. The lower bound of each interval may be expanded, which depends on the overall performance.

Academic Integrity

The Undergraduate Honor Code pledge that each member of the university community agrees to abide by states:

“As a Hokie, I will conduct myself with honor and integrity at all times. I will not lie, cheat, or steal, nor will I accept the actions of those who do.”

Students enrolled in this course are responsible for abiding by the Honor Code. A student who has doubts about how the Honor Code applies to any assignment is responsible for obtaining specific guidance from the course instructor before submitting the assignment for evaluation. Ignorance of the rules does not exclude any member of the University community from the requirements and expectations of the Honor Code. Academic integrity expectations are the same for online classes as they are for in person classes. All university policies and procedures apply in any Virginia Tech academic environment. For additional information about the Honor Code, please visit:

Honor Code Pledge for Assignments: The Virginia Tech honor code pledge for assignments is as follows:

“I have neither given nor received unauthorized assistance on this assignment.”

The pledge is to be written out on all graded assignments at the university and signed by the student. The honor pledge represents both an expression of the student’s support of the honor.

The field of Computational Modeling and Data Analytics requires professionals who act with the highest ethical standards. CMDA teaches skills that empower you to have a tremendous impact upon the world. We teach you these skills with the expectation that you will exercise them responsibly.

Responsible practice is a habit forged during your undergraduate studies. CMDA majors demonstrate their sound ethical foundation by completely adhering to the Virginia Tech Honor Code in all their courses. Please read the detailed policy at


Time Materials Homework
Week 01 (01/18-01/24) Lecture 1: Intro to data science
Lecture 2: Syllabus and R installation
Readings: Artificial Intelligence-The Revolution Hasn't Happened Yet
Install R, RStudio and knit to pdf on your laptop ( Mac/Windows)
An Introduction to R
R Markdown (cheat sheet)
Homework 01
(due on 5:00PM, 01/28.)
Week 02 (01/25-01/31) Lecture 3: Intro to R Programming 1 (code) (video)
Lecture 4: Intro to R Programming 2 (code) (video)
Readings: Find basic R function in (R basic cheat sheet)
Homework 02
(due on 5:00PM, 02/04.)
Week 03 (02/01-02/07) Lecture 5: Intro to R Programming 3 (code) (video)
Lecture 6: Advanced R functions (code) (video)
Readings: More on functions
Leibniz formula for pi
Homework 03
(due on 5:00PM, 02/11.)
Week 04 (02/08-02/14) Lecture 7: Basic R Plot 1 (code) (video)
Lecture 8: Basic R Plot 2 (video)
Homework 04
(due on 6:00PM, 2/18.)
Week 05 (02/15-02/21) Lecture 9: Advanced Visulization in R 1 (code) (video)
Readings: ggplot2: Elegant Graphics for Data Analysis (cheat sheet)
Homework 05
(due on 5:00PM, 02/25.)
Week 06 (02/22-02/28) Lecture 10: Advanced Visulization in R 2 (code) (video)
Homework 06
(due on 5:00PM, 03/04.)
Week 07 (03/01-03/07) Lecture 11: Data Input and Cleaning 1 (code) (video)
Lecture 12: Data Input and Cleaning 2 (code) (video)
Homework 07
(due on 5:00PM, 3/11.)
Week 08 (03/08-03/14) Lecture 13: Simple Linear Regression 1 (code) (video)
Lecture 14: Simple Linear Regression 2 (code) (video)
Readings: Chapter 3 in An Introduction to Statistical Learning with Applications in R
Homework 08
(due on 5:00PM, 03/19.)
Week 09 (03/15-03/21) Lecture 15: Simple Linear Regression 3
Lecture 16: Multiple Linear Regression 1 (code)
Homework 09
(due on 5:00PM, 03/25.)
Week 10 (03/22-03/28) Lecture 17: Multiple Linear Regression 2 (code)
Lecture 18: Multiple Linear Regression 3 (code)
Homework 10
(due on 5:00PM, 04/01.)
Week 11 (03/29-04/04) Lecture 19: Logistic Regression 1 (code)
Lecture 20: Logistic Regression 2 (code)
Homework 11
(due on 5:00PM, 04/08.)
Week 12 (04/05-04/11) Lecture 21: Principle Component Analysis 1 (code)
Homework 12
(due on 5:00PM, 04/15.)
Week 13 (04/12-04/18) Lecture 22: Principle Component Analysis 2 (code)
Lecture 23: Hierarchical Clustering (code)
Homework 13
(due on 5:00PM, 04/22.)
Week 14 (04/19-04/25) Lecture 24: Intro to Neural Network 1 (code)
Lecture 25: Intro to Neural Network 2
Sample Exam
Final Project
Final Project Instructions
Due on May.6