Course Syllabus

Course Description

We live in a time that the analysis and presentation of data are key to how we understand and communicate about the world around us. When done skillfully, such work dramatically amplifies our understanding of complex topics. This course is your opportunity to learn the technical skills necessary to write code to work with data in a way that empowers you to explore and communicate about pressing social issues. You'll also develop a critical lens for assessing the social impacts of your analytical process and insights. This fall, we'll turn our attention to topics that need careful analysis and reflection: anti-racism protests, COVID-19, incarceration, and climate change. You'll also have the opportunity to apply these skills to a topic of your choice.

We'll cover skills associated with each component of the information lifecycle, including the collection, storage, analysis, and visualization of data. Core competencies underlying this process, including data wrangling, version control, and command line proficiency, are acquired through real-world data-driven challenges.­­­ We'll also be reading and reflecting on how to engage in data science in a socially responsible way. After finishing this course, you'll be ready to apply these data-skills to your field of interest, and pursue more advanced programming and data science work.

Required Course Materials

This course uses the following textbook (which was written specifically for this course):

Freeman and Ross. Programming Skills for Data Science. Pearson. 2018.

You can access the book online for free using your UW NetID through SafariBooksOnline. You should bookmark this page, and read each assigned chapter in advance of discussing the topic.

Optionally, the book is also available in print from InformIT, Pearson, Amazon, or a local bookstore.

The course will also be using the following critical text:

D'Ignazio and Klein. Data Feminism. MIT Press. 2020.

This book is available for free online at https://data-feminism.mitpress.mit.edu/, and is also available for purchase

Course Structure

Remote Class Meetings (optional)

This course will have regularly "virtual lectures" (held via Zoom) during the scheduled meeting times, These class sections will be used to practice skills and build community through short(ish) lecture demos, interactive polls, programming activities—with time devoted to open Q&A. While you are encouraged to attend and participate in these meetings, attendence is not required. All class sections will be recorded and made available for viewing (or reviewing) later.

Lab sections will also meet virtually at their scheduled time. During section your TA will facilitate work on your group project and provide guidance on the assignments. Attending lab section is also not required, though is strongly encouraged to make sure you stay in contact with your group! Note that lab sections will likely not be recorded.

Textbooks, Readings, and Quizzes

As with all courses in the Informatics program, this course has a high expectation of independent learning (and even more so in our remote setting!). While core concepts will be reviewed in lecture, you will be responsible for mastering many technical skills on your own. The best resource for this self-education is the course textbook Programming Skills for Data Science (with accompanying exercises). This book was written explicitly for this course, and covers all of the necessary foundational sills to succeed in this course (and then some!). You will also be reading Data Feminism as an introduction to the critical analysis of data impacts.

One of the best was to succeed in this course is to do the reading!

To help ensure that you've completed and understood the readings, you will be completing weekly reading quizzes. Quizzes auto automatically scored and may be attempted as many times as you wish before the deadline (you can try again as much as you want at no penalty—trying again is a key part of programmimng!). In addition, the lowest quiz score will be dropped to allow for unexpected life events.

Assignments

Find complete assignment details and due dates on the Assignments page.

You will complete a series of programming assigments, due approximately every 2 weeks. These assignments will give you a chance to practice and master programming skills, and to assess their progress through the course. Assignments will be a mix of focus on programming specific skills (e.g., language and syntax) and more theory-driven data analysis. Each assignment will work with real-world data to explore a pertinent topic.

Because of the ever-changing nature of data-focused software, one goal of this course is for you to learn how to teach yourself new tools (rather than only learning a pre-defined set of skills). You will need to develop a deep understanding of the content and be able to apply concepts in new ways. Thus assignments will require you to use concepts and skills in ways that may not be explicitly discussed during lecture.

Group Project

Throughout the quarter you will work in groups to complete a course project. This single project will be developed iteratively, without multiple steps and deliverables. In the end, you will be producing an interactive web application that explores the relationship between two data sets on a topic of your choosing. See the assignment descriptions for the proposal, exploratory report, project app for more details.

Correspondence

The hardest part of a remote course is keeping in contact. We'll be communicating with you through a couple of mediums:

