Syllabus

Course Overview

Nature doesn’t reveal its secrets easily.
- Thomas Kempa

Nor do data.

But that is exactly what can make data science so thrilling!

This course is about empowering you with the wisdom to ask the good questions of data–ones that are meaningful, adaptive, and equity-minded–and the technical savvy to answer them.

Because your careers (whether in data science or not), will all involve further learning and working with others, my other primary goal is for you to cultivate self-reflection skills with regards to your own learning and your collaboration with others. In this way, I hope that you feel confident learning new skills on your own in the future and contributing to a welcoming work community.

This second course in the data science curriculum emphasizes advanced data wrangling and manipulation, interactive visualization, writing functions, working with data in databases, version control, and data ethics. Through open-ended and interdisciplinary projects, students practice the constant feedback loop of asking questions of the data, manipulating the data to help answer the question, and then returning to more questions. Prerequisite(s): COMP 112 and COMP 123 and STAT 155; STAT 253 recommended but not required.

Learning goals

By the end of this course you should be able to:

  • Sustain a reflection practice
    • Reflect on your learning process so that you are equipped for independent learning
    • Reflect on your collaborative work so that you can develop community no matter where you go
  • Create effective visualizations and interactive applications
    • Create a variety of visualizations in ggplot2 that go beyond the plot types that you learned in STAT/COMP 112
    • Wrangle and visualize spatial data
    • Create interactive web applications and visualizations that adapt to user input
  • Wrangle arbitrarily messy data
    • Use appropriate R tools to manage numeric, logical, date, strings, and factors
    • Use appropriate R tools to write functions and iterate
    • Use appropriate methods when working with missing data
    • Double check your data cleaning steps to ensure accuracy
  • Acquire data from a variety of sources
    • Write queries in structured query language (SQL) to access data from databases
    • Write code to access data from application programming interfaces (APIs)
    • Write code to scrape data from websites and evaluate the ethics of collecting such data
  • Craft high quality data stories
    • Iterate on the question-explore-question cycle to craft compelling data stories with attention to data context and ethical considerations
    • Use a combination of data acquisition, data wrangling, static and interactive visualization, and statistical modeling to further a data science investigation
  • Use AI and search tools to figure out difficult tasks
    • Use appropriate coding jargon to construct effective search queries (e.g., Google) and evaluate the accuracy of results that you find
    • Construct effective AI prompts (e.g., Chat GPT, Google Bard) and evaluate the accuracy of generated results
    • Articulate the ethical considerations in using AI and search tools
  • Use professional data science tools
    • Use Git as a version control system
    • Use GitHub as a platform for sharing code and collaborating with others
    • Maintain a digital portfolio of your data science projects on your personal website
  • Work in a collaborative team
    • Understand and demonstrate characteristics of effective collaboration (team roles, interpersonal communication, self-reflection, awareness of social dynamics, advocating for yourself and others).
    • Develop a common purpose and agreement on goals.
    • Be able to contribute questions or concerns in a respectful way.
    • Share and contribute to the group’s learning in an equitable manner.
    • Develop a familiarity and comfort in using collaboration tools such as Git and Github.
Reflect
  • Which of the learning goals above do you disagree with or want more clarity on?
  • Do you have any goals that you’d like to include on this list?





Course communication

Meet the instructional team

Brianna Heggeseth (instructor)

About me: Statistician and data scientist
MSCS Department @ Macalester College

My primary research interests lie broadly in the study of statistical models and machine learning algorithms and their application in practice. I have collaborate with colleagues in social psychology, environmental epidemiology, and genetic biology. See https://bcheggeseth.github.io/ for more information.




Comp/Stat 212 Preceptors

Cynthia [Listen] (she/her)

Class of 2025 | Tianjin, China

Statistics & Economics (major), Math (minor)

Avianna [Listen] (she/her)

Class of 2025 | Hanoi, Vietnam

Data Science (major), Psychology + Ed. Studies (minor)


The preceptor drop-in hours will be listed on this 212 Google Calendar.


R/RStudio Preceptor

Kyle Sueflow (he/him)

Class of 2026 | MN Native

Data Science (major)


The R/RStudio preceptor drop-in hours will be listed on this MSCS Events Google Calendar.

Contacting me

Call me “Brianna”

