Comp 388/488-307
Data Visualization
Fall, 2017

Course #: COMP 388/488-307 (in-person with  several online meetings)
Course IDs:  6565, 6569
Day/Time: Monday 2:45 - 5:15
Classroom: Cuneo Hall, Room 117
Prerequisites: COMP 271  or Instructor Permission
Instructor: Dr. Channah Naiman
web page:
office hours:
usually Monday, 12:30 - 2:30.
Doyle Center 205, x. 88113  (I don't really check this number.  please email me!!)
Also, shortly before and after class in or near our classroom, if room available
not happening...
Syllabus Index
Learning Objectives
Texts and Software Grades
Tutoring Programmng environment
Academic Honesty
Class Format, Attendance
Religious Holidays
Homework/Assignments Students with Disabilities
Course Schedule Important Dates

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 and PowerBI.

Outcome:  Students will be able to  select and construct appropriate visualziations for different applications, using a range of tools and techniques.

Learning Objectives:
Course Materials: 
All of the material (texts, labs and software) that you need for this course is available for free online, at various sites:


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.  If Sakai presents too many problems, we will switch to CourseSites.

Class Format:
The class sessions will be a mostly lab, with lecture for the first class meeting.  Expect to participate, and we will be moving quickly during lab.  Unlike some of my other courses, I have not made videos for this course, so it's important that you follow along, as we have a lot to cover.   If you have a laptop, you will want to bring it to class, unless I let you know in advance. There are lab checks after most labs, and these are worth a couple of points each.  This is to ensure participation.  Right now the plan is that  labs and lab notes will be made visible only shortly before the class begins, as I want to make sure that you participate in building the lab itself.  The learning is in the process.  However, if I see that we are falling behind, we may shift to a "flipped" approach, where you can work on the labs before coming to class, and we can review problematic or difficult areas together in class.   Reading materials, lab assignments and homeworks are all posted (or in the case of the labs, will be posted shortly before the classes_, either on Sakai or linked to on this syllabus.

Because we are not relying on a traditional text, I will be presenting examples and demonstrating code from various sources, which I cite in the labs themselves.  Many examples are ones that I created, so there is no source. You are responsible for what is presented in class.  This is not an online course, so there is an expectation that you will be in class, completing the work that is covered. If you choose not to attend, that is your prerogative; however, make sure that you find out what you missed, and check to see if you can make up the points.  Sometimes, you cannot.  

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.

Homework Assignments:  Source code and Excel files and screen shots required  for your Homework and/or Lab assignments should be submitted to Sakai.  Lab assignments will usually be checked in class.  In addition, a list of the exercises and the due dates for each assignment are linked to on the Course Schedule.  You can submit your homework with a partner, since you are working together on homework anyway.  However, every student must submit something in Sakai:  either submit the homework, or submit a comment telling me who is submitting the homework on your behalf.  If you are submitting on behalf of your  homework 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.  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

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:
Help from any source is fine concerning
Exams:  There is one  exam.  It is between a midterm and a final exam, and is scheduled on 11/20, about 2/3 of the way through the course.  There is no final exam.  There is a final project instead of an exam.

If you must miss the exam, let me know well in advance. Then if you have a good reason we can possibly make other arrangements. I have little sympathy for people who inform me after the fact for no good reason. Exam absences will be veririfed.  If they can't be verified, you will not be excused. 

*No second try*: If you have an excuse for not being prepared to take an exam, but decide to take it anyway, you don't get to change your mind after you see a poor grade. Being sick is not a way to get one more chance than everyone else. I may allow you to delay an exam due to illness, but I will not let you be reexamined due to a poor grade.

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 Services for Students with Disabilities Office (773-508-3700 and as soon as possible.  Students with documented disabilities who provide me with a letter from the SSWD office will be fully accommodated as per the terms of the letter.  Students who are allowed to take their exams in the SSWD 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 1000 possible points in the course.  No extra credit points avaialble.
Lab Checks (160 points)
Intro R    20
RBase Graphics
ggplot2 (qplot and 1-var ggplot)
ggplot 2-var
Excel Hack
Excel Powev View   20
Excel PV Maps and 3D Maps
Power BI   20
Homeworks: (340 points)
Visualization Critique    40
Intro R     40
RBase Graphics
ggplot (very comprehensive assignment)
Excel Hacks  Lab assignment
Excel Hacks Homework   40
Excel Power View Homework      40
Orientation (50 points)
Tour of  the course video10
R and R Studio Installation10
Excel and PowerView Inst.10
Power BI Desktop Inst.10

Project and PBI "Exam Substitute" (450 points)
PBI Lecture/Lab    75
PBI Lab Assignment    50
PBI Project Integration    75
Project     200
Project Excellence
A "very good" project that fulfills the requirements and is perfectly satisfactory can earn full points for the Project.  That would be 250 points A "good" project should be about a B.  If you get full points on your project and do not earn any Project Excellence points, please don't ask me what you did "wrong".  The answer will most likley be  "nothing".  Project Excellence points can be earned for a project that is truly excellent, incorporating components well beyond the material covered in class, or simply having a real "Wow" factor.  A grade of "A" means "excellent".  There are many points in this course that could be considered free points.  Full points for Homework and Labs can be earned if significant effort is demonstrated:  you are graded for completeness, not necessasrily for correctlness (although grossly incorrect answers will be marked off).  But for a project to get an A, it must be excellent.
Course grades are assigned as follows:

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.  

  • Intro to DataViz:  
  • 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
  • Motivating Example (DataViz in the context of an exploration/explanation  epidemiology example.)
  • Intro R:  PPTs and RProj Lab (done together)
DUE:  HW Visualization Critique
DUE:  Lab Check IntroR
Assign:  HW:  Intro R
  • Intro-R, cont'd
  • RBase Graphics
DUE:  Lab Check RBase Graphics
Assign:  HW:  RBase Graphics
  • ggplot2:  qplot
  • ggplot2:  ggplot, one-variable plots
DUE:  HW Intro R
Lab Check:  ggplot, one-variable
  • ggplot two-variable plots
DUE:  HW  RBase Graphics
Assign:  ggplot Homework
Lab Check:  ggplot, two-variable
  • R and ggplot catch-up day.
  • Or, if we're caught up, we'll go ahead with Excel.
  • Project Discussion
  •  Excel:  "plain-old Excel"; hacks for non-standard Excel charts and graphs
  • We will complete some lab work in class.  There is ALSO a lab assignment., AND a separate HW.
DUE:  ggplot Homework
Assign:  Excel Hacks Lab Assignment
Assign:  Excel Hacks Homework
Lab Check:  Excel Hacks
  • PowerView: tables, filtering, basic charts, advanced charts
DUE:  Excel Hacks Lab Assignment
Lab Checks:  Power View tables/charts
  • PowerView:  Slices and PV Maps
  • 3D Maps
DUE:  Excel Hacks Homework
Assign:  PV Homework
Lab Check:  PV maps
11/13 Power BI: This is an intensive  3-part module, with 3 separate assignments and multiple videos.
The three parts are displayed in this Course Schedule over three weeks, but all are due on 12/03, so  plan your time accordingly.  You are also required to continue working on your project during these weeks.

Part 1 includes:
  • Introduction (it's NOT Excel or Power View, but sometimes it can look that way...)
  • Importing Excel Files and/or Data (if there's a data model)
  • Using built-in graphics
  • Installing Custom Graphics
-->Serious Project Check!!!
DUE:  PV Homework
DUE:  In-class lab, due at the end of class!
Lab Check:  Power BI
Exam:  The exam has been replaced by the 3-part PowerBI module, which includes an assignment that integrates PowerBI into your project!!

Part 2 includes:
  • Importing data from a remote MySQL database, and creating a data model.
  • Importing a DATA table from another PBI file, setting parameters and relating it to the data model.
  • Writing a simple DAX formula (a calculated column)
  • Creating time-related visuals
Project work
11/27 Online Class.  Part 3 of the Power BI module

Part 3 includes:
  • incorporating the PBI skills that you learned to create an interactive, time-responsible dashboard for your project dataset.

Project Work
Project Work Day
Complete labs
DUE on 12/03:  All 3 PBI assignments.  Check Sakai for details
Project Presentations DUE:  Project
Important Dates:
Here are some dates from the LUC academic calendar:

Fall Semester's Open Registration ends at Midnight Sun Aug. 27
Fall Semester Begins Mon Aug. 28
Late registration and registration change period begins, late registration fees apply Mon Aug. 28
Late and change registration ends, Last day to withdraw without a "W" grade Mon (Tues, if Labor day) Sept. 5 (Tues)
Labor Day weekend begins, Classes that begin at 4:15 p.m. or later do not meet Fri Sept. 1
Last day to withdraw from class(es) with a Bursar credit of 100% - dates maintained by Bursar Sun Sept. 10
Labor Day, Classes do not meet Mon Sept. 4
Classes resume after Labor Day Tues Sept. 5
Last day to convert from credit to audit or vice versa, Last day to request or cancel pass/no pass option Mon Sept. 11
Last day to withdraw from class(es) with a Bursar credit of 50% - dates maintained by Bursar Sun Sept. 25
Last day to withdraw from class(es) with a Bursar credit of 20% , zero credit therafter - dates maintained by Bursar Sun Oct. 1
Application for Degree. Last day to file, for degrees being awarded at the end of the Spring Semester and the Summer Term of the following year.   Oct. 1
Last day for students to submit assignments to change an "I" mark, from the preceding Spring and Summer Terms, to a letter grade. Faculty may set earlier deadlines. Fri Oct. 6
Mid-Semester Break: No classes Mon & Tues Oct. 9 - 10
Classes resume after Mid-Semester Break Wed Oct. 11
Early alert process begins on Mon of week 7 and runs through Fri of week 9 Mon Oct. 9
Last day to withdraw with a grade of "W," After this date the penalty grade of "WF" is assigned Fri Nov. 3
Spring Registration Begins Mon Nov. 6
Thanksgiving Break: No classes Wed- Sat Nov. 22 - Nov. 25
Classes Resume Mon Nov. 27
Fall Semester classes end Saturday Dec. 9
Final Exams M.Tu.W*.Th.Fr.Sa Dec. 11 - Dec. 16
*Study Day Wednesdays: No daytime exams will be held.