Link Search Menu Expand Document

CS 7260 S24: Visualization for Network Science

Time and location: Tuesdays and Thursdays 9:00–10:40 am on Zoom

Welcome! This class covers network visualization and graph drawing, provides students with theoretical knowledge about data visualization best practices, as well as a chance to get their hands dirty and create their very own visualizations.

shadow of presenter pointing at a network visualization

Table of Contents

Course Description

Covers the principles of information visualization in the specific context of network science. Introduces visual encoding of data and our understanding of human vision and perception; interaction principles including filtering, pivoting, aggregation; and both quantitative and human subjects evaluation techniques. Covers visualization techniques for several network types, including multivariate networks with attributes for entities and relationships, evolving and dynamic networks that change over time, heterogeneous networks with multiple types of entities, and geospatial networks. Offers students an opportunity to learn about the design of layout algorithms for node-link and matrix visualizations.

Topics

  • Visually encoding data and our understanding of human vision and perception
  • Interaction principles including filtering, pivoting, aggregation
  • Both quantitative and human subjects evaluation techniques
  • Visualization techniques for several types of networks, including multivariate networks with attributes for entities and relationships, evolving and dynamic networks that change over time, heterogeneous networks consisting of multiple types of entities, and geospatial networks
  • Design of layout algorithms for node-link and matrix visualizations

Examples in the course will be drawn from several domains such as visualizing concepts in medical records, the spread of infectious diseases, citations in academic literature, interactions of people and organizations, relationships in archaeological dig sites, news term co-occurrence, and computer network traffic flow.

Outcomes

Students will be expected to:

  • Read current literature
  • Critique existing visualizations
  • Use popular tools such as NodeXL, Gephi, Cytoscape, GLEAMvis, NetworkX, and D3 to visualize and analyze network data
  • Conduct a major project to design and build an interactive visualization tool to address a real-world network science problem

Prerequisites

No specific courses are required, but students are expected to have a programming background and basic CS knowledge for the course project. The course will include programming assignments in Python, JavaScript, CSS, and HTML. Some instruction will be given in class but students are expected to learn what they need for their projects independently.

Textbooks and Resources

Required

Exciting news: All readings our course utilizes are free online or through the library! Links will be provided on the schedule.

Suggested Reading

Although not required, the following books are recommended as additional references to help expand on the visualization theory and skills discussed in class. These books may be cited and referred to during lecture as appropriate to help direct the students to the appropriate resource.

Graph Drawing and Network Visualization

Visualization Generally

Required Supplies

We will do a lot of visualization sketching and design iteration in this course. Always have the basics, so you can participate effectively:

  • At least five different colors of pens—e.g., Pilot G2 packs 31128 and 34405—or markers. (It shouldn’t be easily erasable so you don’t worry about fixing details.)
  • Plenty of white or near-white drawing paper. E.g., Strathmore 25-005 or 400-2 drawing notebooks, heavyweight white index cards, or even 8.5x11” printer paper.

We specify paper, rather than digital tools, for design sketching, as we have found that digital drawing tools tend to limit the breadth of student creativity and slow down design iteration.

We will also do programming and writing activities. You should always have:

  • A laptop suitable for programming and its charger.

If you do not have the required supplies when they are needed to participate your grade will be docked accordingly.

If you are unable to acquire these required supplies due to hardship or circumstance, please reach out to the Instructor to find a solution.

Office Hours and Contact Info

Please see the Staff page for details.

Course Components

As this is a 4-credit class, the Registrar says you should plan to spend approximately 8–12 hours outside of class on homework in addition to the 3.33 hours in class (i.e., 11.33– 15.33 hours per week total).

Lectures + Activities

Most classes will be split into two parts: lecture and in-class activity. The lecture component will cover foundational topics, and the remainder of the class will be devoted to an in-class activity to further explore topics and skills relevant to the course topics. Activities will include programming tutorials, design critiques, journal paper discussions, in-class programming and data analysis, and student-led presentations. Lecture slides are usually available by the next scheduled class time.

Class Participation

Students are expected to participate both in-class and online through the course’s Slack workspace 💬. As the course is based heavily on in-class discussions and activities, student participation is essential to the course. Plus, when we all participate, it makes our time together that much more interesting.

