Last Build: 05/16/19 3:39pm


This syllabus is similar to a contract between students and the instructor, and as such it is quite long (with many sections required by the university). A few key points from this syllabus are highlighted here:

  • Use Piazza for all course communication. (See: Communication Policy)
  • You should be stuck for an hour on a problem before seeking help, but you should definitely seek help if you have been stuck for an hour. (See: Getting Help)
  • Do not cheat. This includes working too closely with your classmates, or copying code or designs without attribution. (See: Cheating Policy)
  • The portolio of work you complete for this class is public, which can be very useful for finding employment. As such, the more time you put into this class the more you will get out of it. (See: Credit Hour Policy)

Students are still required to read through the entire syllabus below.

Basic Information

This section covers basic information about the course, instructor, and teacher assistants.

CS 360/560 Data Visualization

Spring 2019 • 4 Credits

This course introduces both CS 360 and CS 560 students to the fundamentals of data visualization. This includes discussion of perception, design, and evaluation. Students will also be introduced to a variety of visualization techniques for high-dimensional, temporal, hierarchical, network, and/or geospatial data. The course utilizes a variety of programming languages and environments, such as Tableau, JavaScript and D3, Vega, and others.

Students enrolled in CS 560 will additionally read and present research papers in the area of data visualization.

CS 360 Course Catalog   CS 560 Course Catalog

Lecture Sections

The class times for CS 360/560 are:

CS 360-01 (CRN 21004)
Tuesdays, Thursdays
12:45pm – 2:30pm
Lo Schiavo Science G12
CS 560-01 (CRN 21010)
Tuesdays, Thursdays
12:45pm – 2:30pm
Lo Schiavo Science G12

Class time will consist of traditional lectures, live coding sessions, discussions, guest speakers, student presentations, and more.


The course instructor and office hours will be as follows:

Sophie Engle
Mondays, Thursdays
2:45pm – 4:15pm
Harney Science 412B

Teacher Assistants

The teacher assistant(s) assigned to this course are:

Majid Alturki
Harney Science 411
Homework Grading
Gordon Li
Mondays, Fridays
1:40pm – 2:40pm
Harney Science 411
Office Hours


Students enrolled in CS 360 must have completed at least ONE of the following courses with a minimum grade of C before taking this class:

Students enrolled in CS 560 must have completed at least BOTH of the following courses with a minimum grade of B before taking this class:

Learning Outcomes

At the end of this course, students should be able to:

  • Understand basic fundamentals of designing and evaluating data visualizations
  • Understand how to interpret and design standard data visualization techniques for high-dimensional, temporal, hierarchical, network, and geospatial data
  • Understand how to use cutting-edge tools to prototype interactive data visualizations

Assessment of these outcomes will be done by a combination of participation assignments, presentations, homework, and projects. See Course Requirements below for details.

Required Materials

This course utilizies freely-available resources and software. Students will need to create a free Github account for this course. There are no required books, but several will be recommended throughout the course of the semester.

Important Dates

The following are important dates and deadlines for the course. These dates are fixed (i.e. they should not change as the semester progresses).

Date Description
Tue 01/22 Lectures Begin
Mon 01/28 Add Deadline
Fri 02/08 Drop Deadline
This is the last day students can drop the class with 100% refund and avoid a W on their transcript.
Mon 02/18 President's Day
Office hours will be canceled during this holiday.
Mon 03/11 –
Fri 03/15
Spring Break
Lectures, labs, office hours, and code reviews will be canceled during this holiday.
Tue 03/19 Midterm Project
The final release of the midterm project is due before class on this day.
Tue 03/19 –
Thu 03/21
Midterm Project Presentations
Students will present their midterm projects in-class this week.
Mon 04/08 Withdraw Deadline
This is the last day students can withdraw and receive a W on their transcript.
Thu 04/18 –
Fri 04/19
Easter Holiday
The holiday begins at 4:00pm 04/18.
Thu 05/09 Lectures End
Thu 05/16 Final Project
The final release of the final project is due before the final project presentations begin.
Thu 05/16 Final Project Demonstration Videos
Students will show their pre-recorded final project demonstration videos in lieu of a final exam from 12:30pm to 3:30pm.

