STA 230 Fall 2024 Syllabus

Welcome to the Fall 2024 section(s) of STA 230: Introduction to Data Science

Syllabus

Instructor Information:

Name: William Rebelsky
Office: Noyce 2220
Email: [rebelskyw]
Office Hours: Thursday 10-11am, by appointment

Name: Ankur Roy
Office: Noyce 2246
Email: [royankur]
Office Hours: MW 10-11am

Course Information

Dates: August 29 – December 13
Times: 8:30-9:50, 1:00-2:20 T/H
Classroom: Noyce 2401
Texts: No required texts, some free texts may be recommended throughout the semester

Mentor Sessions

This course employs the use of a mentor to aid you in navigating the course. Our course mentor
will assist us in class, and host 1 – 2 mentor sessions throughout the week. Mentor Sessions may
review course content, provide practice problems, practice interview skills, or provide homework
help.

Course Description

Welcome to the Fall 2024 sections of Grinnell College’s STA-230. This course introduces core topics in data science using R programming. This includes introductions to getting and cleaning data, data management, exploratory data analysis, reproducible research, and data visualization. This course incorporates case studies from multiple disciplines and emphasizes the importance of properly communicating statistical ideas. Prerequisite: MAT-209 or STA-209. Suggested CSC-151 or computer programming experience.

Learning Objectives

After completing this course, students will be able to do the following:

  • Apply methods of data exploration, visualization, and modeling to illustrate key findings and make justifiable inferences
  • Translate research questions into quantifiable metrics or models that can be evaluated
  • Use the R programming environment to process, manage, and format unstructured data, create meaningful data visualizations, and apply supervised or unsupervised learning models
  • Clearly and concisely communicate findings to statistical and non-statistical audiences

Class Format

The current plan for the course is as follows:

  • Tuesdays and Thursdays will consist of a short lecture followed by a lab that will be worked on in pairs.
  • Labs will generally be due every Friday
  • There will be approximately weekly homework assignments due every Friday
  • There will be an in class Midterm in early October
  • There will be an out of class project (Midterm2) Due in early November
  • There will be a Final Project due the last day of classes (December 13)

Tokens

Tokens reflect that life inevitably rears its ugly head in some fashion and ruins your best-laid plans.
You begin the course with 3 tokens. Tokens may be used for:

  • Turning in a homework late (1 token per homework max, gives 2 late days)
  • Re-doing a homework or Lab marked non-satisfactory (1 token per attempt, max 2 extra
    attempts)
  • Making up for an unexcused absence in class (1 token per missed class)

You may not use more tokens than you have. In addition to the 3 tokens you start with, there will
be multiple opportunities to earn more:

  • Attending an extra curricular event for one of your classmates that is announced in advance
  • Attending Convocation
  • Attending Department talks

After attending the event, submit a one-paragraph reflection on the event in the Tokens assignment on Gradescope within one week of the event.

Class Requirements and Components

All Components will be graded on a Satisfactory (S) or not-Satisfactory (NS) scale.

Labs

We will have in class labs almost every class. In general these will be due the Friday immediately following the class period in which they were released. In order to receive a Satisfactory:

  • The Lab must be complete: answer all questions, follow all instructions
  • The Lab must show a good faith effort on every problem
  • Key understanding is shown for each concept (this will vary by Lab)
  • Mistakes are minimal
Homework Assignments

We will have approximately weekly homework assignments due on Fridays. In order to receive a Satisfactory:

  • The Assignment must be complete: answer all questions, follow all instructions
  • The Assignment must show a good faith effort on every problem
  • Key understanding is shown for each concept
  • At least 85% of problems are solved correctly
Midterm 1

There will be an in class Midterm on October 1. It will be closed note and closed book, but will likely involve a significant amount of work in R

R Shiny App

The second “Midterm” will be the creation of an R Shiny App. Details will be forthcoming and it will be due November 15th

Final Project

There will be no Final Exam in this course. Instead, there will be a final project due the last day of classes (Friday, December 13th). Details will be released in the future.

Attendance and participation

Your attendance and participation in class is an integral part of your learning. You are expected to attend every class and work respectfully and effectively with your assigned partner.