Class attendance is required due to the heavy emphasis on in-class activities. Absences may be excused by the instructor with advance notice. Absences will only be approved after the fact in cases of medical necessity.

Readings

Assigned reading will be given to read in advance of some classes, and will also be part of some assignments. Readings will be listed on the online Schedule and will be freely available.

Homework

There will be regular homework assignments. Each assignment will require the student to apply the concepts discussed in the readings and in-class lectures to both programming assignments for the actual building and implementation of static and interactive visualizations as well as short writing or presentation assignments (e.g., design critiques).

Warning: The homework assignments are an individual assessment and should not be completed in groups.

Final Grade

Grades will be posted on Canvas with a running total grade weighted by assignment type:

Type Weight
Final Project 50%
Assignments 50%

Final letter grades will be based on this weighted total using this scheme:

Grade Range
A 100%
A- < 93%
B+ < 90%
B < 87%
B- < 83%
C+ < 80%
C < 77%
C- < 73%
F < 70%

There will be no rounding. E.g., 92.99% is still less than 93% and thus an A-. This is to encourage fair grading by reducing the effect of emotional appeals to the instructor, which not all students would feel comfortable making.

Changes to the final course grade must be requested in an email to the instructor within one week of receiving the grade. The request should contain a technical explanation of what errors in grading the teaching staff has made that necessitates the change. We will not consider grade changes due to considerations beyond the scope the course, e.g., visa status, scholarship eligibility, coop eligibility. If the instructor approves the request, all work including assignments, participation, and the project will be re-graded to determine the new grade. This is because if we made one error, we may have made others including in the student’s favor. The new grade can potentially be lower than the original grade.

For details about individual assignment grading, rather than the final course grade, see Course Policies below.

Course Policies

Late Policy

All homework and project related due dates are final and provided in the course schedule. Some assignments that require timeliness (e.g., in-class presentations) will be graded 0 if you are late. Other assignments will be accepted for 2/3 credit for [0, 9] hours after the deadline and 1/3 credit for (9, 24] hours after the deadline.

Homework and project assignments are generally due at 11:59pm Boston time the day specified. The late policy is implemented automatically, so 11:59:01 pm would still be considered late for an 11:59 pm deadline.

If you have a verifiable medical condition or other special circumstances that interfere with your coursework, please email the instructor as soon as possible to discuss your options.

If you have a major conference/journal paper deadline, conference presentation, or academic trip planned that interferes with your coursework, email the instructor at least three weeks in advance to discuss your options. We will not provide late policy waivers for such cases with less notice.

Assignment Submission Instructions

On all assignments you are expected to follow the submission instructions exactly. If you don’t, you will lose points accordingly up to and including getting a 0 on the assignment.

On any assignment where you must submit a link or file, please ensure you submit the correct one. Some examples of incorrect submissions in the past: (1) We ask for a GitHub repository link and you give us a GitHub Page. (2) We ask for a link to a GitHub Classroom-generated repository in our organization and you give us a personal repository. (3) We ask for a link to a PDF and are given a link to a Google Drive folder.

Warning: If you do not submit the correct link or file, you will lose 20% of the points if we are able to quickly find and identify the correct one. If not, you will receive a 0.

This is unfortunately necessary to ensure we have as much time as possible to provide feedback on assignments. Accepting assignments in varied forms adds grading challenges and reduces the time and thought we have for providing higher-level feedback on content to you and to other students. Just recently we spent 15 minutes tracking down correct links and comparing two repositories for a single student’s submission, which does not scale to a class this big. Also, permitting variances sets unrealistic expectations for you for future courses and for the real world where following specific instructions often does in fact matter.

Assignment Grading Expectations

Our overall course grading ideal is that you get 85% of the points by meeting our expectations, but the last 15% is for doing amazing work that demonstrates your creativity and deep understanding of the course material. I.e., if you meet our expectations on assignments, you will get a B in the course (see Final Grade, above). To get an A you must do exceptional work.