Students often wonder what to call their professors. I prefer to be called by my first name, Brianna (“Bree-AH-na”). If you prefer to be more formal, I’m good with Professor Heggeseth (“HEG-eh-seth”) and I use the pronouns she/her/hers.

Please help me make sure that I call you by your preferred name (with correct pronunciation!) and pronouns too!

Email

Please email me (bheggese@macalester.edu) with any personal or academic concerns. I will do my best to respond within 24 hours on weekdays and 48 hours on weekends. For content questions, I encourage you to post in our Slack workspace (see below).

Office Drop-In Hours

Where: OLRI 125 (at the bottom of the interior southern staircase)

When:See my Office Hour Google Calendar for up-to-date office hour times.

Why: Office hours are a great time to talk about this class, career planning, or life in general. This is one of my favorite parts of my job, so please come chat! You should plan to attend my office hours at least once in the semester. If these office hour times don’t work with your schedule, I’m available by appointment; email to set up a time to meet!

Letter of Welcome

Hello, and welcome to a new adventure!

I am excited to start this educational journey with you! You may be feeling quite anxious or really excited or both about this new semester.

I want you to have a positive learning experience in this course so I need you to advocate for yourself and your peers. If something about the course is not working for you, please let me know as soon as possible.

The diversity of experience among your peers is an opportunity to learn. Those with less experience bring fresh ideas to problem solving! Those with more experience have an opportunity to refine your communication skills by supporting the learning of others. You all belong here in my class and you each have something to learn and something valuable to contribute to this community.

Brianna

Slack Discussion Board

Slack is a commonly used communication tool in industry and is useful to be familiar with, so we’ll be using it as our discussion board.

  • If you’re new to Slack, this video provides a quick overview.
  • First join our STAT/COMP 212 workspace here.
  • After joining, you can access our workspace here. (You might want to download the Slack app or bookmark this if you have Slack open in your web broswer.)





Guiding values

Community is key

A sense of community and connectedness can provide a powerful environment for learning: Research shows that learning is maximized when students feel a sense of belonging in the educational environment (e.g., Booker, 2016). A negative climate may create barriers to learning, while a positive climate can energize students’ learning (e.g., Pascarella & Terenzini, cited in How Learning Works, 2012).

For these reasons, I design our in-class group activities to intentionally foster commmunity and connectedness. You can help cultivate our classroom community by being thoughtful about the way you engage with others in class.

Active listening is vital

Research on learning theory and how the brain works has taught us that people learn best in community, when they feel safe, seen, heard, and cared about. Effective listening is a key part of this process. How often do you find yourself coming up with a response and waiting to interject rather than listening to what another person is saying? On the flip side, what do you need to feel heard and understood?

To feel connected in community, we need to practice turn-taking and active listening (fully engaged and trying to understand what someone is saying, rather than just listening to respond). I will ask you to discuss how you want to be listened to throughout the semester.

Reflection is paramount

The content you learn will be cool (unbiased opinion!), but I guarantee that as technology evolves, some part of it will become out-of-date during your careers. What you will need to rely on when you leave Macalester is what I want to ensure you cultivate now: learn how to learn. And the cornerstone of a good learning process is reflection.

Reflection is not just fundamental to learning content–it’s fundamental to learning any sort of intellectual, emotional, or physical skill. For this reason, I am prioritizing reflection as a goal for our course in both content learning and collaborative activities. (Note that these reflection goals are the first two course learning goals.)

Mistakes are essential

An expert is a person who has made all the mistakes which can be made in a narrow field.
- Niels Bohr, Nobel Prize-winning physicist

I don’t feel comfortable working with a new R package until I’ve seen the same errors over and over again. Seeing new errors helps me understand the constraints of the code and the assumptions that I was making about my data.

Communication is a superpower

Every time I go to a conference talk on a technical topic, it is striking how quickly laptops or phones come out because of the inability to follow. Academics notoriously struggle to make ideas accessible to others.

I want communication to be very different for you.

Every time you communicate ideas–whether through writing, visuals, or oral presentation–I want you to be a total boss. The end product of strong communication is a better experience for all those who have given you their attention. What’s more, the process of crafting effective communication is invaluable for deepening your own understanding:

