There are multiple CX4242 sections. This is the course homepage for campus CX4242A.

CX4242A, Spring 2020
Data and Visual Analytics

Georgia Tech, College of Computing

4:30 - 5:45pm, Klaus 1447, Tue & Thu

Mahdi Roozbahani
Lecturer, School of Computational Science & Engineering
in collaboration with
Duen Horng (Polo) Chau
Associate Professor, School of Computational Science & Engineering
Piazza: Piazza Link
This course will introduce you to broad classes of techniques and tools for analyzing and visualizing data at scale. It emphasizes on how to complement computation and visualization to perform effective analysis. We will cover methods from each side, and hybrid ones that combine the best of both worlds. Students will work in small teams to complete a significant project exploring novel approaches for interactive data & visual analytics.

Course Goals

  • Learn visual and computation techniques and tools, for typical data types
    • Learn how to complement each kind of methods
    • Gain a breadth of knowledge
  • Work on real datasets and problems
  • Learn practical know-how (useful for jobs, research) through significant hands-on programming assignments

Acknowledgement

We thank the generous support of Amazon Web Services and Microsoft Azure for free cloud credits, Intel for curriculum development of the memory mapping module (scaling up algorithms with virtual memory), and Tableau for data visualization software.

Announcements and Discussion

The fastest way to get help with homework assignments is to post your questions on Piazza. That way, only our TAs and instructor can help, your peers can too.

If you prefer that your question addresses to only our TAs and the instructor, you can use the private post feature (i.e., check the "Individual Students(s) / Instructors(s)" radio box).

While we welcome everyone to share their experiences in tackling issues and helping each other out, but please do not post your answers, as that may affect the learning experience of your fellow classmates.

For special cases such as failed submissions due to system errors, missing grades, failed file uploads, emergencies that prevent you from submitting, personal issues, you can contact the staff using a private Piazza post.

Course Staff & Office Hours