Note that our grading rubrics will likely include more subjective assessment than you are used to. Your work in this course will incorporate many elements of Design, and the necessary human professional judgement that is required for design critiques is inherently subjective. See, e.g., Viégas & Wattenberg (2015). Likewise, assignment rubrics will not always spell out each way you may lose points. Any guidance we cover in lecture and in the readings sets the bar for what you’re expected to do on later assignments. To put it another way, when you’re making visualizations, it’s like writing an essay. There are many assumed writing expectations that the instructor won’t specify that could still result in a poor-quality product.

Assignment Regrading Policy

Regrade requests will only be considered if the teaching staff has made an error in grading.

Regrade requests will not be considered if you:

  • Disagree with the rubric. It was applied to everyone, so would be unfair to change in one case.
  • Disagree with the harshness of the grading. Again, the same criteria were applied to everyone.
  • Disagree with the subjective aspects of visualization grading. This is an inescapable aspect of grading visualization & design assignments.
  • Made a mistake in submission. Make sure to check your submissions were uploaded correctly (Gradescope instructions, Canvas instructions).

Re-grading requests must be made within one week of receiving the grade to be considered. For assignments submitted on Gradescope, re-grading requests must be made via Gradescope (general instructions here). For all other assignments, the request must be emailed to the instructor and must include:

  1. The subject line prefixed by CS 7260 S24—Regrade Request.
  2. A link to your submission or repo, if relevant.
  3. The details on what aspect you’re requesting to be regraded.
  4. A short (1-2 sentences) explanation of why re-grading is necessary.

The new grade can potentially be lower than the original grade. If we discover other errors that we have made we will correct them, including any that were initially in the student’s favor.

Changes to the Syllabus, Schedule, and Grading

The course syllabus, schedule, grading schemes, and grading rubrics are working documents that are subject to change throughout the entirety of the semester. Refer back to this page at any time for the most up-to-date document. We will make our best efforts to communicate any meaningful changes after the first class promptly. In general, we’ll ask ourselves “could this change create an unpleasant surprise for a student who read the syllabus?” If so, we’ll announce the change.

🐛 Bonus Points for Bug Bounties 🐛

If you identify problems or points of confusion with the course assignments, you may receive bonus points! In order to get the bonus you must:

  • Report the bug at least 4 days prior to the due date of the assignment.
  • The message must:
    • Have the subject or first line prefixed by CS 7260 S24—Bug Bounty.
    • Provide a hyperlink to the assignment/web page/repo/document/file in question.
    • Include the problematic excerpt, detailed information about what is missing, or other problem details.
    • If applicable, suggest a fix including replacement text.

Points will be awarded by degree of severity as determined by the instructor. Generally expect:

  • As intended—issues we will not fix: +0 points
  • Minor—spelling/grammar/simple writing issues: +1 point
  • Major—points of moderate confusion that students could work around with some effort: +2 points
  • Severe—bugs that would block a large portion of students from completing the assignment: +3 points

Bonus amounts will vary at the instructor’s discretion. If multiple students report the bug, the student submitting the first report and the student submitting the most complete fix will get the most points.

Bonus points can increase the score of an assignment above the maximum and not just compensate for lost points.

We will never intentionally introduce bugs into the course materials.

Other Bonus Points

Some assignments may include other options for bonus points. There will not be options for bonus points beyond those listed in the syllabus and posted assignments.

Communication Policy

Students can reach us by posting on Slack.

Warning: Emails or direct Slack messages are only appropriate for individual questions—e.g., medical leaves, regrading requests for assignments not submitted in Gradescope, meeting requests—or when otherwise directed. All general course and assignment questions should be posted publicly on Slack so that all students can comment and see the answers. Students that email on issues obviously of general interest will be referred to Slack instead.

We will not answer questions posted in Teams or by phone.

Help us help you! Always include the relevant links. If you’re emailing about a particular assignment, please include the URL of any relevant materials for us to help you. I.e., before submission send us a link to your GitHub repo—it’s hard to debug code without seeing it—or other draft submission.

We will make our best efforts to respond within 24 hours, excluding weekends and holidays.

Recording Policy

This course, or parts of this course, may be recorded for educational purposes. These recordings will be made available only to students enrolled in the course, the instructor, and any teaching assistants assigned to the course. The instructor will announce any recordings when they begin. Any student may opt-out of being recorded by informing the instructor.

Recording Privacy Policy