Read to collect the dots, write to connect them
pic.twitter.com/YbgnKKFUNn
David Perell (@david_perell) July 5, 2021





How to thrive and what to expect

When taking a new course, figuring out the right workflow/cadence of effort throughout the week can be a big adjustment. And most of you are doing this for 4 different courses! Below are some suggestions for what to expect in the course and how to focus your time and attention during and outside of class.

Outside of class

Pre-class readings: Most class periods will have a required reading to review ideas from previous courses or to familiarize yourself with new concepts before seeing them again in class. My goal for these readings is for you to get the most out of class time by being able to more easily follow explanations in class and to engage most fully in class activities. I will have a checkpoint on Moodle for each reading to draw attention to important concepts.

Suggestion
  • Take Notes: Open a notebook and take notes as you as you read the material. You may want to have the checkpoint on Moodle open to draw you attention to some details.
  • Ask (and answer!) questions in the #concept-questions or #r-troubleshooting channel in our Slack workspace.
  • Reflect from in-class time about your learning process or interactions with peers while they are still fresh.
  • Start Early After learning a new topic in class, it is helpful to immediately attempt the related exercises on the upcoming homework assignment.
  • Come to instructor office drop-in hours to chat about the course or anything else! 😃

During class

Class time will be a mix of interactive lecture and longer stretches of group work. During the lecture portion, I will pause explanation frequently to prompt a short exercise or ask questions that you’ll reflect on individually or together.

Suggestion

Review your learning process and group work reflections just before class to frame how you want to engage in class. (Perhaps you’ve noted a struggle and want to try a new strategy.)





Grading and feedback

My philosophy

Grading is thorny issue for many educators because of its known negative effects on learning and motivation. Nonetheless, it is ever-present in the US education system and at Macalester. Because I am required to submit grades for this course, it’s worth me taking a minute to share my philosophy about grading with you.

What excites me about being a teacher is your learning. Learning flourishes in an environment where you find meaning and value in what we’re exploring, feel safe engaging with challenging things, receive useful feedback, and regularly reflect on your learning.

It is important to me to create a course structure and grading system that creates an environment for learning to flourish:

  • Finding meaning and value: I am striving to achieve this by creating space for authentic connection between you, your peers, and myself and by encouraging you to explore a topic that intrigues you for our course project.

  • Challenges to deepen learning: The assignments and activities that we will use to learn are meant to be challenging so that you can develop your problem solving skills. You should start the assignments as soon as we’ve covered the material in class and come to office hours (preceptor + instructor). At the end of the semester, I’ll give you the opportunity to revise 2 homework “parts” to demonstrate your understanding.

  • Receiving useful feedback and reflecting regularly: In order to learn maximally, you need BOTH good feedback and to reflect thoughtfully about misconceptions in your learning. Our preceptors and I will strive to give useful comments and prompts to spur reflection when we see room for improvement.

Assignments and assessments

Homework

Our course learning goals will have associated challenges for practicing the tools/concepts. During most weekly homework assignments, you will work on two challenges. A challenge will either receive a grade of High Pass, Pass, Attempted, or Not Attempted. Requirements for high passing will be clearly described in each challenge. There will be roughly 2 challenges (HW Parts) for each of the following skill categories:

  • Advanced ggplot2 (HW2)
  • Spatial Viz (HW3)
  • Data wrangling (HW4)
  • Functions + data wrangling (HW5)
  • Functions, wrangling, loops (HW6)
  • Functions, wrangling, loops, APIs (HW7)
  • Functions, wrangling, loops, web scraping, SQL (HW8)
  • Interactive Viz (HW9)
Purpose

The purpose of challenges is to engage in targeted and repeated practice for core skills. The reason for interleaving different topics within a single homework assignment is to promote skills becoming more deeply ingrained by spacing out practice over time.

Checkpoints

To prompt initial exposure to concepts and ideas presented in readings and videos, we will have a checkpoint for each assigned video or reading. A checkpoint will either receive a grade of Pass (P), Attempted (A), Not Pass (NP). Requirements for passing will be clearly described in each checkpoint. No extensions will be grated for checkpoints as they are vital for preparation for in-class time.

Quizzes

To ensure that you are developing the essential conceptual understanding of the data science topics, we will have three quizzes throughout the semester. These quizzes will be in-person during class time on February 19th, March 12th, and April 14th. The quizzes will be closed notes and closed internet.

