(Slash Course: CS 499 Special Topic / CS 549 Selected Topic in Data Science & Systems)
School of Electrical Engineering and Computer Science
Oregon State University
Tue & Thu at 4:00 - 5:20pm
KEC 1005
Prof. Minsuk Kahng
Assistant Professor, School of Electrical Engineering and Computer Science
Website: https://minsuk.com
How can we help people effectively analyze very large data? This new course introduces visual analytics, an emerging field of study on combining interactive data visualization approaches with automated data analysis techniques, enabling users to gain deeper insights about their data. Students will learn the fundamental knowledge of data visualization, state-of-the-art techniques in visual analytics, and practical skills for designing and implementing web-based interactive, visual interfaces, with the goal of helping human users effectively explore and analyze data and make data-driven decisions.
At the completion of this course, students will:
It is strongly recommended to have web development experience (CS 290 or equivalent), because students will be heavily using JavaScript and HTML/CSS for programming assignments and group project. We will have a lab session to cover the basics of JavaScript for those who are less familiar with JavaScript. If you have very limited programming experience (e.g., no CS degree), I recommend you not to take this course this time.
It would be helpful if you have taken Databases (CS 340), Advanced Web Development (CS 499 by Hess), and Usability Engineering or HCI (CS 352/565), but they are not required. It would also be helpful if you have taken Information Visualization (CS 458), but the instructor will assume students do not have knowledge in Information Visualization, and he will teach the basics of Information and Data Visualization at the beginning of the course.
This course will cover the following topics (subject to change).
Week | Tue | Thu | Assignments |
---|---|---|---|
1 | Course Introduction | Data Abstraction | * Pre-Course Survey |
2 | Multivariate Data Visualizations | Graphical Encodings | * HW 1 out: Visualization Design |
3 | Exploratory Data Analysis & Tableau [Lab] | Task Analysis | * HW 2 out: Exploratory Analysis |
4 | HTML/CSS, SVG, JavaScript [Lab] | Svelte, D3.js [Lab] | |
5 | Interactions (1) [Lab] | Interactions (2) [Lab] |
* HW 3 out: Visualization Programming
* Project Team Forming |
6 | High-dimensional Data Visualizations | Visualization for Machine Learning | |
7 | Perception and Color [Lab] | Prototyping User Interfaces | * HW 4 out: Survey |
8 | Project Posters | Interactive Machine Learning [Lab] | * Project Progress Report |
9 | Rule of Thumb, Project Discussions | Evaluating Visualizations | |
10 | Project Final Presentations (1) | Project Final Presentations (2) | * Project Final Report |
11 | No Final Exam |
Your performance will be evaluated via projects, individual assignments, in-class programming activities, reading response, and participation. The distribution of grading will be as follow (subject to change):
Graduate students taking CS 549 will have additional assignments on writing research a short research survey.
By the end of the term, your team will develop a web application that visualizes large-scale real world data, as a final product of your group project. It will likely be a single-page web application that runs on web browsers, written in JavaScript based on what you will learn from lab sessions. To help you learn how to implement such a web-based visualization tool, we will have lab sessions and an individual programming assignment.
The team receives one grade for the group project. However, allocation of the grade among team members will in some cases not be equal, if team members do not contribute relatively equally to the effort. It will be calibrated based on project feedback and evaluation form around the end of the term.
This course is a hands-on course, and there will be many in-class activities. Starting in Week 3, there will be lab sessions on programming. Students will be expected to complete programming exercises and submit them during class. They can discuss with peers and freely ask questions to the instructor during class. In order to work on these activities, students are expected to bring their own laptop to class.
Students are expected to read pre-class readings before class and write a short 50-100 word reading response to Canvas three hours before class (i.e., 1pm). Your response can be about any of the following points or similar:
For most cases, you will read textbook chapters and/or academic papers, and
all the readings will be provided.
The following textbook will be used for some of our pre-class readings, but you don't have to buy it, as it is available for free as an
online book from the OSU Library.
Visualization Analysis and Design
Author: Tamara Munzner
Publishers: CRC Press
Students are strongly encouraged to actively participate in class. For example, they can ask questions, share their in-class work with other students, create discussion posts on Piazza, etc.
No late submission is allowed for reading responses and in-class activities. The lowest reading response score will be dropped.
Late Policy for homework and project deliverables:
Many announcements will be made during in-person class meetings.
We use Canvas for additional announcements, assignment submissions, grading, etc.
We use Piazza for questions and discussion. If you have any questions or comments for the instructor, you should use the private post feature (i.e., check the "Individual Students(s) / Instructors(s)" radio box). Please DO NOT send emails to the instructor. You won't get response. It is also the case for any other matters, such as missing grades, Canvas errors, class attendance, COVID-related concerns, personal issues. The only time you want to send emails to the instructor is when Piazza is not working. If you think questions can be answered by peers, you can also post your questions on Piazza without the "Individual Students(s) / Instructors(s)" option. That way, either your peers or the instructor can help.
We use GitHub Classroom for managing all the programming assignments.
This website will be used only for syllabus. For up-to-date information (e.g., schedule), please check Canvas's Modules menu.
This course does not have a TA , unfortunately.
The instructor will hold office hours starting Week 2.
Students must wear a face covering properly all the time when attending class. The university has a requirement to use a face covering when in indoor spaces in order to contribute to the health and safety of the OSU community during the ongoing COVID-19 pandemic. Please contact the instructor at the first day of class if you have concerns with meeting this expectation. I encourage you to review the the policy on OSU's Safety and Success Planning yourself, to understand the university's expectations around the use of face coverings outside the classroom, OSU's Vaccination requirement, and OSU's isolation and quarantine requirements.
This course is NOT a hybrid class. By default, every student is expected to attend in-person classes at KEC 1005. However, if you have a positive COVID-19 test result, have symptoms of COVID-19, need to quarantine, or have a known or suspected exposure to COVID-19, please do not come to class and write a private Piazza post to the instructor, describing your situation at least three hours BEFORE class. The instructor will try to accommodate on a case-by-case basis then (e.g., livestreaming via Zoom).
Academic dishonesty will not be tolerated in this course. This includes plagiarism, cheating, and knowingly assisting others in either of these. (Please see the OSU Code of Student Conduct Section 4.2 "Academic Misconduct" for official guidelines.) If you are found to be guilty of academic dishonesty, you will receive a penalty grade (0 on the assignment and additional deduction on other assignments within the same category) and be reported to the Office of Student Conduct and Community Standards. You will also face the possibility of further disciplinary action (such as suspension from class, your program, or the university). Academic misconduct, or violations of academic integrity, can fall into seven broad areas, including but not limited to: cheating; plagiarism; falsification; assisting; tampering; multiple submissions of work; and unauthorized recording and use. It is important that you understand what student actions are defined as academic misconduct at Oregon State University. The OSU Libraries offer a tutorial on academic misconduct, and you can also refer to the OSU Student Code of Conduct and the Office of Student Conduct and Community Standard’s website for more.
Plagiarism: Remember that ANY sources you use in your assignment must be cited, including any electronic sources. Plagiarism is preventable. If you have any questions about how to use outside resources properly, what counts as plagiarism, etc., please ask me. The following are some general examples of plagiarism: copying without quotation marks, copying someone else's code or scripts, copying someone else's design, copying someone else's text, using someone else's facts or ideas without citing your source, paraphrasing someone else's writing without acknowledgment or citation, taking passages from another author, with slight changes to grammar or to the arrangement of the sentences, which make little or no difference to the meaning: This is plagiarism!
This class is our community. Every student should feel safe and welcome to contribute in this course, and it is all of our jobs to make sure this is the case. I will try to establish this tone whenever possible, but ultimately the responsibility for cultivating a safe and welcoming community belongs to the students---that means you! Fortunately, forming a safe and welcoming community is not too hard. A good place to start is to recognize (and continually remind yourself) of the following facts:
In addition, the OSU Expectations for Student Conduct apply.
In short, treat your classmates as respected colleagues, support each other when needed, have fun without spoiling it for anyone else, and everybody wins.
Accommodations for students with disabilities are determined and approved by Disability Access Services (DAS). If you, as a student, believe you are eligible for accommodations but have not obtained approval please contact DAS immediately at 541-737-4098 or at http://ds.oregonstate.edu. DAS notifies students and faculty members of approved academic accommodations and coordinates implementation of those accommodations. While not required, students and faculty members are encouraged to discuss details of the implementation of individual accommodations.
CS 499/549 is designed based on a number of visualization courses offered in other universities. Below I list some of them. I especially thank Professors Jeffrey Heer and Enrico Bertini for sharing their materials with me.