DSC 80 – The Practice and Application of Data Science
📜 Syllabus
Welcome to DSC 80 in Fall 2025! This page should answer most of the questions you might have about how the course is run; check out the frequently asked questions for answers to some common ones. If you don't find what you're looking for here, feel free to make a post on Campuswire.
Here is what the syllabus will cover:
About DSC 80
DSC 80 serves as a bridge between lower-division and upper-division data science courses. In DSC 80, students will gain proficiency with the data science life cycle and learn many of the fundamental principles and techniques of data science spanning algorithms, statistics, machine learning, visualization, and data systems.
After DSC 80, students will be prepared for data science internships and interviews, will have the tools to create their own data science portfolios, and will have the maturity necessary to succeed in upper-division machine learning and statistics courses.
Prerequisites: DSC 30 and DSC 40A.
Your Instructor
This quarter, DSC 80 is brought to you by:
- Dr. Justin Eldridge (Justin)
jeldridge@ucsd.edu
(though contacting me via Campuswire is often faster)
webpage
Getting Started
To get started in the class, you'll need to do two things: 1) set up accounts on the course web services, and 2) set up your programming environment so that you can complete the assignments. This section covers how to do both.
Websites
To get started in DSC 80, you'll need to set up accounts on a few websites.
Campuswire
We'll be using Campuswire as our course message
board. You should have received an invitation via email, but if not you should
be able to join by clicking the link above and using the access code 7629
. Be sure to join Campuswire as soon as possible,
since all course communication will be done through it.
If you have a question about anything to do with the course — if you're stuck on a problem, want clarification on the logistics, or just have a general question about data science — you can make a post on Campuswire. We only ask that if your question includes some or all of an answer, please make your post private so that others cannot see it. You can also post anonymously if you would prefer.
Course staff will regularly check Campuswire and try to answer any questions that you have. You're also encouraged to answer a question asked by another student if you feel that you know the answer.
Gradescope
We'll be using Gradescope for assignment submission
and grading. This is where all of your grades will live as well. Most of the
assignments will be coding assignments. Parts of these assignments will be
manually graded, but most of them will be autograded. You should have received
an email invitation for Gradescope, but if not you can join with code
42BY42
.
GitHub
Like in DSC 30, you'll access all course content (lecture slides and assignments) by pulling our course GitHub repository. The repo is here, and you can also access it using the link in the sidebar. In most assignments, you won't need to push anything to GitHub. However, you will need to push to GitHub as part of your Final Project, so you'll need to have a GitHub account by then.
Canvas
We will not be using Canvas. All course materials will be available at dsc80.com or via GitHub.
Programming Environment
As soon as you are able to, go follow the steps in the Tech Support page of the course website to set up your development environment for the course.
Resources and Materials
You will not need to purchase any textbook or other materials for this course. Lecture notebooks will be your main resource in this class. You can access them, along with all course materials, by pulling from the course GitHub repository.
Supplementary readings will primarily come from Learning Data Science, a textbook written by Sam Lau. It can be found at learningds.org. Some readings will come from notes.dsc80.com, a set of notes that were originally written to supplement DSC 80. Supplementary readings are not required, in that you won't be tested on anything that appears only in the readings but not in lectures or assignments, but you should still complete them to supplement your understanding!
Lectures
Lectures will be held in-person at the regularly-scheduled time and place, but they will be podcasted and posted online for remote viewing. Attendance is appreciated, but not required.
There are two lecture sections this quarter. The lecture times are:
-
12:30 PM on Tuesday and Thursday in CENTR 212
-
3:30 PM on Tuesday and Thursday in PODEM 1A22
You may attend whichever lecture section you would like after Week 02, but please make sure to attend your scheduled section for the in-class exam.
You will be able to find the lecture recordings at podcast.ucsd.edu.
Office Hours
Course staff, including tutors, TAs, and instructors, will hold office hours regularly throughout the week. Please see the office hours page for the schedule and for instructions.
Discussions
We will not be using the scheduled discussion times for this course. Instead, we will post Exam Prep worksheets with suggested questions from past exams. Completing these worksheets is optional, and they are not turned in or graded. However, we encourage you to complete them as a way to prepare for the exams.
Assignments
Labs
There will be 8 lab assignments due weekly throughout the quarter. Each lab assignment will consist of a mixture of coding and free response questions. Coding questions will ask you to fill in the body of a function. Public tests are usually provided so that you can make sure that you're on the right track (similar to DSC 20). However, your submission's final score will use a private autograder with hidden tests.
Each lab is worth the same amount, but the lowest lab will be dropped when calculating your final score.
You will access labs (and projects) by pulling the course GitHub repository. You'll submit them on Gradescope (the assignment itself will have detailed instructions on how to submit your work).
Lab Collaboration Policy. You are highly encouraged to think about the labs together, but you must turn in your own solutions written in your own words. We feel that discussing lab problems is an excellent way to learn, but writing the solutions in your own words promotes a deeper, more solid understanding than discussion alone.
Projects
There will be 4 projects due throughout the quarter. Like labs, projects consist of coding and free response questions. As their name implies, however, projects are more open-ended and allow you to simulate applying your data science skills in practical situations. You can think of the projects as being mini-take-home-exams that track your practical skills throughout the quarter (whereas the exams themselves test for conceptual understanding).
Projects are due bi-weekly. However, the week before a project is due, there will (usually) be a project checkpoint due. This checkpoint will ensure that you're on-track to complete the project on time, and should (hopefully) be a source of easy points.
The Final Project will be due during finals week and can be thought of as a practical component of the Final Exam.
Note that, unlike labs, the lowest project score is not dropped.
Project Collaboration Policy. You may work together on projects (and projects only!) with a partner. If you work with a partner, you are both required to actively contribute to all parts of the project. You must both be working on the assignment at the same time together, either physically or virtually on a Zoom call. You are encouraged to follow the pair programming model, in which you work on just a single computer and alternate who writes the code and who thinks about the problems at a high level.
In particular, you cannot split up the project and each work on separate parts independently.
If you work with a partner:
- Only one partner needs to submit the project on Gradescope; this partner should add the other partner to their submission.
- You must also submit the checkpoint together.
- You and your partner will receive the same score on any submissions you make together.
If you are unhappy with your partnership (e.g., if your partner does not keep in touch, does not come prepared to work on the assignment, or does not seem to be engaged in the process), please first address your concerns to your partner, and try to agree on what should be done to make the partnership work well for both of you. If that approach is not successful, explain the issues to the instructors, who will work with you and your partner to improve the situation.
You may use different partners on different projects.
Note that you may not work with partners on lab assignments, however you're encouraged to discuss all assignments with others at a conceptual level in office hours and study groups.
Redemption Policy for Labs and Projects
All of the labs and Projects 1-3 (but not the final project!) have a "redemption" policy that allows you to make up for lost points on your original submission.
After the original deadline passes for an assignment, we will publish the autograder result for your latest submission before the assignment deadline. You may then submit the assignment within a week of the original assignment deadline to redeem up to 80% of the points you lost on the original submission.
Example: Suppose that after grades were released for the Project 1 deadline, Sam receives a 90% since he lost points on a few hidden tests. He fixes the bugs, resubmits, and his new submission gets a 100%. His final grade for Project 1 would then be 98% (0.8 * (100% - 90%) + 90% = 98%).
Note that this redemption policy does not apply to project checkpoints, or the Final Project.
Autograder Catastrophes
The autograder is very picky: it expects your assignments to have exactly the correct file names, all functions must be named correctly, etc. If these are wrong, your code may not run and the autograder may assign zero points. This is a grading catastrophe 😧.
Grading catastrophes are preventable! After submitting your assignment, always wait around to see the output of the Gradescope grader and ensure that it runs properly. Also, be sure to submit your assignment (or at least part of it) to Gradescope with enough time before the deadline to get help if there is a strange autograder problem.
In the worst case, you might not realize that your assignment did not run correctly until after the deadline. If this happens, remember that you can still use the redemption policy above to earn back up to 80% of the points you lost on the original submission!
Regrade Requests
Most of the labs and projects are autograded, but some questions are manually graded. If you feel that there in an error in the autograder or that the manual grader has made a mistake, you may submit a regrade request within two days of the grades being released.
To submit a regrade request for a manually graded problem, make the regrade request directly on Gradescope. Note that part of your grade is clarity, so if your answer was mostly right but unclear you may still not be eligible for full credit.
If you think there was a bug in the autograder, you won't be able to submit a regrade request on Gradescope. Instead, please make a post on Campuswire explaining the issue. If you can, include a screenshot of the autograder output and a link to your submission. We will investigate the issue and fix the autograder if necessary. If we do need to fix the autograder, we will regrade everyone's submissions for that assignment.
Use of Generative Artificial Intelligence
Generative Artificial Intelligence (GenAI) describes tools, such as ChatGPT and GitHub Copilot, that are trained to generate responses to user-defined prompts, or questions. The existence of such tools is a major milestone in machine learning, and an impressive application of data science in the real world.
Our course policy on the use of GenAI tools for coursework is simple: you may use these tools to build an understanding of course material and to assist you on assignments, keeping in mind that no tool is a substitute for a strong understanding of course concepts.
Be mindful of how you are using GenAI tools. These tools can be very useful to help you preview material before lecture, summarize material after lecture, explain concepts you didn’t understand, and explore how different concepts are related. “Explain it like I’m five” can be a helpful prompt to give you a basic understanding of new concepts before being exposed to them in lecture. Consolidating your knowledge after learning something new and relating it to other things you know is important for learning and retention.
Unfortunately, GenAI tools are not a consistently reliable source of quality information. Because of how GenAI tools are trained, they often provide answers and write code that look correct, but aren't actually correct. A goal of your education is to develop an ability to identify and produce information that actually is correct and doesn’t just sound correct. Human supervision of GenAI tools is always necessary.
Proceed with caution when using tools to assist you with your assignments. DSC 80 is a foundational class for your study of data science; you need to master the skills and concepts of this course if you want to use data science effectively. Through exams, you will be tested on your independent ability to apply course material to novel problems. Labs and projects are meant to prepare you for these assessments, so overreliance on GenAI for assignments will rob you of opportunities to learn and make it hard for you to perform well on exams.
If you do use GenAI to assist you on assignments, keep these guidelines in mind:
- Design your prompts carefully. Don’t just ask one question; ask a follow-up question based on the output to the first. To use these tools effectively, you need to engineer your prompts carefully.
- Test the outputs. GenAI tools can and do make mistakes, and being able to verify the correctness of a proposed answer is an important skill for you to develop. Validate the output against course-provided references, or follow up with a search on Google or Stack Overflow. Remember that GenAI tools provide crowdsourced likely answers, not necessarily correct answers.
- Don’t submit any code that you don’t understand, or that uses content not taught in this class. In our experience last quarter, students who used ChatGPT to help with assignments ended up with code that was difficult for both them and the teaching staff to understand. If you answer questions with out-of-scope content, you are not practicing the foundational skills that the course is meant to teach you. Be careful!
If your assignment submission includes any content generated by an AI tool, it should be cited to acknowledge the source of the material. In each assignment, you will be provided with a space to explain and reflect on your use of GenAI tool(s).
Slip Days
You have five slip days to use throughout the quarter on any assignment -- that is, any lab, project, project checkpoint (including the final project and its checkpoints), or lab/project redemption.
A slip day extends the deadline by 24 hours. Slip days cannot be "stacked" or "combined" to extend the deadline further — the latest any assignment can be submitted is 24 hours after the deadline. Slip days are applied automatically at the end of the quarter, but it's your responsibility to keep track of how many you have left.
Slip days are designed to be a transparent and predictable source of leniency in deadlines. You can use a slip day if you are too busy to complete an assignment on its original due date (or if you forgot about it). But slips days are also meant for things like the internet going down at 11:58 PM just as you go to submit your assignment. Slip days are to be used in exceptional circumstances, so you probably shouldn't get close to using all of them — if you do get close to using that many, we will likely reach out to make sure that everything is OK.
Note that slip days are not designed to help in the case of a serious illness or other unfortunate event that severely disrupts your ability to participate in the class. If something like that should arise, please let us know ASAP! See also the FAQ.
Exams
There are two exams in this course: Exam 01 covers (roughly) the first half of the course, and will be held in-class in the middle of the quarter (2025-11-06). Exam 02 covers roughly the second half of the course, and will be held during finals week.
- Exam 01: Thursday, November 06 (focuses on Lectures 01 — 09)
- Exam 02: Saturday, December 06 (focuses on Lectures 10 — 18)
Exam Redemption Policy
If you don't do as well as you'd like on Exam 01, you have the option to take a Redemption Exam 01 during finals week. If you score higher on the redemption exam than on the original Exam 01, your score on the redemption exam will replace your score on Exam 01. If you score worse on the redemption exam, your original Exam 01 score will be kept. Because of this, the redemption exam is effectively optional -- you can choose to take it or not based on how you did on the original exam. It also means that you could, in principle, skip Exam 01 entirely and just take the redemption exam, though we don't recommend this!
There is no "Redemption Exam 02"; unfortunately, since there isn't enough time in the quarter to offer one.
Grading
Here is how we'll compute your grade:
- Labs: 20%
- 2.5% per lab, lowest dropped
- Projects: 25%
- 5% each for Projects 1-3, 10% for Project 4 (also known as the Final Project)
- Project Checkpoints: 5%
- 1% each for 1-3, and 2% for the Final Project Checkpoint
- Exam 01 or Redemption Exam 01, whichever is higher: 25%
- see the Redemption Policy above
- Exam 02: 25%
The standard grading scale (where an A is 93+, A- is 90+, B+ is 87+, etc.) will be used as a starting point when determining letter grades at the end of the quarter, but once all scores are in, we will run a clustering algorithm to automatically find the best cutoffs for each letter grade. These cutoffs can only be lowered. For instance, the threshold for an "A" will never be higher than 93%.
A+ grades are not awarded according to a threshold. Instead, A+'s are awarded to the top 5% of students by overall grade.
Support and Resources
As instructors, our job is to foster an environment where everyone, regardless of identity, feels welcome and is able to focus on learning. If there is something we can do in this mission, or if there is something preventing you from succeeding in the class, please let us know. If you feel uncomfortable speaking with us or are searching for help on a specific concern, there are several campus resources available to you, including:
- UCSD Counseling and Psychological Services (CAPS)
- Hub Basic Needs Center
- Office for Students with Disability (OSD)
- Office for Prevention of Sexual Harrassment and Discrimination
More generally, if you have any concerns about your ability to focus or succeed in this course, or just need someone to talk to, please contact us ASAP and we'll figure something out.
OSD Exam Accommodations
If you have exam accommodations from the OSD, you should receive an email from the data science program that will ask you to provide your availability for your accommodated exam. The program will then schedule the exam and notify the instructor of its time and location. If you do not receive such an email by the end of the second week of classes, please let us know!
Please be sure to respond to the email from the data science program; if the program does not hear back from you, they will be unable to schedule your accommodated exam.
Waitlist
If you're on the waitlist, make sure you participate in the class just as if you were enrolled (for example, by doing all of the assignments) so that if you do get in, you're not behind.
Often, people will ask about their chances of making it off the waitlist. Unfortunately, that can be hard to answer! In some quarters, the waitlist moves a lot; in others, not at all.
Acknowledgements
This offering of DSC 80 builds off of prior offerings by Sam Lau, Tauhidur Rahman, Suraj Rampure, Justin Eldridge, Marina Langlois, and Aaron Fraenkel. Along with the help of their tutors and TAs, they developed much of the content that we will use in this course.
FAQ
Is this class curved?
In a typical quarter, the redemption policies have the same effect as a traditional "curve", replacing the need for one. The standard grading scale (where an A is 93+, A- is 90+, B+ is 87+, etc.) will be used as a starting point, but once all scores are in, we will run a clustering algorithm to automatically find the best cutoffs for each letter grade. These cutoffs can only be lowered, making it easier to get the next higher letter grade. For instance, the threshold for an "A" will never be higher than 93%.
I'm close to the next higher grade. Can you round my grade up?
In the interest of fairness, we don't manually adjust the grades of individual people. However, we do run a clustering algorithm to find the best cutoffs for each letter grade, and this has the effect of "bumping" up people objectively. When you receive your grade report at the end of the quarter, it will already take this into account.
We also build in things like redemption opportunities on exams and labs because we think they’re a much fairer way to give everyone a chance to bump up their own grade. Your final grade already reflects those chances — so in a way, it’s already been “bumped.”
What should I do if I am sick (or have another emergency) and can't complete an assignment/exam?
If you are too sick to participate in the class, focus on getting better first! As soon as you're able, send us a doctor's note, and we will work with you to figure out a plan. This assumes that you're sick for at most a week. If the severity of your illness is such that you'll be out for longer, please let us know and we'll work with your college advisors to explore your options.
What if I forgot to submit an assignment?
If you forget to submit an assignment (or otherwise did not turn it in by the deadline), you can use a slip day to submit it late. If it is past the slip day deadline, you can use the lab/project redemption policy to earn back up to 80% of the points you lost on the original submission.
Can I take a make-up exam?
While we'd like to be able to offer make-up exams for any reason, the logistical difficulties involved prevent us from doing so. For that reason, we have to limit make-up exams to cases where you have a doctor's note or other official documentation of an emergency. However, if you have another reason for missing a midterm, such as a job interview, a family wedding, etc., you do still have options: for one, you can skip Exam 01 and take Redemption Exam 01 instead. In that case, the redemption exam will replace the grade of the missed exam.
Make-up exams due to an illness/emergency must be taken in-person at the Triton Testing Center.