Only students who have arranged accommodations with the Disability Resource Center may use mechanical or electronic transcribing, recording, or communication devices in the classroom. Students with disabilities who believe they may need such an accommodation should contact the Disabilities Resource Center.

Do not record or otherwise share video or audio of the classroom yourself. The Commonwealth of Massachusetts’s wiretapping law requires “two-party consent”. It is a felony to secretly record a conversation, whether the conversation is in person or taking place by telephone or another electronic medium. [See Mass. Gen. Laws ch.272,§ 99.]

Academic Integrity Policy

A commitment to the principles of academic integrity is essential to the mission of Northeastern University. The promotion of independent and original scholarship ensures that students derive the most from their educational experience and their pursuit of knowledge. Academic dishonesty violates the most fundamental values of an intellectual community and undermines the achievements of the entire University.

Warning: In this course you are expected to do each assignment independently unless otherwise instructed.

Warning: Plagiarism of any kind will not be tolerated, including but not limited to copying text, source code, images, video, visualization designs, and slides.

Warning: Copying anything without proper acknowledgement, even just one sentence or figure, is considered plagiarism.

We will review your submissions against existing publications, designs, course submissions, and source repositories to ensure academic integrity. We maintain a repository of deliverables from previous instantiations of this and related courses to compare submissions against.

For more information, please refer to the Academic Integrity Web page.

Here are some key points to keep in mind:

  • Acknowledge where code, text, images, designs, etc. come from.
  • If you look at code online but are supposed to write something yourself, you can’t copy the code, either by copy and paste or by writing manually. Just copying and manually renaming variables is definitely cheating. You can get the idea, but not the code.
  • Anything copied from example websites and documentation must be acknowledged.
  • Paraphrasing text closely without citation is plagiarism!
  • In your writing, citing the source alone is not enough—you must also surround any copied text with double quotes (“”).
  • Individual work is just that: individual. No code should be exchanged (via whiteboard, email, or over the phone). You probably shouldn’t even discuss the assignment with others (but that isn’t a strict rule).
  • If you are stuck; ask for help. Cheating is never the viable solution.
  • Why the heck are you in university if you aren’t trying to learn? You don’t learn by cheating (and, frankly, it can seriously ruin your career far more than failing a class).
  • The minimum consequence for an academic integrity violation is a score of 0 on the assignment, reduction of the final letter grade by one (e.g., A- to B-), and reporting to OSCCR and Khoury College. Repeat violations will result in failing the course.

Regret Clause 🤦. If you commit some act that violates the academic integrity policy but bring it to the attention of the instructor within 72 hours, we may still give you a 0 grade for the relevant work submitted, but will not report the violation to OSCCR or Khoury College (except in cases of repeated violations).

Title IX

Title IX of the Education Amendments of 1972 protects individuals from sex or gender-based discrimination, including discrimination based on gender-identity, in educational programs and activities that receive federal financial assistance.

Northeastern’s Title IX Policy prohibits Prohibited Offenses, which are defined as sexual harassment, sexual assault, relationship or domestic violence, and stalking. The Title IX Policy applies to the entire community, including students, faculty and staff of all gender identities.

If you or someone you know has been a survivor of a Prohibited Offense, confidential support and guidance can be found through University Health and Counseling Services staff and the Center for Spiritual Dialogue and Service clergy members. By law, those employees are not required to report allegations of sex or gender-based discrimination to the University.

Alleged violations can be reported non-confidentially to the Title IX Coordinator within The Office for Gender Equity and Compliance at: [titleix@northeastern.edu][mailto:titleix@northeastern.edu] and/or through NUPD (Emergency 617-373-3333; Non-Emergency 617-373-2121). Reporting Prohibited Offenses to NUPD does NOT commit the victim/affected party to future legal action.

Faculty members are considered “responsible employees” at Northeastern University, meaning they are required to report all allegations of sex or gender-based discrimination to the Title IX Coordinator.

In case of an emergency, please call 911.

Please visit northeastern.edu/ouec for a complete list of reporting options and resources both on- and off-campus.

Acknowledgements

This website is built using Kevin Lin’s Just the Class Jekyll template, extended by Jonathan Bell, John Boyland, and Mitch Wand.


© 2023 Cody Dunne. Released under the CC BY-SA license.