Instead of a final exam, students will give final project presentations during finals week. This is scheduled for Thursday, May 16, 2019 from 12:30pm – 3:30pm.

See the Schedule for the latest weekly schedule.

Course Requirements

This section covers how the learning outcomes for this course will be assessed. The majority of the grade will be derived from projects instead of exams. See the following subsections for details.

Grade Breakdown

The final grade for this course will be calculated as follows:

Category Percent
Participation 10%
Presentations 15%
Homework 20%
Midterm Project 25%
Final Project 30%

Each of these categories are described more below.


Participation includes pass/fail assignments such as peer feedback and grading for homework, participating in surveys, discussions on Piazza or Canvas, in-class exercises, occasional lab exercises, and participating in other on-campus or off-campus CS events.

All feedback and discussions must be professional, substantive, constructive, and follow the Student Conduct Code for the university.

 Late submissions are not accepted.


Students are expected to give several in class presentations, as well as prepare demonstration videos to be shown in class. This includes a 10 minute in-class data visualization talk, in-class midterm project group presentation, and a pre-recorded final project demonstration video that will be shown during the final exam slot for this class.

Presentations will be graded on preparedness and organization, presentation materials, clarity and enthusiasm, and finally time management. Students are highly encouraged to use the Speaking Center to help prepare for these presentations.

 Late submissions are not accepted.


There are 4 homeworks that will be assigned throughout the semester, and usually due in two weeks. These assignments must be completed individually.

Homework will be graded by functionality (not aesthetics) on a +/– letter scale via a mix of self-reported and peer-reported grades. The teacher assistants and instructor reserves the right to modify these grades as appropriate.

 Late submissions are not accepted.


Instead of exams, students must complete a group midterm project and an individual final project. Students will be required to present these projects to the class. This includes preparing a project proposal, alpha release, beta release, and final release.

The midterm and final projects make up the majority of the final grade. Project grades place an emphasis on the resulting interactive data visualization(s) and accompanying text, not on the underlying code quality. Projects will be graded by the instructor.

 Late submissions are not accepted.

Grading Scale

The following is the grading scale mapping percentage to letter grade and GPA for this course:

Letter GPA
97% ≤ A+ < 100% 4.0
94% ≤ A < 97% 4.0
90% ≤ A– < 94% 3.7
87% ≤ B+ < 90% 3.3
84% ≤ B < 87% 3.0
80% ≤ B– < 84% 2.7
77% ≤ C+ < 80% 2.3
74% ≤ C < 77% 2.0
70% ≤ C– < 74% 1.7
67% ≤ D+ < 70% 1.3
64% ≤ D < 67% 1.0
60% ≤ D– < 64% 0.7
0% ≤ F < 60% 0.0

Non-passing grades for undergraduate students are highlighted in  red . See the Undergraduate Regulations for more about letter grades and GPA for undergraduate students.

Non-passing grades for graduate students are highlighted in  yellow  or  red . See the Graduate Regulations for more about letter grades and GPA for graduate students.

Course Policies

This section includes miscellaneous policies specific to this course, including communication, attendance, credit hours, cheating, and more. These policies are in addition to the standard USF policies included later.

Communication Policy

Most course-related communication will be handled using Piazza—a FERPA-compliant Q&A platform that supports public, anonymous, and private posts. When making posts on Piazza, please keep the following in mind:

  • Make a public post when appropriate. This lets us answer questions once for all students. You can post anonymously if you are uncomfortable with attaching your name to a post or a response. When posting anonymously, your classmates will not be able to see your identity, but instructors will still be able to see your name (necessary to give you credit for participation and ensure everyone is following the code of conduct).

     If you make a private post that should be public, you will be asked to create a new public anonymous post before receiving an answer.

  • Do not post code on Piazza. If you have a question regarding your specific code, please commit and push your code to your GitHub repository and post a link.

     Small code snippets (under 5 lines) are okay as long as they are not revealing a homework or project solution. For example, it is okay to post a small snippet from lecture and ask for clarification. It is not okay to publicly post the exact lines code needed to satisfy a participation or homework assignment.

  • Make posts regarding grades or specific solutions private to the instructor and teacher assistants. When making private posts, they should always be marked as visible by both the instructor and teacher assistants so there is no confusion.