Revising and resubmitting quizzes: Everyone will revise with the ability to work with your classmates and resubmit your work:

  • For every question marked incorrect, write an updated answer. You can work with your classmates to discuss the questions and answers.
  • For every question marked incorrect, write a sentence that explains your original thinking and why your new answer is correct.

Learning Reflections

Roughly every month in the semester, you will write a reflection in which you think about your learning goals, progress, and next steps.

Reflections that show thoughtfulness will receive a grade of Pass, Attempted, or Not Attempted .

Data Storytelling Project

The best way to learn data science and feel like a data scientist is to work on meaningful data-driven projects. The course project will be a semester-long, collaborative experience in which you investigate a series of meaningful questions using multiple datasets.

Purpose

The purpose of the project is to engage in a meaningful and collaborative data-driven experience and to build something that you would be proud to showcase to a potential employer on your personal website.

Through regular milestones (roughly every 2-3 weeks) throughout the semester you will set goals for future milestones, make progress on the goals you set out in the previous milestone, and integrate feedback from previous milestones. Details about project milestones will be available on the Project page.

Each project milestone will receive a grade of High Pass, Pass, or Not Yet based on the progress made relative to the goals that we agree upon.

Revising and resubmitting milestones: If you receive a grade of Not Yet on a milestone, your group can revise and resubmit your work once if we have a group discussion about why goals were not met so that we can plan a reasonable path forward.

Course grading system

Guidelines for Passing

In order to pass the course, you should:

  • Community: Be present and engaged in class for at least 75% of the class periods.
  • Checkpoints: Attempt at least 10 of the checkpoints. Pass at least 7 of them.
  • Homework: Attempt all challenges in all but 1 homework.
  • Quizzes: Attempt all 3 quizzes and receive at least a low pass prior to revision for all quizzes.
  • Project: Pass all project milestones. You, as an individual, clearly contribute with Github commits with your account to a passing code base and a passing digital artifact.

Guidelines for an A

In order to earn a final letter grade of A, you should aim to do the following:

  • Checkpoints: Pass almost all (13) of the checkpoints.
  • Homework: High Pass most challenges.
  • Quizzes: High Pass at least 2 quizzes prior to revision. High pass all 3 after revision.
  • Project: Thoughtfully integrate peer and instructor feedback to create a code base and digital artifact that go beyond the Passing requirements and meet the Excellent requirements in at least 2 areas.
  • Tidy Tuesday:
    • Make a good faith effort at 3 different Tidy Tuesday challenges.
    • A good faith effort involves posing a research question, making a clean plot with good labeling that addresses that question, interpreting the plot in light of data limitations, and posting in our Slack with a link to your TidyTuesday Github Repo.





Textbooks

We will primarily use the following textbooks (freely available online):

The following textbooks are also good resources (also freely available online):





Other policies

Late work

Homework assignments will generally be due weekly on Tuesday at 11:59pm.

Deadlines are social contracts. The purpose of deadlines are so that the instructional team can give useful, meaningful feedback in a timely manner. Everyone automatically will be granted three 3-day extensions to use throughout the semester. If you turn in an assignment beyond 1 hour of the deadline, you will automatically be using one of your extensions.

If you have used all three of your extensions and need more time to complete an assignment, please email me to set up a meeting as soon as possible. An extension may be granted but there may be penalties in your final grade.

Academic integrity

Academic integrity is the cornerstone of our learning community. Students are expected to be familiar with the college’s standards on academic integrity.

I encourage you to work with your classmates to discuss material and ideas for assignments, but in order for you to receive individualized feedback on your own learning, you must submit your own work for homework assignments. You may not pair program for your homework assignments.

You must write your own code and putting explanations into your own words. Always cite any resources you use, including AI (see section below).

Artificial intelligence (AI) use

Learning to use AI tools is an emerging skill that we will explore together in this course. I expect you will use AI (Gemini, ChatGPT, Google Bard)—in fact, some assignments may require it.

