Syllabus
Course Information
Course: PSY 410/510: Data Science for Psychology (CRN: 35882)
Instructor: Dr. Sara Weston
Email: sweston2@uoregon.edu
Class Meetings: Mondays & Wednesdays, 12:00–1:20 PM
Location: Gerlinger 242
Dates: March 30 – June 3, 2026
Course Description
This course introduces psychology majors to modern data science tools and techniques using R and the tidyverse. Students will learn to import, tidy, transform, visualize, and communicate data effectively. The course emphasizes practical skills for working with real psychological data, reproducible research practices, and creating publication-ready visualizations.
Learning Objectives
By the end of this course, students will be able to:
- Import and tidy data from various sources (CSV, Excel) into analysis-ready formats
- Transform data using dplyr verbs (filter, select, mutate, summarize, join)
- Create effective visualizations using ggplot2, applying principles of visual perception and design
- Conduct exploratory data analysis to understand patterns and relationships in data
- Produce reproducible reports using Quarto that integrate code, results, and narrative
- Communicate findings through well-designed figures that tell a clear story
Required Materials
Textbook (Free Online)
- Wickham, H., Çetinkaya-Rundel, M., & Grolemund, G. (2023). R for Data Science (2nd ed.). O’Reilly Media. Available free at r4ds.hadley.nz
Software (Free)
- R: Download from cloud.r-project.org
- RStudio Desktop: Download from posit.co/downloads
Optional Materials
- Grolemund, G. (2014). Hands-on programming with R. O.’Reilly Media. Available for free at https://rstudio-education.github.io/hopr.
- Knaflic, C. N. (2015). Storytelling with Data: A Data Visualization Guide for Business Professionals. Wiley.
Course Schedule Overview
The course is organized into 10 weeks with 18 class sessions. See the Schedule page for detailed topics and readings.
| Week | Topics | R4DS Chapters |
|---|---|---|
| 1 | Introduction & Setup, First Visualization | 1, 2, 6 |
| 2 | Data Transformation I & II | 3, 4 |
| 3 | Data Tidying & Import | 5, 7, 20 |
| 4 | Quarto & Reproducibility, Layers & Aesthetics | 28, 9 |
| 5 | Perception & Design, EDA — Variation | 10 |
| 6 | EDA — Covariation, Data Types | 10, 12, 13 |
| 7 | Strings, Factors & Text, Joins | 14, 16, 19 |
| 8 | Missing Data | 18 |
| 9 | Storytelling with Data | 11 |
| 10 | Correlation & Regression, Putting It All Together | 8 |
Course Policies
Attendance
Regular attendance is expected. If you must miss class, you do not need to notify anyone. We will drop two in-class check-ins (which are the same thing as attendance) automatically regardless of reason. It’s up to you to figure out whether and when you want to use those.
Late Work
Assignments and quizzes can be submitted up to 48 hours past the deadline with a 10% penalty per day (calendar day, not business day). After 48 hours, late submissions are not accepted. For example, an assignment due Sunday at 11:59 PM can be submitted until Tuesday at 11:59 PM, with a 10% deduction for each day late.
Final project milestones follow the same policy. If you’re facing circumstances that prevent you from meeting deadlines, please reach out to me as soon as possible so we can make a plan.
“Life Happens” Extension
Everyone has a rough week. Each student gets one free 48-hour extension on any assignment — no penalty, no questions asked. To use it, email me at sweston2@uoregon.edu within one week of the original due date (once the next assignment is due, it’s too late). One token per student for the entire term.
Collaboration
You are encouraged to discuss approaches, strategies, and concepts with your classmates — especially your teammates. However, all code you submit must be your own. Do not copy code from another student or share your code for others to copy. If you discussed an approach with someone, that’s great; just write the code yourself.
AI Tools Policy
TL;DR: No AI tools in this course. But plan to use AI extensively in your future career.
AI tools like ChatGPT, Claude, and GitHub Copilot are transforming data science work. You should learn to use them effectively — but not yet. This course prohibits AI assistance on all assessments:
- Weekly coding assignments
- In-class coding exercises
- Reading quizzes
- Final project
Why no AI?
Think of it like going to the gym. You don’t hire someone to lift the weights for you — the struggle is the point. The goal is to build mental muscle: understanding why code works, debugging when it doesn’t, and developing intuition about data structures.
Using AI before you have these foundations creates an “illusion of competence.” The code works, so it feels like you understand it. But when the AI hallucinates (and it will), you can’t debug it. You’re stranded.
Research shows that AI coding tools are most effective when used for augmentation (enhancing what you already know) rather than automation (doing what you don’t understand). In Anthropic’s Economic Index (January 2026), AI output quality was strongly correlated with the user’s education level and domain expertise — AI amplifies your existing skills, it doesn’t replace them (Anthropic, 2026).
By building a strong foundation now, you’ll be in a far better position to leverage AI as a collaborator in your future work.
Grading
| Component | Weight | Details |
|---|---|---|
| Weekly Coding Assignments | 35% | 8 assignments |
| Reading Quizzes | 15% | 10 quizzes, unlimited retakes, best score counts |
| In-Class Participation | 15% | Completion-based coding exercises |
| Final Project | 35% | Includes proposal, draft, and final submission |
Grading Scale
Final letter grades are based on the following cutoffs. I do not round — a 92.9% is an A-, not an A.
| Grade | Percentage | Grade | Percentage |
|---|---|---|---|
| A+ | 99.0–100% | C+ | 77.0–79.9% |
| A | 93.0–98.9% | C | 73.0–76.9% |
| A- | 90.0–92.9% | C- | 70.0–72.9% |
| B+ | 87.0–89.9% | D+ | 67.0–69.9% |
| B | 83.0–86.9% | D | 63.0–66.9% |
| B- | 80.0–82.9% | D- | 60.0–62.9% |
| F | Below 60% |
Weekly Coding Assignments (35%)
Short, focused exercises that reinforce each session’s content. These are due Sunday at 11:59 PM and are designed to take 1-2 hours outside of class. You’ll have time during class to start these and ask questions.
Reading Quizzes (15%)
Each week, you’ll complete a brief Canvas quiz covering that week’s assigned readings. Quizzes are due Sunday at 11:59 PM and cover readings for both Monday and Wednesday sessions. There are 10 quizzes total (one per week).
Each quiz draws 5 random questions from a larger question bank. You can take each quiz as many times as you want — your best score counts. The goal is to make sure you’ve engaged with the readings before class, and unlimited attempts mean there’s no reason not to keep trying until you’ve mastered the material.
In-Class Participation (15%)
During each class, you’ll work with a partner on coding exercises. These are graded on completion and good-faith effort, not correctness. This is your time to experiment, make mistakes, and learn from each other. Your 2 lowest check-in scores are dropped, so missing a class or two won’t hurt your grade.
Final Project (35%)
A capstone project where you’ll apply everything you’ve learned to analyze a dataset of your choosing. The project has three checkpoints:
- Proposal (Week 5): Dataset selection and research questions
- Draft (Week 8): Working code and preliminary results
- Final Submission (Week 10): Polished Quarto report with visualizations and narrative
You’ll also submit a brief (5-minute) recorded video presentation during finals week (due Wednesday, June 10).
Dataset requirements: Your project must use a real dataset (not simulated), with at least 20 rows. You may not reuse a dataset from a previous course. More details will be provided with the project proposal guidelines.
Team Challenge (Not Part of Your Grade)
At the start of the term, you’ll be placed on a team of 5–6 students. Throughout the quarter, teams earn points across four categories:
- Pair coding completion — your team earns a point when all (or nearly all) members submit the in-class exercise
- Assignment submission — your team earns a point when all members submit on time
- Quiz performance — the team with the highest quiz average each week earns a point
- Weekly fun challenge — a short, low-stakes challenge completed outside of class
The team challenge is designed to build community and add a little friendly competition — it has no effect on your course grade. The winning team at the end of the term earns a celebration (details TBA).
Assignment Schedule
Weekly Assignments
| Assignment | Topic | Assigned | Due |
|---|---|---|---|
| 1: Getting Started | RStudio, ggplot2 basics | Wed Apr 1 | Sun Apr 5 |
| 2: Data Transformation | dplyr verbs, pipe | Wed Apr 8 | Sun Apr 12 |
| 3: Tidying & Import | pivot, read_csv (Quarto .qmd required) |
Mon Apr 20 | Sun Apr 26 |
| 4: Visualization Deep Dive | geoms, scales, design | Mon Apr 27 | Sun May 3 |
| 5: Exploratory Data Analysis | distributions, relationships | Mon May 4 | Sun May 10 |
| 6: Data Types | logicals, strings, factors | Mon May 11 | Sun May 17 |
| 7: Joins & Missing Data | joins, NA handling | Wed May 13 | Sun May 24 |
| 8: Reproducible Report | Quarto document | Wed May 27 | Sun May 31 |
Final Project Milestones
| Milestone | Due Date | Description |
|---|---|---|
| Proposal | Wed Apr 29 | Dataset selection, research questions, initial plan |
| Draft | Wed May 20 | Working code, preliminary visualizations |
| Final Report | Wed Jun 3 | Complete Quarto report |
| Presentation | Wed Jun 10 | 5-minute recorded video |