In addition to Piazza, the instructor will also use Canvas to notify students of missing assignments or warn about low grades. Both the instructor and teacher assistants will use Github for project-related communication. You may also ask for help in-person during office hours, lectures, or lab sessions. Theses are the only officially approved channels of communication for contacting the instructor or teacher assistants.

Under no circumstances should you reach out to the teacher assistants via any other communication channel. We want you to reach out to us for help, it just has to be via official channels. University policy states that instructors and teacher assistants must provide all students equal opportunity for course-related help. Using non-official communication channels turns a TA-student relationship into a tutor-student relationship, which is unfair to other students.

For example, it is appropriate to use text messages to invite a teacher assistant to lunch as friends. It is NOT appropropriate to start asking that teacher assistant questions about the course during that lunch! It is also NOT appropriate to directly text message course-related questions to that teacher assistant, even if you are friends and were able to get help from them before. You can, however, ask that teacher assistant for help during official office hours.

 Any communication sent directly to the instructor or teacher assistants outside of official channels will redirected before being answered.

Announcements Policy

All announcements will be posted on Piazza. All students are expected to enroll in Piazza and monitor the announcements in a timely manner. This includes any changes to the lecture, office hour, or deadline schedule.

Attendance Policy

Students are expected to be on-time to all classes to minimize disruption. Attendance is mandatory for all student presentations, guest speakers, and in-class exercises. Presentation dates will be posted on the course schedule.

Credit Hour Policy

All courses at the University of San Francisco must comply with the Credit Hour Policy, which states:

One unit of credit in lecture, seminar, and discussion work should approximate one hour of direct faculty instruction and a minimum of two hours of out-of-class student work per week through one 15-week semester.

As this is a 4 credit course, students must spend a minimum of 8 hours of out-of-class work per week to earn a passing letter grade. To earn a higher letter grade, students should expect to spend closer to 10 to 15 hours per week on assignments.

 The portolio of work you complete for this class is public, which can be very useful for finding employment. As such, the more time you put into this class the more you will get out of it.

Cheating Policy

All students are expected to know and adhere to the University's Honor Code (see below). In short, students must never represent another person's work as their own. Examples of honor code violations include (but are not limited to):

  • Copying code or designs without attribution from the web
  • Copying from another student (past or current)
  • Having anyone other than yourself complete your work (including tutors)
  • Working too closely with others such that your code no longer represents an individual contribution

Flagrant or repeat violations of the honor code will result in an F in the course, a report to the Academic Integrity Committee (AIC), and a report to the Dean. At the discretion of the instructor, a less severe penalty may be imposed for minor or first offenses. This is at the sole discretion of the instructor and any violation may result in an F in the course.

There are other less tangible consequences as well. Most CS professors do not write letters of recommendation for students caught cheating (making it more challenging to get into graduate school or be competitive on the job market). Even if you are not caught cheating, it is unlikely you will do well in future technical interviews or on the job when cheating is not an option.

 Unauthorized collaboration or discussion that results in the same or very similar code indicates that you have not placed enough independent work into your submission and is a violation of the honor code.

Policy Exceptions

Exceptions to most course policies are made only in the case of verifiable exceptional circumstances. This includes medical emergencies, mental health and well-being crises, or family-related emergencies. Extensions must be arranged prior to the original deadline unless in case of extreme emergency (such as an emergency room visit).

 Have travel plans for a family event (such as a wedding or graduation) or academic/professional conference (such as Grace Hopper or an internship interview)? Contact the instructor ahead of time to make arrangements. Keep in mind you will likely be asked to submit assignments early versus getting an extension. Please note exceptions will not be made for other events (such as concerts, comic cons, and so on).

Getting Help

A good rule of thumb is to seek help after you have been stuck for an hour. There are many ways to get help with this class:

  • Ask questions on Piazza. Most questions receive a response in under 24 hours (sometimes within 30 minutes). You may figure out your problem before you get a response, but then you can delete your question or mark it as solved.

  • Ask questions during the instructor office hours. Office hours are first-come first-serve and there is lots of seating (including power outlets for charging).

  • Ask the teacher assistants for help during their office hours, or a CS tutor for help at the CS Tutoring Center. While they may or may not have a background in data visualization and/or JavaScript, it often helps to just talk about your code with someone (see rubber duck debugging).

  • Ask your classmates for high-level help or hints, but be careful! To avoid violating the cheating policy and academic integrity policy, make sure you never share code with your classmates or look at the code of your classmates.

