Syllabus
This syllabus is subject to change. All changes will be announced both in class, on Slack, and on this page.
Course Info:
Instructor: Victoria (Vic) Sass
Lecture: Tuesdays 4:30-6:20pm
Location: Savery 117
Office Hours: Wednesdays 11am-1pm on Zoom (link on Canvas)
Overview and Learning Objectives:
This course is intended to give students a foundational understanding of programming in the statistical language R
. This knowledge is intended to be broadly useful wherever you encounter data in your education and career. General topics we will focus on include:
Developing intermediate data management and visualization skills in R
Organizing projects and creating reproducible research
Cleaning data
Linking multiple data sets together
Learning basic programming skills
By the end of this course you should feel confident approaching any data you encounter in the future. We will cover almost no statistics, however it is the intention that this course will leave you prepared to progress in CS&SS or STAT courses with the ability to focus on statistics instead of coding. Additionally, the basic concepts you learn will be applicable to other programming languages and research in general, such as logic and algorithmic thinking.
Structure:
This course has a hands-on lecture and drop-in office hours, each once a week:
Lecture: On Tuesdays we will meet in the CSSCR lab for an interactive session where we’ll cover a specific topic to help you learn fundamental skills, concepts, and principles for learning R. Additionally, these sessions will provide you with the opportunity to work with each other to learn and practice key skills in R. I will be available to answer questions and help troubleshoot code as well.
Office Hours (remote; one 2-hour session): On Wednesdays, I will hold drop-in office hours on Zoom. This is a great time to ask questions, get advice, or continue discussions from lecture. We can talk in a breakout room or with the group! A link to the Zoom meeting can be found on Canvas.
Schedule:
Below is a summary of topics that will be covered each week in lecture.
Week 1: Introduction to R, RStudio, and RMarkdown
Week 2: Visualizing Data
Week 3: Workflow and Reproducibility
Week 4: Manipulating and Summarizing Data
Week 5: Importing, Exporting, and Cleaning Data
Week 6: Data Structures & Types
Week 7: Working with Text Data
Week 8: Writing Functions
Week 9: Iteration
Week 10: Next Steps
This course will have no meeting during final exam week.
Prerequisites:
This course has no prerequisites.
Materials and Texts:
This course has no required materials or texts. However, there are a few things to note:
- Computers: This course is primarily focused on computation. If accessible, you’re welcome to bring a personal laptop to class as it helps to gain familiarity with the software you’ll be using on the machine you use most often. However, you will also have access to the computers available in the computer lab (Savery 117, aka the “CSSCR Big Lab”).
The versions of R
, RStudio, and Quarto (as well as any packages you have installed) will not necessarily be the same/up to date if you do your work on different computers. My advice is to consistently use the same device for homework assignments or to make sure to download the latest versions of R
, RStudio, and Quarto when using a new machine.
- Online Textbooks: This course has no required textbooks, but there are many helpful resources available for free online. I will be suggesting selections from R for Data Science by Hadley Wickham, Mine Çetinkaya-Rundel, & Garrett Grolemund to pair with each week’s topic. While not required, I strongly suggest reading those selections before doing the homework for that week.
Tools for Class:
Grading
This course is graded as credit/no credit. To pass you need to receive at least 60% of the available points. There will be 9 graded homework assignments: one every week but the last one. There are 4 points possible for each week that features a homework.
Homework (75%; 3 points): These must be turned in as rendered Markdown documents which we will learn to create and for which templates are provided. They will be graded on a 0 to 3 point scale based on a simple effort-focused rubric found on the course website. These are designed first and foremost to develop skills rather than "prove" you have learned concepts. I encourage you to communicate and work together, so long as you write and explain your code yourself and do not copy work. You can learn a lot from replicating others' code, but you will learn nothing if you copy it without knowing how it works! In other words, you’re not really going to learn unless you do the coding yourself!
Peer Review (25%; 1 point): Each week an assignment is due, students will be randomly assigned to grade another student's assignment following a 0 to 3 rubric. They will be expected to provide constructive feedback and commentary if something new was learned. Reading others' code is an important skill and you will write better code knowing others will see it. These reviews will be due 5 days after homework is due. Each peer review is worth 1 point and will be evaluated by the instructor on a binary satisfactory/not satisfactory scale.
Schedule: We have a 2-hour interactive lecture/lab session on Tuesdays. Office Hours will be be held on Wednesdays. Homeworks will be due before class each Tuesday and peer reviews will be due 5 days later, by end-of-day on Sundays. Make sure to check the homework page or Canvas for all due dates!
Peer reviews are randomly assigned when the due date/time is reached. Therefore, if you don’t submit your homework on time, you will not be given a peer’s homework to review and vice versa. That said, life is messy and complicated and we all miss deadlines for a variety of reasons. Therefore, you can request that I review and provide feedback on a late assignment (message me on Slack) but you won’t be able to earn peer-review credit for that particular homework.
Classroom Environment
I’m committed to fostering a friendly and inclusive classroom environment in which all students have an equal opportunity to learn and succeed. This course is an attempt to make an often difficult and frustrating experience (learning R
for the first time) less obfuscating, daunting, and stressful. That said, learning happens in different ways at at a different pace for everyone. Learning is also a collaborative and creative process and my aim is to create an environment in which you all feel comfortable asking questions of me and each other. Treat your peers and yourself with empathy and respect as you all approach this topic from a range of backgrounds and experiences (in programming and in life).
Names & Pronouns: Everyone deserves to be addressed respectfully and correctly. You are welcome to send me your preferred name and correct gender pronouns at any time.
Covid Considerations: I will follow all University rules and procedures regarding Covid, which may or may not change during the quarter. I also recognize that Covid creates unique circumstances and concerns for each of us, which may limit your ability to fully attend or participate in this course. You never need to apologize to me for anything pandemic-related. If there is something I can do to make you feel more comfortable during class, please let me know!
Getting Help: If at any point during the quarter you find yourself struggling to keep up, please let me know! I am here to help. A great place to start this process is by chatting after class, coming to office hours, or sending me a message on Slack.
Diversity: Diverse backgrounds, embodiments, and experiences are essential to the critical thinking endeavor at the heart of university education. Therefore, I expect you to follow the UW Student Conduct Code in your interactions with your colleagues and me in this course by respecting 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, body size/shape, citizenship and immigration status, national origin, race, religious and political beliefs, sex, sexual orientation, socioeconomic status, and veteran status.
Accessibility & Accommodations: Your experience in this class is important to me. If you have already established accommodations with Disability Resources for Students (DRS), please communicate your approved accommodations to me at your earliest convenience so we can discuss your needs in this course. If you have not yet established services through DRS, but have a temporary health condition or permanent disability that requires accommodations (conditions include but not limited to; mental health, attention-related, learning, vision, hearing, physical or health impacts), you are welcome to contact DRS at 206-543-8924, uwdrs@uw.edu, or through their website. DRS offers resources and coordinates reasonable accommodations for students with disabilities and/or temporary health conditions. Reasonable accommodations are established through an interactive process between you, me (your instructor), and DRS. It is the policy and practice of the University of Washington to create inclusive and accessible learning environments consistent with federal and state law.
Academic Integrity: Academic integrity is essential to this course and to your learning. In this course, violations of the academic integrity policy include but are not limited to: copying from a peer, copying from an online resource, or using resources from a previous iteration of the course. That said, I hope you will collaborate with peers on assignments, and use Internet resources when questions arise to help solve issues. The key is that you ultimately submit your own work. Anything found in violation of this policy will be automatically given a score of 0 with no exceptions. If the situation merits, it will also be reported to the UW Student Conduct Office, at which point it is out of my hands. If you have any questions about this policy, please do not hesitate to reach out and ask.
Religious Accommodations: 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 Religious Accommodations Policy. Accommodations must be requested within the first two weeks of this course using the Religious Accommodations Request form.
If you have feedback on any part of this course or the classroom environment I want to hear it! You can message me directly on Slack or send me an anonymous message here. Additionally, I will send out a mid-quarter feedback survey on Slack around Week 5.