We will send out official course announcements and information by email, so you should check your email daily (it may not be hip, but it's accessible and effective!) Note that this email will go to your uw.edu address. If you prefer to read your email on another account, you should set your UW account to forward your email to your preferred account.

You are welcome to email me at any time. When emailing, please make sure to sign your emails! This will let me know who is writing and will help us to better answer questions.

We will be using Piazza for questions and help. Piazza is a Q&A message board specifically designed for helping you get help fast and efficiency from both teaching staff and your classmates. You can find our class page at https://piazza.com/washington/winter2021/info201b/home—you will need to sign up with your UW account; let us know if there are any qustions. I strongly encourage you to use Piazza to ask questions (rather than sending me an email). It will allow you to better structure questions and facilitates the kinds of back-and-forth that come up when talking about programming. This also lets you get support from all of the teaching staff as well as any of your classmakes!

  • Yes, this means that if you know the answer to a question, you should share that!
  • Note that while you can easily post code snippets, please don't post solutions to assignments or exercises; don't deprive others of the chance to learn!
  • If you need any help joining or using Piazza, please let us know.

Make sure to check this guide for how to most effectively ask coding questions and get helpful answers as fast as possible!

The best way to get questions answered will be on Piazza. If you post a message, we will try to get back to you as soon as we can. But like everyone else, we're also dealing with need to lock down and care for our families and loved ones. Please be patient if we're not able to respond to any messages immediately; we may need time to get to and focus on your questions.

The teaching staff will also be holding regularly "office hours" on Zoom. Official office hours are listed on the home page, but we're also more than happy to try and schedule separate appointments at a time that work well for you if needed. Don't be shy; please ask for help if you need it.

You are NOT expected or required to learn everything on your own! The best way to learn is to ask questions. Please don't be shy or embarrassed; ask for help if you need it! I am here for you!

Grading and Deadlines

Honestly, grades in a course should be the least of your worries. We do not want this course to be a source of stress—this should be an opportunity to pursue your interests. But we do realize that grades act as an important incentive to keep you motivated and stay on track. Thus the below grading and deadline policy is designed to provide some flexibility and "built-in" accomodations

Reading Quizzes

Quizzes have firm deadlines and cannot be extended. However, quizzes may be attempted as many times as you wish before the deadline at no penalty. In addition, the lowest quiz score will be dropped to allow for unexpected life events.

Assignments and Project Deliverables

Assignments are due at the stated deadline. However, all assignments and project deliverables (except the final project app) can also be submitted within a 1-week "grace period" at no penalty (e.g., you can turn them in up to 1 week late at no penalty). After that, assignments and deliverables can be submitted until the Sunday before Finals Week, for a maximum of 75% credit.

Additionally, if you turned in an assignment or deliverable by its deadline (so not within the 1-week grace period) that was at least 75% complete (meaning you got 75% of possible points), you may revise and resubmit the assignment within 1 week of receiving your grade in order to make up lost points. Resubmissions can earn up to 100% credit (programming is an iterative process!). Assignments submitted after the deadline may not be revised or resubmitted.

Note that there is no grace period for the final project app, nor can it be resubmitted (as the quarter has ended by that point).

In practice, this means you should strive to turn in your best version of the assignment by the deadline, and can then revise and fix any mistakes for a perfect score. If you miss that deadline because of life events, you can still take some extra time and turn it in during the grace period (though won't be able to fix any mistakes later).

We also can and will provide extensions/etc. if illness or other external circumstances mean that you cannot make any of these deadlines. But you need to let us know ahead of time! We will be unable to make adjustments at the last minute. If you get sick, please give us a quick heads-up to let us know so we can be ready to help.

Final grades are determined based on the iSchool Standard Grading Scheme. Overall, I urge everyone to focus not on the grade itself but on learning what's necessary to earn high scores; the grades will follow from that.

Resources & Accommodations

During this time of an international health and social crisis, students are encouraged to be attentive to their needs for health and well-being (physical and mental). Beyond the present risks associated with COVID-19, individuals are also susceptible to flu, colds, or other common illnesses due to stress, overwork, and disruption of routines (diet, exercise, sleep). Caring for family and friends who are ill adds another responsibility competing for your time. Please do your best to attend to your self-care during this time.

If health-related needs are delaying you from completing coursework, please contact your instructor. For Autumn quarter, faculty in the iSchool have been encouraged to be accommodating and give deadline extensions of up to one week without any academic penalty. If you need more time, please propose a schedule to your instructor that indicates how you can return to keeping current with your assignments. Allowing extensions is entirely at the instructor’s discretion.

If your personal illness or family need is severe and will prevent you from completing the class, please let your instructor know and then contact your Academic Advisor to discuss all your options.

A number of challenges from a variety of directions can affect your ability to bring your optimal attention and energy to a course. Student Resources is a set of links to campus resources that UW makes available to students in trying to mitigate and cope with some of these challenges. This includes disability accommodations, physical and mental health, and community connections among others. If you are having any difficulties, please contact your academic advisor for support, or Health & Wellness at http://livewill.uw.edu. Furthermore, please notify the professor if you are comfortable in doing so. This will enable me to provide any resources that I may possess.

Washington state law requires that UW develop a policy for accommodation of student absences or significant hardship due to reasons of faith or conscience, or for organized religious activities. The UW’s policy, including more information about how to request an accommodation, is available at Faculty Syllabus Guidelines and Resources. Accommodations must be requested within the first two weeks of this course using the Religious Accommodations Request form available at https://registrar.washington.edu/students/religious-accommodations-request/

I encourage all students having difficulty, whatever the reason, to consult privately with me at any time.

Academic Conduct

The standard iSchool and UW academic policies that apply to all of our courses, apply here as well.

Diverse backgrounds, embodiments, and experiences are essential to the critical thinking endeavor at the heart of higher education. We expect you to be respectful of the many social and cultural differences among us, which may include, but are not limited to: age, cultural background, disability, ethnicity, family status, gender identity and presentation, citizenship and immigration status, national origin, race, religious and political beliefs, sex, sexual orientation, socioeconomic status, and veteran status. Please talk with me right away if you experience disrespect in this class—from any source (including teaching staff)—and I will actively work to address it.

Collaboration

In the iSchool, we want to achieve a collaborative and supportive environment. The goal of this course is to learn the material—to be able to programmatically work with data on your own. You are encouraged to utilize available resources, including your classmates, to learn these skills. Permissable and encouraged forms of collaboration include:

  • Asking a friend to explain a general concept or problem solving approach (without looking at code!)
  • Working through practice exercises (not assigments!) together
  • Posting an error message to Piazza to ask for help
  • Asking people to share publicly available resources that help solve a problem
  • Sharing your code privately with your TA or instructor to ask for more involved help

However, to ensure the primary goal of having students learn the material, we need to put some strict limitations around types of collaboration that can occur. The following forms of collaboration are explicitly not allowed:

  • Your code must NEVER appear on another student's screen or computer, in any format. This includes in a web browser, as an image or screenshot, saved to a file on their harddrive, found in an email under their account, etc. And similarly, no other student's code should ever be on your screen!
  • You must NEVER submit code that someone else wrote—whether that person is another student or someone who posted something on the web. This includes copying or adapting assignments from previous quarters. All work submitted must be your own.
  • You must NEVER publish or share individual assignment code or solutions (since those solutions may be used in a concurrent or future quarter).

You can discuss problems and even work through solutions together, but the final product (the code you create and submit) should come from your own brain and your own hands.

The point of assignments is for you to learn to complete them. This includes the entire process of getting the solution—including the false starts, bugs, misconceptions, and mistakes—because the learning occurs in the doing. Completely apart from the ethical issues, copying a solution without understanding it deprives you of the whole point of the assignment, and frankly is a waste of your time.

Code Reuse

Although professional developers often reuse solutions they find on the web, they also take the time to understand what that code is doing, customize it to their specific context, and cite the source so that they can find it again later. They "make it their own". If you want to use a snippet of code you find on the web, you MUST do the following:

  1. Include a reference to where you found the code (a URL in a comment is fine). Including more than a line or two of un-cited code, or otherwise failing to give appropriate credit, is a form of plagiarism and so is considered cheating.
  2. Take the time to understand why and how the code works (otherwise you aren't actually learning anything!). Adding detailed comments explaining what the code does in your own words is a good way to demonstrate that you actually understand it.
  3. Make the code your own; do not just copy and paste it directly into your project. Choose exactly what pieces of the sample are necessary for your work (you usually don't need everything). Adjust variable and function names so they are appropriate for your work. Ensure that the code matches the style and usage guidelines required for the class

This course is about learning to perform data programming; you won't learn anything from just copying other people's work. It's fine to learn from other sources, just be honest about it.

Academic Honesty

The consequences of academic dishonesty are not worth the risks. The simple rule is: do not claim anyone else's work, code, words, or ideas as your own. If you're in doubt, come talk to me in advance.

If there is suspicion that you violated the collaboration policy and plagiarized work (including code sharing or copying code from the Internet without attribution), you will get an automatic zero on the assignment, and we will file an academic misconduct report with the Associate Dean of Academics. Note that both students will be considered to be at fault in the case of unauthorized code sharing.

If you're having problems in the course, come and speak with me; never take the shortcut of copying someone else's work. It isn't worth it.

Course Summary:

Course Summary
Date Details Due