If you are feeling generally overwhelmed (including emotionally) and need advice, do not hesitate to reach out to the instructor. Since office hours can be crowded at times, you are welcome to schedule an appointment with the instructor via Piazza to chat in private.

University Policies

This section includes standard statements on University policies and resources, including: disclaimers on confidentiality, mandatory reporting, sexual assault; statements regarding USF's Honor Code and Academic Integrity and behavioral expectations; important campus resources for student health, safety, and wellbeing.

Behavioral Expectations

All students are expected to behave in accordance with the Student Conduct Code and other University policies (see Students whose behavior is disruptive or who fail to comply with the instructor may be dismissed from the class for the remainder of the class period and may need to meet with the instructor or Dean prior to returning to the next class period. If necessary, referrals may also be made to the Student Conduct process for violations of the Student Conduct Code.

Academic Integrity

As a Jesuit institution committed to cura personalis—the care and education of the whole person—USF has an obligation to embody and foster the values of honesty and integrity. USF upholds the standards of honesty and integrity from all members of the academic community. All students are expected to know and adhere to the University's Honor Code. You can find the full text of the code online at The policy covers:

  • Plagiarism – intentionally or unintentionally representing the words or ideas of another person as your own; failure to properly cite references; manufacturing references.

  • Working with another person when independent work is required.

  • Submission of the same paper in more than one course without the specific permission of each instructor.

  • Submitting a paper written by another person or obtained from the Internet.

 See the class-specific policy on academic integrity for additional cheating examples and the consequences for violating this policy.

Learning, Writing, and Speaking Centers

The Learning, Writing, and Speaking Centers at USF provide individualized support to assist you in better understanding course material and to aid you on your path to success. Services are free and include one-on-one tutoring, group tutoring, and one-on-one Academic Skills Coaching appointments to discuss effective study strategies. The Learning Center supports over 80 courses each semester. The Writing Center helps students develop their writing skills in rhetoric, organization, style, and structure, through one-on-one interactive conferences. The Speaking Center helps students prepare for public speaking—including speeches, oral presentations, team presentations, and visual aid demonstrations. International students may also contact us to learn more about communicating with professors and general academic study skills. The Learning, Writing, and Speaking Centers are located on the Lower Level of Gleeson Library (G03). Please contact them at (415) 422-6713 for further assistance or visit:

Counseling and Psychological Services (CAPS)

CAPS’ diverse staff offers brief individual, couple, and group counseling to student members of our community. CAPS services are confidential and free of charge. Call (415) 422-6352 for an initial consultation appointment. Telephone consultation through CAPS After Hours is available Monday – Friday from 5:00 p.m. to 8:30 a.m., 24 hours during weekends and holidays; call the above number and press 2. Further information can be found at

Students with Disabilities

If you are a student with a disability or disabling condition, or if you think you may have a disability, please contact USF Student Disability Services (SDS) at (415) 422-2613 within the first week of class, or immediately upon onset of disability, to speak with a disability specialist. If you are determined eligible for reasonable accommodations, please meet with your disability specialist so they can arrange to have your accommodation letter sent to me, and we will discuss your needs for this course. For more information, visit

Confidentiality, Mandatory Reporting, and Sexual Assault

As instructors, one of our responsibilities is to help create a safe learning environment on our campus. We also have a mandatory reporting responsibility related to our role as faculty. We are required to share information regarding sexual misconduct or information about a crime that may have occurred on USF’s campus with the University. Here are some useful resources related to sexual misconduct:

  • To report any sexual misconduct, students may visit the Title IX coordinator (UC 5th floor) or see many other options by visiting

  • Students may speak to someone confidentially or report a sexual assault confidentially by contacting Counseling and Psychological Services at (415) 422-6352.

  • To find out more about reporting a sexual assault at USF, visit USFs Callisto website at:

  • For an off-campus resource, contact San Francisco Women Against Rape (SFWAR) (415) 647-7273 (