605.662.82 - Data Visualization

Computer Science
Summer 2024

Description

This course explores the underlying theory and practical concepts in creating visual representations of large amounts of data. It covers the core topics in data visualization: data representation, visualization toolkits, scientific visualization, medical visualization, information visualization, flow visualization, and volume rendering techniques. The related topics of applied human perception and advanced display devices are also introduced. Prerequisite(s): Experience with data collection/analysis in data-intensive fields or background in computer graphics (e.g., EN.605.667 Computer Graphics) is recommended.

Instructor

Default placeholder image. No profile image found for Richard Takacs.

Richard Takacs

rtakacs2@jh.edu

Course Structure

The course materials are divided into modules which can be accessed by clicking Course Modules on the course menu. A module will have several sections including the overview, content, readings, discussions, and assignments. You are encouraged to preview all sections of the module before starting. Modules run for a period of seven (7) days unless exceptions are noted in the Course Outline. Modules open on Tuesday each week. Additionally, unless otherwise noted, all assignments will be due on Tuesday nights by 11:59 PM EDT. 

You should regularly check the Calendar and Announcements for assignment due dates.


Course Topics

By the end of the course, students will be able to:
1. Describe the foundations of the human visual perception and how it relates to creating effective information visualizations.
2. Understand the design principles for creating effective visualization tools
3. Evaluate different visualization techniques and identify potential misleading charts and visualizations
4. Demonstrate familiarity of the visual design process by developing interactive data visualization tools
5. Understand different data types including tabular, hierarchical, geospatial, textual, and scalar and related visualization techniques to each data type
6. Show familiarity of existing data visualization tools and programming libraries

Course Goals

To learn practical concepts of graphic design related to data visualization and interactive design. This course will explore the underlying theory and practical concepts in creating visual representations of heterogeneous data. It will cover the core topics in data visualization including data representation, design principles, color, interaction, network visualization, cartography, volume rendering, and visual analytics. The new knowledge acquired during the semester will be used to solve practical data visualization and visual analytics problems.

Textbooks

No required book for this course. Links to various chapters, papers, and resources will be shared throughout the semester.

Other Materials & Online Resources

Any of the following texts or other texts that you may have from previous courses may be useful for this course if you find yourself struggling with specific skills:
• Interactive Data Visualization by Matthew Ward, Georges Grinstein, Daniel Keim, AK Peters, 2010.
• Information Visualization by Chaomei Chen, Springer Verlag, 2004
• Visualization Analysis and Design by Tamara Munzner A K Peters Visualization Series, CRC Press, 2014
• The Visual Display of Quantitative Information by Edward Tufte, Graphics Press, 1983.
• Visual Explanations by Edward Tufte, Graphics Press, 1997.
• Envisioning Information by Edward Tufte, Graphics Press, 1990.

Student Coursework Requirements

It is expected that each module will take approximately 7–10 hours per week to complete. Here is an approximate breakdown: video lectures and reviewing corresponding slides (approximately 2-3 hours per week), reading the assigned sections of the texts (approximately 2-3 hours per week) as well as some outside reading, writing programming assignments (approximately 2–3 hours per week), and online discussion (approximately 1 hour per week).

This course will consist of three basic student requirements:

1. Participation (20% of Final Grade Calculation)
Participation will be graded based on quizzes after some modules and discussions.

Quizzes: Some modules will have multiple choice quizzes at the end of the module to assess the student’s comprehension of the material discussed during that lecture. Quizzes should only take a few minutes to complete and must be completed by the end of module. No time limit to complete the quizzes.

Module Discussions: Most of the discussion of the class will happen online at the discussion board. Each module will have a topic / question that students must answer to obtain credit. To enable student interaction, students will be also required to reply to at least one comment from another student. To receive credit, the discussion of a specific module must happen before the first day of the following module.

Participation is graded as follows:

CriteriaExcellentSatisfactoryUnsatisfactory
Concise, Critical Thinking/ ReasoningStudent actively stimulates and sustains inquiry by asking or posting thoughtful questions or comments. Student recognizes accuracy, logic, relevance, or clarity of statements. Student has a clear idea of the topic under discussion and sustain inquiry by asking thoughtful questions. Responses are concise and reflect original thinking.Student posts questions and comments, but relies on momentum of the group to motivate inquiry. Student may be repetitive with comments. Student takes a position but with little evidence or explanation. Responses are somewhat concise and logically organized, and reflect a mixture of original thinking and contributions from othersStudent accepts ideas of others without much thought. Student provides little relevant information or contributes little to the discussion. Student shows little evidence of understanding the topic under discussion. Responses are neither clear nor concise. Little or no original thinking is demonstrated
Generates learning and engagement among classmatesPost(s) elicit responses and reflections from other learners and responses build upon and integrate multiple views from other learners to take the discussion deeperPost(s) attempt to elicit responses and reflections from other learners and responses build upon the ideas of other learners to take the discussion deeperPost(s) do not attempt to elicit responses and reflections from other learners and/or responses do not build upon the ideas of other learners to take the discussion deeper.
Demonstrates knowledge of content and applicability to professional practicePost(s) elicit responses and reflections from other learners and responses build upon and integrate multiple views from other learners to take the discussion deeperPost(s) and responses show evidence of knowledge and understanding of course content and applicability to professional practice.Post(s) and responses show little evidence of knowledge and understanding of course content and applicability to professional practice.
Timeliness and MechanicsSubmits initial response before the end of Day 5 in module week; replies to classmates are meaningful. Posts contain grammatically correct sentences without spelling errors.Submits initial response before end of Day 6 in module week; replies to classmates are present, but superficial. Posts have one or more grammatical or spelling errors.Submits initial response after Day 6 in module week; does not respond to classmates. Posts are not in complete sentences and/or contain more than 5 spelling or grammatical errors.