TAs will hold office hours starting week 2, except on Georgia Tech holidays (e.g., thanksgiving, MLK day, Recess break). Each office hour session will be run by at least one TA, and is 1 hour long. See GT’s academic calendar for the full list of holidays (https://registrar.gatech.edu/calendar). We will spread the office hours across weekdays.

Please note that you are always welcome to ask questions on Piazza. Office hours supplement Piazza, and do not replace it.

Picture Mahdi Roozbahani Tue, 5:45PM-6:45PM After the class (my office access in Coda is very hard)
Picture Vatsal Srivastava Thursday 1:00pm to 2:00pm / Location: in Klaus building lobby at the first floor (next to room 1325)  
Picture Sharmila Baskaran Tuesday 11:30am to 12:30pm / Location: in Klaus building lobby at the first floor (next to room 1325)  

Course Schedule Evolving

For all dates used in this course, their times are 23:59 eastern time zone (11:59 pm ET). For example, a due date of "August 20" is the same as "August 20, 23:59pm ET".


Wk Dates Topics Tue Thu Homework (HW) Project
1 Jan 7,9 * Course Introduction
* Analytics Building Blocks
* Data Science Buzzwords
* Data Collection
intro building blocks, buzzwords, data collection    
2 14,16 * SQLite
* Data Cleaning
* Code Back-up & Version Control
* Class Project Overview
SQLite, git cleaning, project overview HW1 out
Fri, Jan 17
 
3 21,23 Example projects:
(1) Compare Cuisine

(2) TRENDER: Interactive Visualization Exploring News Trend of the World
Class Project Overview
Data Integration
Example project presentations, project overview project overview data integration, vis 101    
4   28,30 * Data Integration
* Visualization 101
* Data Visualization for Web (D3)
D3 cont'd

HW1 due
Fri, Jan 31


HW2 out
Fri, Jan 31

5 Feb 4,6 * Data Visualization for Web (D3)
* Data Analytics, Concepts and Tasks
* Introduction to Clustering: k-means, hierarchical clustering, DBSCAN, vis
analytics tasks, clustering   Form project teams by
Fri, Feb 7
6 11,13 * Fixing Common Visualization Issues
(* publication-quality figures)
* Scalable Computing: Hadoop
* Scalable Computing: Pig
* Scalable Computing: Hive
fix vis,hadoop, pig hive, spark    
7 18,20 * Scalable Computing: Spark
* Scalable Computing: HBase
* Classification: concepts, cross-validation, k-NN
* Overview of project proposal and presentation
hbase classification HW2 due
Fri, Feb 21

HW3 out
Fri, Feb 21
 
8   25,27 * Project proposal presentation
* Advice for Getting Models Work
Show time! Show time!   Proposal document due
Mon, Feb 24

Proposal presentation slides due
Mon, Feb 24
9 March 3,5 AWS tech day;
* Decision trees
AWS Tech DAY Decision trees;  
10 10,12 * Decision trees
* Ensemble Method
Guest Lecture: Dr. Tianlong Xu from HomeDepot (Cancelled because of COVID-19
Ensemble Method: bagging, random forests
Guest Lecture from HomeDepot Data Analysis department HW3 due
Fri, March 13


HW4 out
Fri, March 13
11 March 17,19 No Class - Spring Break X X  
12 March 24,26 Transition to online class Class Video Lecture Class Video Lecture  
13 March/April 31,2 * Visualization for Classification: ROC, AUC, confusion matrix
* Graph analytics: basics & power laws
* Graph analytics: centrality, personalized PageRank, and interactive applications
Evaluating Machine Learning Methods,
Graph basics, laws, centrality, pagerank, mmap
Class Video Lecture
Graph basics, laws, centrality, pagerank, mmap Hbase
Class Video Lecture
Progress Report due
Fri, April 3
14 April 7,9 * Graph analytics: scaling up with virtual memory
HBASE
Publication-quality figures
* Text Analytics: concepts, algorithms (LSI=SVD)
Graph Analytics MMAP, HBASE
Class Video Lecture
text algorithms
Class Video Lecture
HW4 due
Fri, April 10
15 April 14,16 * Text Analytics: concepts, algorithms (LSI=SVD)
* Time series: basics and linear forecasting
text algorithms
Class Video Lecture
Time series: basics and linear forecasting
Class Video Lecture
 
15 21,23 * Time series: non-linear forecasting, visualization
* [Potentially] Review/lessons learned
Non-linear forecasting No class - Posting your optional project video presentation

Final report due
Tue, April 21

This course can be very tough for many!

WARNING! You are expected to quickly learn many things simultaneously, and for some materials you will need to learn them on your own (e.g., Linux commands, for working with MS Azure/Amazon AWS). This can be very intimidating for many students.

The amounts of time students spend on this class greatly vary, based on their backgrounds, and what they may already know. Some former students told us they spent about 40-60 hours on each homework assignment (we have 4 big assignments, and no exams), and some reported much less. For example, for the homework assignment about D3 visualization programming, students who are completely new to javascript, css, and html likely will spend significantly more time than their peers who have already tried them before. Some former students who do not have a computer science background found the homework assignments challenging, would take significant time and effort, but were rewarding, fun, and "do-able."

Students have at least 2 weeks to complete each homework assignment. Some students waited until the last week, and could not finish. It is critical to plan ahead and prepare for the significant time needed.

Almost all homework assignments involve very large amount of programming tasks (which naturally means likely a lot of debugging will be needed, thus can be time consuming). You should be proficient in at least one high-level programming language (e.g., Python, C++, Java), and is efficient with debugging principles and practices. If not, you should NOT take this course. Instead, you should first take CSE 6040 (for OMS Analytics students) and, if needed, CS 1301 and CS 1371 as well.

Some programming assignments involve high-level languages or scripting (e.g., Python, Java, SQL etc.). Some assignments involve web programming and D3 (e.g., Javascript, CSS, HTML). For example, an assignment on Hadoop and Spark may require you to learn some basic Java and Scala quickly, which should not be too challenging if you already know another high-level language like Python or C++. It is unlikely that you all know tools/skills needed in the programing tasks, so you are expected to learn many of them on the fly.

Basic linear algebra, probability and statistics knowledge is also expected.

Homework

We have 4 big assignments in total (subject to change). Visit this course's Canvas site for the assignment documents. See the schedule table above for deliverable due dates.
  • [10%] HW1: Collecting & visualizing data, SQLite, D3 warmup, OpenRefine, Web Development with Flask and jQuery
  • HW2: D3 Graphs and Visualization
  • [15%] HW3: Hadoop, Spark, Pig and Azure
  • [10%] HW4: Scalable PageRank via Virtual Memory (MMap), Random Forest, Scikit-Learn

Project

See project description. See the schedule table above for deliverable due dates.

Distance Learning Students (Q Section)

A standard 3-day lag applies to all homework and project deliverables.  For project presentation, a group that has DL student member can choose to:
  1. Present in class without 3-day lag; or 
  2. Submit a video presentation with 3-day lag (e.g., screen capture)

Grading Policy

  1. There will be 4 homework assignments. Together, they are worth 50% (10%, 15%, 15%, 10%)  of the course grade.
  2. There will be one course group project worth 50% of the course grade. The project components are:
    1. Proposal (7.5% of course grade)
    2. Proposal presentation (5%)
    3. Progress report (5%)
    4. Final poster presentation (7.5%)
    5. Final report (25%)
  3. You must achieve an overall weighted average of 60% to pass the course.
  4. All deliverables will be graded by our TAs, except the project poster presentation, which will be peer-graded.
  5. When assigning course grades, I will start with the standard grade thresholds (90, 80, etc.). I may lower (and never raise) the thresholds (i.e., to your benefits). For example, I may use 88 instead of 90.

Deliverable Due Dates

All homework and project deliverables will be due at the times shown in the Course Schedule. These times are subject to change so please check back often.

Plagiarism, Collaboration Policy, and Student Honor Code

  • All course participants (myself, teaching assistants, and learners) are expected to know and abide by the Georgia Tech Academic Honor Code.
  • Ethical behavior is extremely important in all facets of life.
  • Plagiarism is a serious offense. You are responsible for completing your own work. You are not allowed to copy and paste, or paraphrase, or submit materials created or published by others, as if you created the materials. All materials submitted must be your own.
  • You may discuss high-level ideas with other students at the "whiteboard" level (e.g., how cross validation works, use hashmap instead of array) and review any relevant materials online. However, each student must write up and submit his or her own answers.
  • All incidents of suspected dishonesty, plagiarism, or violations of the Georgia Tech Honor Code will be subject to the institute’s Academic Integrity procedures (e.g., reported to and directly handled by the Office of Student Integrity (OSI)). Consequences can be severe, e.g., academic probation or dismissal, grade penalties, a 0 grade for assignments concerned, and prohibition from withdrawing from the class.

Late Policy and Due Dates

  • All homework and project deliverables are due at the times shown in the Course Schedule. These times are subject to change so please check back often.
  • Every homework assignment deliverable and every project deliverable comes with a 48-hour "grace period". You do not need to ask before using this grace period.

    Your deliverable may be submitted (and resubmitted) up to 48 hours after the official deadline without penalty, but Canvas will mark your submission as "late"

    Canvas automatically appends a "version number" to files that you re-submit. You do not need to worry about these version numbers, and there is no need to delete old submissions. We will only grade the most recent submission.
  • Any deliverable submitted after the grace period will get 0 credit. We recommend that you submit your work before the grace period begins.
  • We will not consider late submission of any missing parts of a deliverable. To make sure you have submitted everything, download your submitted files to double check. If your submitting large files, you are responsible for making sure they get uploaded to the system in time. You have 48 hours to verify your submissions!
  • No penalties for medical reasons or emergencies. And should they arise, you must contact the Dean of Students office. Doctor's notes, medical documentation, explanation of emergencies, etc. should be submitted to the Dean’s office. After their office receives the information, we will notify me on your behalf.

Timing Policy

  • The course videos follow a logical sequence that includes knowledge-building and experience-building (assignments).
  • Assignments should be completed by their due dates, in order for timely peer assessment. Peer assessments should also be completed by their due dates, to give timely feedback.
  • You will have access to the course content for the scheduled duration of the course.

Netiquette

  • Netiquette refers to etiquette that is used when communicating on the Internet. Review the Core Rules of Netiquette. When you are communicating via email, discussion forums or synchronously (real-time), please use correct spelling, punctuation and grammar consistent with the academic environment and scholarship1.
  • We expect all participants (learners, faculty, teaching assistants, staff) to interact respectfully. Learners who do not adhere to this guideline may be removed from the course.
1. Conner, P. (2006-2014). Ground Rules for Online Discussions, Retrieved 4/21/2014 from http://teaching.colostate.edu/tips/tip.cfm?tipid=128

Dataset Ideas (may need API, or scraping)

Resources

All content and course materials can be accessed online. There is no textbook for this course.

All Georgia Tech students have FREE access to https://www.safaribooksonline.com, where you can find a huge number of highly rated and classic books (e.g., the "animal" books) from O'Reilly and Pearson covering a wide variety of computer science topics, including some of those listed below. Just log in with your official GT email address, e.g., jdoe3@gatech.edu.

Software engineering; become a better programmer and developer

D3 Visualization; Javascript

Big Data

We also recommend the following books and resources.

Python

Data science, machine learning, data mining

Visualization

SQL

Probability

Human Computation

Office of Disability Services

The Office of Disability Services offers accommodations for students with disabilities. Please contact the office should you need help.

Prerequisites

Review Mahdi's "warnings" before taking this course.

Additional formal prerequisites for CSE 6242

None, but you should have taken courses similar to those listed in the next section, at Georgia Tech or at another school.

If you are an Analytics (OMS or campus) degree student, you should first take CSE 6040 and do very well in it; if necessary, please also first take CS 1301.

Additional formal prerequisites for CX 4242

(Undergraduate Semester level MATH 2605 Minimum Grade of D or
Undergraduate Semester level MATH 2401 Minimum Grade of D or
Undergraduate Semester level MATH 24X1 Minimum Grade of D) or
and
(Undergraduate Semester level MATH 3215 Minimum Grade of D or
Undergraduate Semester level MATH 3225 Minimum Grade of D or
Undergraduate Semester level ECE 3077 Minimum Grade of D or
Undergraduate Semester level ISYE 2027 Minimum Grade of D)
and
(Undergraduate Semester level CS 1371 Minimum Grade of C or
Undergraduate Semester level CS 1372 Minimum Grade of C or
Undergraduate Semester level CX 4010 Minimum Grade of C or
Undergraduate Semester level CX 4240 Minimum Grade of C)

Auditing & Pass/Fail

Due to the class size, I am not offering auditing and pass/fail option.

Previous offerings

See https://poloclub.github.io/#cse6242 for all past course offerings.

Acknowledgment & Related Classes

We thank Intel's support in curriculum development for the memory mapping module (scaling up algorithms with virtual memory).

We thank Amazon Educate for providing free cloud credit for Amazon Web Services. We are excited to be am AWS partner university and part of AWS Educate's private beta.

We thank Microsoft Azure's special grant for providing free cloud credit.

We thank Tableau for Teaching program's data visualization software.

Many thanks to my colleagues for sharing their course materials:
  • Prof. John Stasko - Information Visualization - Fall 2012
  • Prof. Jeff Heer - Research Topics in Interactive Data Analysis - Spring 2011
  • Prof. Christos Faloutsos - Multimedia Databases and Data Mining - Fall 2012