Please be aware of the limits of AI:

  • AI does not always generate accurate output. If it gives you a number, fact, or code, assume it is wrong unless you either know the answer or can check in with another source. AI works best for topics you already understand to a sufficient extent.
  • If you provide minimum effort prompts, you will get low quality results. You will need to refine your prompts in order to get good outcomes. This will take work.
  • Be thoughtful about when this tool is useful. You may want to avoid using it at the beginning of the semester to ensure you are building a base set of knowledge so that you internalize the concepts and syntax.
  • The environmental impact of AI should not be ignored. The building and usage of AI tools consumes a lot of energy (see here and here). For this reason, we will be very thoughtful about when we use AI and will discuss other sustainability behaviors that we can incorporate into our lives to offset this usage.
  • AI is a tool, but one that you need to acknowledge using. Any ideas, language, or code that is produced by AI must be cited, just like any other resource.
    • How to cite AI: Please include any resources, including AI, that you use to complete an assignment in the Resources Reflection at the end of an assignment. Failure to do so is in violation of the academic integrity policy at Macalester College.

If you have any questions about your use of AI tools, please contact me to discuss them.





The environment you deserve

Macalester College values diversity and inclusion. We are committed to a climate of mutual respect, free of discrimination based on race, ethnicity, gender identity, religion, sexual orientation, disability, and other identities, in and out of the classroom. This class strives to be a learning environment that is usable, equitable, inclusive, and welcoming.

To help support these goals, we expect you to follow the MSCS Community Guidelines. These guidelines were created by the MSCS faculty and staff in our ongoing efforts to create a community that is more welcoming, supportive, and inclusive.

Respect: Everyone comes from a different path through life, and it is our moral duty as human beings to listen to each other without judgment and to respect one another. I have no tolerance for discrimination of any kind, in and out of the classroom. If you are seeking campus resources regarding on-going microagressions, the Department of Multicultural Life and the Center for Religious and Spiritual Life are wonderful resources.

Empathy: Everyone has a different life situation. This will impact our personal choices and it can cause tension. Please start with empathy for each other. We all have ongoing struggles and worries and we are all trying to do our best given the circumstances.

Be Curious: We are dealing with higher than normal levels of anxiety and all of us have different ways of coping with that stress. As we navigate interpersonal relationships, start with curiosity. Rather than assuming, ask each other questions. Inspired by Ted Lasso.

Sensitive Topics: Data science applications span issues in science, policy, and society. As such, we may sometimes address topics that are sensitive for you. I will try to announce in class if an assignment or activity involves a potentially sensitive topic. If you have reservations about a particular topic, please come talk to me to discuss possible options.

Accommodations: If you need accommodations for any reason, please contact Center for Disability Resources to discuss your needs, and speak with me as soon as possible afterwards so that we can discuss your accommodation plan. If you already have official accommodations, please discuss these with me within the first week of class so that you get off to a great start. Contact me if you have other special circumstances.

Title IX: You deserve a community free from discrimination, sexual harassment, hostility, sexual assault, domestic violence, dating violence, and stalking. If you or anyone you know has experienced harassment or discrimination, know that you are not alone. Macalester provides staff and resources to help you find support. More information is available on the Title IX website.

Please be aware that all Macalester faculty (and preceptors when working) are mandatory reporters, which means that if we become aware of incidents or allegations of sexual misconduct, we are required to share the matter with the Title IX Coordinator. Although I have to make that notification, you control how your case is handled, including whether or not you wish to pursue a formal complaint. If you would like to speak to someone confidentially, contact the Hamre Center (651-696-6275), Chaplain staff (651-696-6298), or other local and national resources listed here.

General Health and Well-being: I encourage to make your well-being a priority throughout this semester (and beyond!). Investing time into taking care of yourself will help you engage more fully in your academic experience. Remember that beyond being a student, you are a human being carrying your own experiences, thoughts, emotions, and identities with you. It is important to acknowledge any stress you may be facing, which can be mental, emotional, physical, cultural, financial, etc., and how they can have an impact on you and your academic experience. Remember that you have a body with needs. During class time, eat when you are hungry, drink water, use the restroom, and step away/out if you need space or a break. Please do what is necessary while minimizing the impact on others’ ability to be mentally and emotionally present. Outside of the classroom, sleeping, moving your body, and connecting with others can be strategies to help you be resilient at Macalester (and beyond).

If you are having difficulties maintaining your well-being, you are not alone. Please don’t hesitate to contact me and/or find support from physical and mental health resources here and here.