2. Programming Assignments (50% of Final Grade Calculation)
Programming assignments will count for 50% of the final grade. They will be distributed throughout the semester to enable students in a hands-on experience of implementing visualization techniques to explore data. Students will use Javascript, Python, C/C++, Tableau and/or other tools to implement their programming assignments. Programming projects will be graded according to (a) the quality of the results and (b) the clarity of the source code. See generic rubric below that will be used to grade programming assignments.

Critical Errors Program compiles and/or executes as expected (0 to 20 points)Program does not compile or runs correctly. Program executes and sometimes terminates with a segmentation fault. (0 to 15 points)Program compiles and runs correctly. Program executes and terminates properly without crashing but produces some run time warnings. (15 to 20 points)Program compiles and runs correctly. Program executes and terminates properly without crashing. (20 points)
Submission Error Project submitted following guidelines (0 to 10 points)Submission is incomplete and does not include all requested files. (0 to 5 points)Submission is mostly complete. Submission includes all requested files and for the most part follows the naming convention. (5 to 9 points)Submission is complete. Submission includes all requested files and follows naming convention. (10 points)
Correctness Implementation logical and correct (0 to 30 points)Program does not follow most of the requirements and the technical approach does not seem to be logical and correct. (0 to 14 points)Program implemented following most of the requirements and the technical approach (with the exception of 1 to 2 components) seems to be logical and correct. (15 to 25 points)Program implemented following requirements and the technical approach seems to be logical and correct. (25 to 30 points)
Efficiency & Design: Quality of Final Product (0 to 35 points)Program is not efficient and/or only works with a small set of input images. Overall design is not clear and logical. (0 to 15 points)Program is mostly efficient and most with multiple input images. Overall design is mostly clear, simple, and logical. (15 to 25 points)Program is efficient and works with multiple input images. Overall design is clear, simple, and logical. (25 to 30 points)
Documentation: Program Documentation (0 to 10 points)The source code is (for the most part) not documented. (0 to 5 points)Source code documentation is not complete or reasonable. (5 to 8 points)Source documentation is sufficient and reasonable. (8-10 points)
NOTE: Some programming assignments have a written section. That will be graded based on what is specified in each individual assignment.



3. Final Project (30% of Final Grade Calculation)
The final project is a significant part of the course. It allows students to synthesize the concepts learned throughout the semester and apply them to their own images and/or to their particular area of interest. The final project grades will be based on the following components:
• Draft Proposal (10%)
• Revised Proposal (10%)
• Literature survey (20%)
• Final paper (40%)
• Final program (20%)
See generic rubric below that will be used to grade the Final Project.


Project Proposal: Draft proposal and revised project proposal

(0 to 20 points)

Topic of the proposal not relevant to the class; proposal does not include detailed description, project plan, and a rough timeline. Revised proposal does not include revisions suggested by the instructor.

(0 to 15 points)
Topic of the proposal is relevant to the class. Proposal include description, project plan, and timeline. Revised proposal does not include revisions suggested by the instructor.

(15 to 20 points)
Topic of the proposal is relevant to the class. Proposal include description, project plan, and timeline. Revised proposal includes revisions suggested by the instructor.

(20 points)
Literature Review: Annotated bibliography 

(0 to 20 points)
Annotated bibliography that includes less that 4 references. References are missing description of the paper, its findings, and application to student project.

(0 to 9 points)
Annotated bibliography that includes at least 4 references. References have description of the paper but does not apply the research to student project.

(10 to 18 points)
Annotated bibliography that includes at least 4 references. References have description of the paper and the application of the research to student project.

(19 to 20 points)
Final Paper: Paper submission with describing final project

(0 to 40 points)
Paper describes class project, technical approach, and results, but does not include all sections of a research paper. The paper has grammatical errors.

(0 to 19 points) 
Well-written paper that describes a well structured class project. Includes sections for: Introduction, Literature Review, Technical Approach, Results, Conclusion, and Research Limitations. 

(20 to 30 points)
Publication-quality paper that describes a comprehensive  class project. Includes sections for: Introduction, Literature Review, Technical Approach, Results, Conclusion, and Research Limitations. 

(30 to 40 points)
Final Project Code: Code, images, and data used in final project

(0 to 20 points)
Program that compiles and performs most of what the student describes in their paper. The code has some documentation and the project follows most of the required naming convention 

(0 to 10 points)

Efficient program that compiles and performs most of what the student describes in their paper. The code has some documentation and the project follows most of the required naming convention 


