Syllabus
Course Information
Instructor | TA | TA | Course |
---|---|---|---|
Xindi (Cindy) Hu, ScD | Silas Horn | Sayam Palrecha | T/Th 3:10PM - 5:10PM ET |
Milken #423 or Zoom | Milken 4th floor or Zoom | Zoom | Milken 400A |
+1 (202) 994-7766 | NA | NA | May. 20 - June 27, 2025 |
Email Prof. Hu | Email Silas | Email Sayam | Slack |
By appointment | W 2-3PM ET | M 4-5PM ET | ![]() |
Course Description
This course will equip students with the skills and knowledge to create impactful and responsible data visualizations using the R programming language. At the end of this class, students will gain proficiency in both fundamental (e.g. bar chart, bubble chart, choropleth maps) as well as advanced graph types (e.g. Sankey diagram, heatmap, parallel coordinates plot, faceted graphs) and know how to create them using R.
Prerequisites
This course is designed for students with proficiency in using the R programming language and working in the RStudio integrated development environment. Students can fulfill this prerequisite by having successfully completed courses such as PUBH 6131, 6144, 6282, 6851, 6854 or 6867. If you are unsure, contact the instructor to discuss your eligibility.
Learning Objectives
Upon completion of the course, students will be able to:
- Identify the effective types of data visualization for the data at hand and the intended audience
- Critique data visualizations and provide constructive feedback
- Prepare dataset for developing data visualization
- Create effective, ethical, and aesthetically-pleasing visualizations using R programming language
- Collaborate with classmates from diverse disciplinary background to carry out a visualization project
Required Texts & Materials
All texts and software for this course is freely available on the web. This includes:
Software
Go to the Course Software page for detailed instructions on how to install the software we’ll be using. Here’s a quick list:
- R version 4.4.2 or newer. Visit cloud.r-project.org to download for your operating system.
- RStudio version 2024.09.1 or newer. Visit rstudio.com/products/rstudio/. Download the free (“Open Source Edition”) Desktop version for your operating system.
- We’ll be using Slack for most communication.
Texts
Readings should be completed before coming to class! Most of which will come from these four books, which are mostly available free online. Occasionally we will have reading assignment from articles and books. Those will be posted on Blackboard (copyright permitting).
- Hadley Wickham, Mine Çetinkaya-Rundel, and Garrett Grolemund. “R for Data Science (2e)” [free online]
- Hadley Wickham, Danielle Navarro, and Thomas Lin Pedersen. “ggplot2: Elegant Graphics for Data Analysis (3e)” [free online]
- Hadley Wickham. “Mastering Shiny” [free online]
- Robin Lovelace, Jakub Nowosad, and Janne Muenchow. “Geocomputation with R” [free online]
Assignments
Participation & Attendance
- Attending class in person is mandatory. There will be an end-of-class survey at the end of each class.
- Attending lab in person is mandatory. Students are encouraged to preview the R markdown lab notebooks before the lab session, but it is not required they complete them before the lab session. Lab notebooks are due the following Monday. Completion of R markdown notebooks will count towards final grades.
End-of-class survey
End-of-class survey will be available at the last 10 minutes of each class.
They are short (10 minutes) and are designed to test you paid attention in class and to demonstrate where additional study is needed.
Homework
Students will be responsible for two types of assignments throughout the semester:
- Weekly homework: Weekly homework will provide an opportunity to practice visualization theory and skills introduced in class. Homework will be a mix of programming, design, and finishing the R markdown notebook.
- Weekly lab: Completion of R markdown lab notebooks will count towards final grades.
Final Project
Throughout the semester, students will work in teams of 2-3 students towards a final project of data visualizations to convey findings around a topic of their choice. Instructor can help point students to datasets they can use for the final project. All members of a group are required to contribute to at least one graph, present during the last class, and complete a peer evaluation.
Grading
Category Breakdown
Final grades will be calculated as follows:
Item | Weight | Notes |
---|---|---|
Participation / Attendance | 10% | Include attendance, contribution to in-class activities, completion of end-of-class surveys |
Homework assignment | 35 % | Weekly assignment |
Finished lab notebook | 15 % | Weekly lab notebook |
Final Project: Prototype V1 | 7 % | Due June 24th |
Final Project: Data visualization product | 18 % | Due June 26th |
Final Project: Presentation | 10 % | Due June 26th |
Final Project: Peer evaluation | 5 % | Due June 26th |
Grading Scale
Grade | Range | Grade | Range |
---|---|---|---|
A | 93 - 100% | C | 73 - 76.99% |
A- | 90 - 92.99% | C- | 70 - 72.99% |
B+ | 87 - 89.99% | D+ | 67 - 69.99% |
B | 83 - 86.99% | D | 63 - 66.99% |
B- | 80 - 82.99% | D- | 60 - 62.99% |
C+ | 77 - 79.99% | F | < 59.99% |
The course instructors may choose to change the scales at their discretion. You are guaranteed that your letter grade will never become worse as a result of changing scales.
Rounding
I do not round final grades. Rather, I grade generously throughout the semester. For example, if you give a homework your best shot and completely fail it, you will likely get a 50% instead of a 0%. The 50% is for trying (if you simply don’t do it, you’ll get a 0%). As a result, I will not modify or round your final score, even if you’re very close to a different letter grade (e.g., a 93.98 is an “A-” and will not be rounded up to an “A”).
Getting Help
This class can be challenging - do not suffer in silence! We have lots of ways to get help.
Slack
All course communication will be managed through Slack. A link to sign up for the course slack page can be found on the one (and only) announcement on Blackboard.
You can use Slack to:
- Ask general questions.
- Ask for help with an assignment.
- Send direct, private messages to each other or the instructors (just like email…but better!)
Asking for help on Slack: You can post questions on slack and receive quick responses. This also enables other students to see answers to common questions. Be specific - if your code has an error you don’t understand, include the code and the error message in your question.
Office Hours
Our TAs will hold regular office hour each Monday 4-5pm (Sayam, Zoom) and each Wednesday 2-3pm (Silas, Milken 4th floor). Please don’t make your TA sit and do emails for two hours - come by and ask for help!
If the office hours don’t work with your schedule, you can always schedule a zoom call with me using this link. I’m available most days of the week.
Library Services
While the University Library is not a stand in for TAs, you can schedule a consultation for general help with Coding, Programming, Data, Statistical, and GIS. See more at academiccommons.gwu.edu/writing-research-help
Class Policies
Class Policy: Expectations for individual contributions and acceptable levels of collaboration for assignments on which students may work together. Data visualization projects benefit from collaborations. We encourage you to discuss readings, assignments, and topics with your fellow students. However, the weekly homework should be your own work. If you copy another student’s assignment or let someone else copy yours, you are both cheating. If you copy another person’s work from a textbook or journal, or other published work or a website, you must give credit in your written work.
Class Policy: Participation and Discussion. Participation score is determined by lecture and lab session attendance, contribution to in-class activities, completion of end-of-class surveys, and submission of finished lab notebooks. Completing all end-of-class surveys and lab notebooks will earn students a good participation grade but is not sufficient for full points. Full points for participation require insightful, thoughtful, and well-argued contributions and leadership in class that demonstrate a high level of mastery of the course material. In accordance with University policy on excused absences (e.g., religious observances, documented family and medical emergencies, University-scheduled events for athletes), we recognize there are reasons a student may not be able to attend a class. In those situations, students should email the instructor and GTA in advance of the class they cannot make to notify them of the conflict in writing.
Class Policy: Late Work. Assignments, lab notebooks, and the final project must be submitted by the due date; unexcused late assignments will not be accepted. If there are extenuating circumstances and a student needs to request an extension on an assignment, the student would need to email the instructor and GTA at least 24 hours prior to the due date. Please allow 24 hours for instructors to reply to your email during weekdays and 72 hours during weekends. No late assignments will be accepted without advance permission. It is the instructor’s choice to grant an extension or not.
Class Policy: Make-up Final Project. If you have a serious problem or schedule conflict that will prevent you from presenting the final project, notify the instructor and GTA by email as soon as possible, no later than 72 hours before the scheduled date.