You may be excused from a class under certain situations. Excusable reasons to miss class include college sponsored sports absences, religious holidays, family emergencies, and illness. Please email me at least a week in advance in the event of a planned absence. In the event of an unplanned absence (e.g. illness), please let me know as soon as possible if you will miss class, ideally at least 30min in advance of the start of class. Excused absences will not count against the tokens and will count as an S for the purposes of letter grades below.

Letter Grades

This course will rely on the ideas of specifications grading and mastery grading. These systems, inspired by adult learning theory, are designed to create a “low-threat” learning environment where:

  • Mastery obtained via exploration, experimentation, and failure is encouraged and valued as
    highly as “getting it right” the first time.
  • Your final grade accurately reflects your mastery of the learning goals of the course.

I reserve the right to update requirements for grades as circumstances dictate over the course of
the semester (e.g. if the number of assignments or labs changes).

Letter grades for the entire course will be assigned according to the bundles in the table below. You will receive the grade corresponding to the bundle for which you meet all the requirements. All bundles list minimum amounts, you may exceed the requirements for a bundle and still qualify for it. All numbers in the table are the minimum number of satisfactory grades achieved.

GradeAttendanceLabsHomeworkMidtermsFinal Project
28 Possible20 Possible8 Possible2 PossibleRequired to pass
C2214601
B2416711
A2618821
D: 3-4 requirements of a C are met
F: 0-2 requirements of a C are met
Half letter grades (C+,B+): all of the lower tier (C/B) requirements met, two of the higher tier
(B/A) non-essay requirements met.
Half letter grades (B-,A-): all of the lower tier (C/B) requirements met, three of the higher tier
(B/A) non-essay requirements met.

I will link a spreadsheet that you can use to test various combinations to see what the grade will be by the midsemester date.

One of the fundamental principles behind this grading scheme is that you will have opportunities to re-try assignments if they do not originally obtain a satisfactory grade. My goal in using this schema is to reduce the stress that accompanies typical grading rubrics and give you permission to make mistakes and learn as much as possible. Ultimately, my goal is for each student to learn as much as possible, and I would be very happy to have every student earn an A. Letter grades for the entire course will be assigned according to the bundles in the table above. You will receive the grade corresponding to the bundle for which you meet all the requirements. All bundles list minimum amounts, you may exceed the requirements for a bundle and still qualify for it.

Course Materials

Required Textbooks and Materials:
  • No Textbook required
  • Access to a computer is required. There should be computers in the classroom if you would rather not use your personal computer
  • If using a personal computer: R, Rstudio
Resources
  • Access course materials: PWeb
  • Submit your assignments on Gradescope
  • Databases, journal articles, and more: Grinnell Library
  • Receive Assistance with strengthening your writing: Grinnell Writing Lab
  • Receive Assistance with Statistical concepts: Math Lab
  • Receive Assistance with R coding and visualizations: DASIL
  • Health and Wellness: SHAW

Course and College Policies

Attendance

I highly encourage you to attend all class sessions. Attendance affects your learning in this course, and thus affects your grade. If you know in advance that you will miss class due to a college sponsored sport or a religious holiday, please let me know in the first two weeks of the semester. If you have another emergency come up please let me (and the college) know when safe for you.

Late Policy

All assignments are to be turned in electronically by 10:00PM Central Time on the day they are due. I am aware that there are a number of things outside of your control that may affect your ability to complete work on time. If possible, please let me know if you plan to turn in work late. Assignments turned in more than two days late (without prior approval) will not be accepted.

Incomplete Grade Policy

All work for the course is due by 5:00 pm on the last day of finals (20 Dec 2024). This is a college policy and there is no flexibility in this time. In exceptional circumstances, incomplete grades can be granted. Talk with me if you think you might need an incomplete to complete all the requirements of the course.

Student Workload

You can expect to spend 12 hours per week on this course, including all in-class and out of class time. This number is based off of the Grinnell Guidelines for credit-hours. If you find that you are spending significantly more than 9 hours working on material for this course outside of class each week, please let me know.