(11 to 15 points)

Optimized program that compiles and performs what the student describes in their paper. The code has full documentation and the project follows the required naming convention 


(16 to 20 points)





Grading Policy

The course will consist of 14 modules. Each module will include a video lecture, corresponding slides, reading assignment, and an online discussion. The grading of this course will be based on:

Course ComponentPercentage of final grade
Class Participation20%
Assignments50%
Final Project30%

Programming assignments are due according to the dates posted in your Blackboard course site. You may check these due dates in the Course Calendar or the Assignments in the corresponding modules. I will post grades 1-2 weeks after assignment due dates. The code for your programming assignment must be submitted and should include enough documentation so we can read your code and understand the approach you are following.

In written sections and the final paper, we generally do not directly grade spelling and grammar. However, egregious violations of the rules of the English language will be noted without comment. Consistently poor performance in either spelling or grammar is taken as an indication of poor written communication ability that may detract from your grade.

Final grades will be assigned according to the following scale: 

Score RangeLetter Grade
100-98= A+
97-94= A
93-90= A−
89-87= B+
86-83= B
82-80= B−
79-77= C+
76-73= C
72-70= C−
69-67= D+
66-63= D
<63= F

Course Policies

Late policy:
• Programming projects will be due at 11:59pm on the due date.
• Students may turn in one programming assignment up to 24 hours late, however students must notify the instructor each time the special extension is used. Failure to notify the instructor and any additional day will result in a 10% penalty of the assignment grade.
• Penalty of 10% per day for projects submitted late.
• Additional exceptions for emergencies and medical conditions may be given if deemed appropriate.

Academic Policies

Deadlines for Adding, Dropping and Withdrawing from Courses

Students may add a course up to one week after the start of the term for that particular course. Students may drop courses according to the drop deadlines outlined in the EP academic calendar (https://ep.jhu.edu/student-services/academic-calendar/). Between the 6th week of the class and prior to the final withdrawal deadline, a student may withdraw from a course with a W on their academic record. A record of the course will remain on the academic record with a W appearing in the grade column to indicate that the student registered and withdrew from the course.

Academic Misconduct Policy

All students are required to read, know, and comply with the Johns Hopkins University Krieger School of Arts and Sciences (KSAS) / Whiting School of Engineering (WSE) Procedures for Handling Allegations of Misconduct by Full-Time and Part-Time Graduate Students.

This policy prohibits academic misconduct, including but not limited to the following: cheating or facilitating cheating; plagiarism; reuse of assignments; unauthorized collaboration; alteration of graded assignments; and unfair competition. Course materials (old assignments, texts, or examinations, etc.) should not be shared unless authorized by the course instructor. Any questions related to this policy should be directed to EP’s academic integrity officer at ep-academic-integrity@jhu.edu.

Students with Disabilities - Accommodations and Accessibility

Johns Hopkins University values diversity and inclusion. We are committed to providing welcoming, equitable, and accessible educational experiences for all students. Students with disabilities (including those with psychological conditions, medical conditions and temporary disabilities) can request accommodations for this course by providing an Accommodation Letter issued by Student Disability Services (SDS). Please request accommodations for this course as early as possible to provide time for effective communication and arrangements.

For further information or to start the process of requesting accommodations, please contact Student Disability Services at Engineering for Professionals, ep-disability-svcs@jhu.edu.

Student Conduct Code

The fundamental purpose of the JHU regulation of student conduct is to promote and to protect the health, safety, welfare, property, and rights of all members of the University community as well as to promote the orderly operation of the University and to safeguard its property and facilities. As members of the University community, students accept certain responsibilities which support the educational mission and create an environment in which all students are afforded the same opportunity to succeed academically. 

For a full description of the code please visit the following website: https://studentaffairs.jhu.edu/policies-guidelines/student-code/

Classroom Climate

JHU is committed to creating a classroom environment that values the diversity of experiences and perspectives that all students bring. Everyone has the right to be treated with dignity and respect. Fostering an inclusive climate is important. Research and experience show that students who interact with peers who are different from themselves learn new things and experience tangible educational outcomes. At no time in this learning process should someone be singled out or treated unequally on the basis of any seen or unseen part of their identity. 
 
If you have concerns in this course about harassment, discrimination, or any unequal treatment, or if you seek accommodations or resources, please reach out to the course instructor directly. Reporting will never impact your course grade. You may also share concerns with your program chair, the Assistant Dean for Diversity and Inclusion, or the Office of Institutional Equity. In handling reports, people will protect your privacy as much as possible, but faculty and staff are required to officially report information for some cases (e.g. sexual harassment).

Course Auditing

When a student enrolls in an EP course with “audit” status, the student must reach an understanding with the instructor as to what is required to earn the “audit.” If the student does not meet those expectations, the instructor must notify the EP Registration Team [EP-Registration@exchange.johnshopkins.edu] in order for the student to be retroactively dropped or withdrawn from the course (depending on when the "audit" was requested and in accordance with EP registration deadlines). All lecture content will remain accessible to auditing students, but access to all other course material is left to the discretion of the instructor.