Comp
488-001
Data Visualization
Fall, 2019
Course #: |
COMP 488-001 (in-person flipped with
several online meetings)
COMP 488-002 (online)
Course IDs: 6187, 6918
|
Day/Time: |
Thursday, 4:15 - 6:45
|
Classroom: |
Cuneo Hall, Room 117
|
Prerequisites: |
COMP 271 or Instructor Permission
|
Instructor: |
Dr. Channah Naiman |
email: |
cnaiman@luc.edu |
web page: |
http://webpages.cs.luc.edu/~cnaiman |
office hours:
|
to be announced
Doyle Center 205, x. 88113 (I don't really check this number.
please email me!!)
Our classroom is available at 3:45, and it is also free after class.
|
TA:
|
not happening...
|
Course Description:
This course introduces students to the concepts and techniques of
Data Visualization for exploration and explanation of a dataset.
Students learn the guidelines for good visualizations; how to
select a visualization appropriate to a specific application; and
modern tools used in constructing visualzaitons, including R-ggplot,
Excel's Pivot Tables, and Tableau.
Outcome:
Students will be able to select and construct appropriate
visualziations for different applications, using a range of tools and
techniques.
Learning
Objectives:
- Appreciate the role of Data Visualization in various domains
- identify good and bad visualizations, and the criteria to
critique
- Select the appropriate visualization for a
specific purpose
- Use various tools and techniques to construct a range of
visualizations for both exploration and explanation
- Learn to "tell a story" about your data using visualization
Course
Materials: All of the material (texts, labs and
software) that
you need for this course is available for free online, at various sites:
- For
the Intro to
Data Visualization module of the course, links are provided in the
Course Schedule and on Sakai under the appropriate topic. Some
important links include:
- For
the R module of the course, below are the main links (in effect, the
"text" for this part of the cousre). Additional links are
posted
in Course Schedule or Sakai topic.
- Jared Lander. R for
Everyone, Advanced
Analytics and Graphics 2nd edition, Addison-Wesley, 2017.
ISBN-13: 978-0134546926.
You do not need to buy
the book. There is a free 48-page preview
of the first edition available at the Pearson site. There are
also many sites
online
where you can sign up to be able to download a pdf. However,
I
walked through many
examples that
are inspired by this text.
- Alboukadel Kassambara. Guide
to Create Beautiful
Graphics in R, STHDA, 2013. isbn:
9781532916960. Most examples, with small
modifications, are available on his wonderful website
and his R
support website.
- ggplot2
documentation
- O'Reilly
text. Comprehensive book on R, not just for
visualization, but chapters on viz also.
- Nice site for playing with
R.
- CodeAcademy
for R.
- The
resources in R and ggplot are endless! Datacamp, and many,
many
more.
- If you are interested in the statistical side of R, you
may want this book as an R
reference.
- For the Tablea module of the course, there are many sites and
youtube videos. Just touching the surface with some links used in
the course:
- There are too many support sites, blogs and videos to
mention. Stackoverflow is one that deserves mention, but there
are many others.
- Course Support:
- Assignment submission and grades will be maintained on Sakai.
Software:
- We will be using R and RStudio for the R module of the
course.
- We willbe using both Tableau Public and Talbeau Desktop for the
Tableau module of the course:
Sakai:
As of this writing, Sakai will be used for course
announcements,
homework submissions, and grade postings. While the raw
scores
posted on Sakai should be correct (although I have encountered some
problems with that too!), please do not rely upon Sakai's Course Total
calculations. Usually, they are okay, but there have been
problems. I check the total grade postings periodically, to
check up on Sakai's calculations. Certainly, before the
mid-term grade posting on Locus, and before the drop deadlines, check
your grades (and I will too!) Grades are calculated as
specified in this
syllabus.
Class
Format:
This class is almost completely
"flipped". There are videos for lectures and "lab prep". It
is important to come prepared to class, since you will be working on
labs and assignments during class time. Generally, labs and
assignments are completed in class and are due at the end of the class
session in which they are listed. Exceptions will be noted in
class and/or posted on Sakai. Often, lab materials will not
become available until the beginning of the class session.
Cell Phones: Only
you know
the relative importance of any particular
cell phone call, and whether it is important for you to answer a call
immediately rather than later. I do want you to be respectful of your
classmates and disrupt the class as little as is practical.
If you get cell phone
calls with fair frequency, be sure to have the ring muted before coming
to class. If you rarely get calls, you might not mute it ahead, and
your cell phone may happen to ring. Get rid of the noise as soon as
possible, and do not get flustered. I assume you will move outside the
classroom for a conversation. If you get fairly frequent calls that you
are likely to consider important answering, sit in a place where your
exit and re-entrance are as unobtrusive as possible.
Labs/Assignments:
Labs and assignments are usually required to be completed during
class time. Due dates are listed in the syllabus on the Course
Schedule. You may usually submit your work with a
partner. Exceptions will be noted in class. However, every student must submit something in Sakai: either
submit the lab/assignment, or submit a comment telling me who is
submitting
the assignment on your behalf. If you are submitting on behalf
of your partner, please submit a comment in the
Sakai Assignment box to that effect.
Project:
You will form teams of two to complete a project,
which
is a major visualization assignment in R and Tableau. The project will be
discussed further in class.
Programming
Environment: Campus Network, Rights and
Responsibilities
As a user of the campus network, you should be aware of your rights and
responsibilities in
http://www.luc.edu/its/itspoliciesguidelines/policy_acceptableuse.shtml
Much of your work will be done on your laptop, on your local server,
and on our class server. So I don't think there will be an
issue
with saving your work. However, if you use the University
computers, be aware that the University computers labs provide Computer
Science students with
permanent storage on P: drive. If you use both computer lab machines
and other machines, or just share with a partner, you will want to take
all of your files with you. You can use a flash drive, Google Drive,
Mercurial and BitBucket, Box, or, in a pinch, send an email to yourself
or your partners wtih attachements.
Academic
Honesty:
The penalty for cheating may be anywhere from a 0 on an assignment to a
grade of "F" in this course. The appropriate dean will be informed in
writing of any cheating incidents. No exceptions, for any reason.
Cheating consists of, but is not limited to:
- Using or copying an outside person's work on an exam or
assignment in any fashion. "Outside person" includes a person who put
something on a web page. It has become depressingly familiar for me,
most every semester, meting out penalties for using someone else's work
on the web. Do not do it.
- Anything that vaguely resembles something from any
Instructor's
Manual anywhere.
- Work includes outlines, pseudocode, code, and documentation.
- Allowing your own work to be copied or used by an outside
person.
- Submitting as your own work something that has been written
by an
outside person (or web site).
- Using any unauthorized reference on an exam or assignment
- Not acknowledging and describing in writing on an
assignment any
help you received or gave.
- If you are working on a pair or group project, an "outside
person" only refers to people other than your assigned partner or team.
- Note that cheating goes both ways: both giving and
receiving.
- Consultation is allowed with the TA (if we are fortunate
enough
to get one) and with me. If you
consult with the TA and/or with me, still make a comment at the top
of your work about the substance and depth of the help.
Help from any source is fine concerning
- The meaning of program or query specifications (not the
plan for
the
solution or the actual solution).
- The tools used to write programs.
- The restrictions of the current programming language syntax.
Exams: As of thsi writing, there
are no exams. There is a culminating assignment in R, after the R
module of the course, and the Project is in lieu of a final exam.
Religious
Holidays: Students with religious holiday
conflicts: Please
let me know
within the first two weeks of class if you have a religious holiday
conflict with any exam or homework due date, so that we can plan on an
accommodation.
Students
with Disabilities: If you have a documented
disability
and wish to discuss academic accommodations, please contact the Student
Accessibility Center (773-508-3700 and
SAC@luc.edu) as soon as possible.
Students with documented disabilities who provide me with
a
letter from the SAC office will be fully accommodated as per the terms
of the letter. Students who are allowed to take their exams
in
the SAC office are encouraged to do so. Should you choose to
take the exam in the classroom, I cannot guarantee that the classroom
environment will be quiet enough to provide you with the environment
that your disability may require. If you choose to take the
exam in the classroom, you are taking that risk.
Students
with Sponsorships and Scholarships:
If you require a certain
grade in order to satisfy a sponsor or a scholarship requirement,
please be sure to monitor your grade on Sakai. I will
consider
only your performance in this course in calculating grades, using the
grading breakdown posted in this syllabus. If you cannot
achieve
a
minimum grade that is required by a sponsor or a scholarship, I will
not change your grade to help you meet that requirement. This
would be unfair to other students, and not reflecive of your
performance in this course. You are reponsible to monitor
your
grade and to keep apprised of the withdrawal
dates
posted by the registrar.
Grading:
There are 1005 possible points in the course. No extra
credit points avaialble. Grading is out of 1000 points (so 5
extra built in).
Orientation
(30 points)
Syllabus and Tour of
the course
video |
5
|
R and R Studio Installation |
5
|
Tableau Public Installation
|
10 |
Tableau Desktop Installation
|
10 |
Assignments
(595 points)
Visualization Critique
|
25 |
In-class: Intro R |
35 |
In-Class:
Motivating Example questions |
30 |
In-class:
RBase Graphics |
55 |
In-Class: ggplot:
qplot and ggplot
one-variable |
55 |
In-class: ggplot 2-dim lab assignment |
35 |
In-class:
ggplot homework |
100 |
In-Class:
Tableau Gallery Critique and project-relevant features |
25 |
Prep
DUE: completed .tbwx workbooks |
45 |
In-Class:
Project-relevant features from labs |
35 |
In-Class: using new
Marks for your project. |
45 |
Prep
DUE: Recreate WDC video workbook |
30 |
In-Class:
Drill down in your project, (or the SuperStore) |
30 |
In-Class:
Going beyond in your project |
50
|
Project(380 points)
Project Presentation
|
45
|
Project:
R Component
|
145 |
Proiect: Tableau
Component
|
145
|
Project
Excellence
|
45
|
Course
Schedule (a listing of topics, with approximate time frame):
The dates below give the sequence and a general idea of the
time
spent, though we may get ahead or behind this time schedule at
different points, depending on the needs of the class. Be
sure
to keep up with where we really are in class. There will be
weekly updates on Sakai, reflecting what we actually cover (and
therefore what is due, and when).
Except
for the first lecture and the exam, every lecture is a lab. You are
expected
to paricipate in all labs. Some assignments are listed as
"homework", but are actually started togeher in class, similarly to a
"lab". So the rule of thumb is: You have to be in
class for
everything, and complete all assignments the way you are instructed to
in class.
Date
|
Activities
|
In-Class Assignments
|
|
|
|
8/29
|
- Intro to DataViz: (video) PPTs
- What is it, why is it important? What story
do you want to tell?
- Tufte's Design Principles
- Cleveland and McGill
- Preattentive Processing
- Selecting the right chart
- Use of color
|
Assign: HW: Visualization
Critique
DUE (9/03): Orientation Video Tour of the Course
|
9/05
|
|
DUE: Visualization
Critique
In-class: Intro R
|
9/12
|
- Motivating Example (DataViz in the context of an
exploration/explanation epidemiology example.) project zip file
- Loading and data prep nhanes3 (video)
- Basic Exploration of Variables; cor; tapply, sapply (video)
- Data Management: cbind, subsetting; extract variables (video)
- Basic R plots focus on barplot, counting, table (video)
- Intro to ggplot (video)
|
In-Class: Motivations in the motivating example
|
9/19
|
|
In-Class: RBase Graphics |
9/26
|
|
In-Class: Intro ggplot one-variable lab
|
10/03
|
- ggplot two-variable plots same type project zip file
- ggplot 2-dim-same-type-scatter (video)
- ggplot-2-dim-same-type-text and also jitter (video)
- ggplot-2-dim-same-bivariate-facet-lines (video)
|
In-Class: ggplot, two-variable
|
10/10
|
|
In-Class: begin ggplot Homework
(complete as homework)
|
10/17
|
|
DUE: ggplot Homework
|
10/24 |
|
In-Class: Tableau Public
Gallery critique and features. Similar to your first assignment,
but on Tableau Public Gallery. Present at the end of class.
|
10/31
|
- Complete the following workbooks before class. These are
comprehensive examples, with many features and different types of
visualizations:
- Work on projects--incorporate some of the Tableau features into your project
- Maybe get to some Excel Foundations
|
In-class: Identify
specific features, visualization types, etc., from the Simply Learn
labs that might be appropriate for your project.
|
11/07 |
|
In-class: Create 1-3 worksheets for your project with at least 3 marks from the marks shown in the lab workbook.
|
11/14 |
- Lab-Prep: Drill Down (watch, but you are not required to recreate) video workbook dataset
- Lab-Prep: Web Data Connectors (you are required to recreate) video ppts
|
In-class:
Create a worksheet using drill-down with your project. If your
project dataset is not appropriate for use with drill down, you may use
the SuperStore dataset.
|
11/21
|
- Independent research on advanced visualizations. Possible sources
- 50 tips in 50 minutes video
- 50 charts in 50 minutes video
- Super Data Science--home page of multiple charts! Datasets
for the charts listed below can be found on the home page. But I
have provided youtube video links for the specific charts.
- Sankey Diagram video
- The video uses an "open with" option and an older way of performing the self-union. Please see my updates here.
- This is a difficult lab, using "data densification" and some complicated concepts and calculations.
- Sunburst Chart video Part 1 video Part 2 my update notes
- This chart requires reformatting data to a specific format
- Likert scale video (three-way join, pivoting data, not too hard)
- WordCloud video
- For your project, you may want to provide a new worksheet that has the words that will be used for your worksheet.
- Waterfall Chart video
- Funnel Chart video
- Lollipop, Dumbells, Slope, Butterfly (Diverging Bar Chart)
- and more!!!
- Anything
by
AnthonySmoak.com
- Practically anything by Ryan Sleeper
|
In-class: Incorporate an advanced or independently-researched feature into your project
|
12/05
|
Project
Work Day
|
DUE on 12/05: Any late assignments, with permission, for half credit
|
12/12
|
Project Presentations |
DUE: Project
|
n
Important
Dates:
Please refer to the the LUC
academic calendar