Academic Honesty Statement

Grinnell College’s Academic Honesty Policy is located in the online Student Handbook. It is the College’s expectation that students be aware of and meet the expectations expressed in this policy. In addition, in this course, it is my expectation that students may collaborate on the Homework Assignments and must collaborate on the Labs, however your collaboration must be attributed and all answers must be written up separately. It is my expectation that the Midterm will be completed independently.

In this course, you are not allowed to use solutions you find on the internet, and further, you are not allowed to search for problem solutions on the internet (this includes resources such as ChatGpt). I know that there is great temptation to look for solutions online when things get difficult. It is my hope that the format of this course eases some of the pressure that you might feel. Additionally, we will work to build our growth mindset in this course, which makes it less uncomfortable to sit with a challenging problem. For more information on the way I approach academic honesty, it may be helpful to check out Professor Samuel Rebelsky’s extended statement on academic honesty and integrity.

Sharing of Course Materials

Our goal is to create an inclusive learning environment where people feel free to share, fail, and ultimately grow in knowledge. To create such an environment, it is imperative that we be mindful of what we share outside of our learning space. To this end, I request that you refraining from sharing any recordings of our class meetings with others. Recordings of class meetings that we provide, e.g., recorded through Microsoft Teams, are meant for your personal use and should not be shared outside of the class. Students should not make their own recordings of class meetings.

Furthermore, while you retain copyright of the work you produce in this course, we must still uphold the academic integrity of this course. To this end, you may not share copies of your assignments with others (unless otherwise allowed by the course policies) or upload your assignments to third party websites unless substantial changes are made to the assignment (e.g., significant extensions and improvements to your code) so that it is clear that the end product is significantly different from what was asked in original assignment. I do recognize that there are times where you want to do this, e.g., uploading projects to Github for your resume or to show to friends and family, and so I encourage you come talk to me in advance, so that we can ensure that you upload a meaningful project that does not run afoul of this policy.

Religious Observance

I encourage students who plan to observe holy days that coincide with class meetings or assignment due dates to consult with me in the first two weeks of classes so that we may reach a mutual understanding of how you can meet the terms of your religious observance and also the requirements for this course.

Students with Disabilities

I encourage students with documented disabilities, including invisible disabilities such as chronic illness, learning disabilities, and psychiatric disabilities, to discuss appropriate accommodations with me. You will also need to have a conversation about and provide documentation of your disability to the Coordinator for Disability Resources, located on the ground level of Steiner Hall (641-269-3124).

Pregnancy and Childcare

Grinnell College is committed to compliance with Title IX and to supporting the academic success of pregnant and parenting students and students with pregnancy related conditions. If you are a pregnant student, have pregnancy related conditions, or are a parenting student (child under one-year needs documented medical care) who wishes to request reasonable related supportive measures from the College under Title IX, please email the Title IX Coordinator at titleix@grinnell.edu. The Title IX Coordinator will work with Disability Resources and your professors to provide reasonable supportive measures in support of your education while pregnant or as a parent under Title IX.

Inclusion Statement

It is my intention that students from all backgrounds and perspectives will be well served by this course, and that the diversity that students bring to this class will be viewed as an asset. I welcome individuals of all ages, backgrounds, beliefs, ethnicities, genders, gender identities, gender expressions, national origins, religious affiliations, sexual orientations, socioeconomic background, family education level, ability – and other visible and nonvisible differences. All members of this class are expected to contribute to a respectful, welcoming, and inclusive environment for every other member of the class. Your suggestions are encouraged and appreciated.

Take Care of Yourself

Do your best to maintain a healthy lifestyle this term by eating well, exercising, avoiding drugs and alcohol, getting enough sleep and taking some time to relax. This will help you achieve your goals and cope with stress.

All of us benefit from support during times of struggle. You are not alone. There are many helpful resources available through campus and an important part of the college experience is learning how to ask for help. Asking for support sooner rather than later is often helpful. If you or anyone you know experiences any academic stress, difficult life events, or feelings like anxiety or depression, I strongly encourage you to seek support. Student Health and Wellness (SHAW) is here to help: call 641-269-3230 and visit their website at https://www.grinnell.edu/about/offices-services/student-health. Consider reaching out to a friend, faculty, or family member you trust for help getting connected to the support that can help.

If you or someone you know is feeling suicidal or in danger of self-harm, call someone immediately, day or night:

  • Need to Talk Line: 641-269-4404 (available 24/7 for counseling needs)
  • 24/7 Suicidal Hotline: 1-800-273-8255
  • If the situation is life threatening, call 911

Acknowledgements

Misc

Why use R for Data Science?

If you’ve spent any time reading about data science online you’ll undoubtedly have noticed the prominence of the Python programming language. Indeed, research from Cal State University found Python was the most popular data science language in private industry, being mentioned in 42% of data scientist job postings. However, R, which was mentioned in 20% of job postings, is not far behind and offers a few advantages when approaching data science from a statistical perspective (hence this course having the STA prefix).

Both R and Python provide plenty of functions for data manipulation. However, because R was created by academic statisticians, it offers very strong data visualization and statistical modeling packages. On the other hand, Python is a general-purpose programming language that excels in production, deployment, and machine learning. Regardless of each language’s strengths and weaknesses, as an introductory course our focus is on the fundamental skills and thought processes used in data science – which is something that can be accomplished regardless of the tools used (which will change over time anyways).

Course Schedule

WeekDateDayClass
Course Content
LabLabs DueHW DueProject Milestones
029-AugThursday1Introduction, syllabusLab 1: Introduction to R
13-SepTuesday2R MarkdownLab 2: R Markdown
15-SepThursday3Files Functions FilePathsLab 3: Files and Functions
16-SepFridayLabs 1, 2, 3HW 0
210-SepTuesday4Plotting In RLab 4: ggplot part 1
212-SepThursday5Plotting In RLab 5: ggplot part 2
213-SepFridayLabs 4, 5HW 1
317-SepTuesday6Data Manipulation in RLab 6: tidyr
319-SepThursday7Data Manipulation in RLab 7: dplyr
320-SepFridayLabs 6, 7HW 2
424-SepTuesday8Working with SQLLab 8: SQL
426-SepThursday9Working with SQLLab 9: SQL 2
427-SepFridayLabs 8, 9HW 3
51-OctTuesday10In Class Midterm
53-OctThursday11Pause for breath
54-OctFriday
68-OctTuesday12Data ProcessingLab 10: Text processing
610-OctThursday13Data ProcessingLab 11: date/time processing
611-OctFridayLabs 10, 11HW 4
715-OctTuesday14Interactive graphics, Introduce Shiny ProjectLab 12 (11): shiny
717-OctThursday15Interactive graphicsLab 13 (9): plotly
718-OctFridayLabs 12, 13HW 5R Shiny Proposal
722-OctTuesdayFall Break
724-OctThursday
725-OctFriday
829-OctTuesday16Functions, iterations, simulations, Introduce Shiny ProjectLab 14
831-OctThursday17Functions, iterations, simulationsLab 15
81-NovFridayLabs 14, 15R Shiny Sketch
95-NovTuesday18ClusteringLab 16 (13) Clustering
97-NovThursday19ClusteringLab 17 (14) Clustering
98-NovFridayHW 6R Shiny Project
1012-NovTuesday20Introduce Final Project, PCALab 18: PCA
1014-NovThursday21Work On Final Project Proposal with group
1015-NovFridayLabs 16, 17, 18HW 7Final Project Proposal
1119-NovTuesday22Biased GraphicsLab 19: Biased Graphics 1Read posted sections
1121-NovThursday23Biased GraphicsLab 20: Biased Graphics 2
1122-NovFridayLabs 19, 20
1226-NovTuesday24Pause for breath
1228-NovThursdayThanksgiving “Break”
1229-NovFriday
133-DecTuesday25Time Set aside for Project Progress Meetings
135-DecThursday26
136-DecFridayFinal Project Progress Meeting
1410-DecTuesday27Additional Topics in data science
1412-DecThursday28Additional Topics in data science
1413-DecFridayFinal Project
Approximate Course Schedule