Skip to main content Link Search Menu Expand Document (external link)

📖 Syllabus

Table of contents

  1. 🧐 About
    1. Acknowledgements
  2. 👨‍🏫 Course Meetings
    1. Lecture
    2. Discussion
    3. Quiz/Work Sessions
    4. Office Hours
  3. 🚦 Getting Started
    1. Technology
    2. Welcome Survey
    3. Pretest
  4. 💬 Communication
  5. 📕 Readings
  6. 🧪 Assignments
    1. Lab Assignments
    2. Homework Assignments
    3. Projects
    4. Deadlines
    5. Submission Errors
  7. 📝 Assessments
    1. Exams
    2. Quizzes
  8. 📆 Weekly Schedule
  9. 💯 Grades
    1. Regrade Requests
    2. Letter Grades and Incompletes
  10. 🤝 Academic Integrity Policies
    1. Why is academic integrity important?
    2. What counts as cheating?
    3. Use of Generative Artificial Intelligence
  11. 🤗 Support
    1. Accomodations
    2. Diversity and Inclusion
  12. 🙋 Waitlist FAQs

🧐 About

Welcome to DSC 10 at UC San Diego! This course aims to teach you how to draw conclusions about data. We will learn how to explore data and make predictions using data. Programming is a useful tool to help us analyze large datasets, and so we will learn how to program in Python towards this goal. We will learn some of the core techniques of data science, and we will practice applying them to real datasets from a variety of different disciplines.

Prerequisites: None. This course is an introduction to data science with no prior background assumed beyond high school algebra. Make sure you are well-prepared by taking this pretest.

If you are not planning on entering the DSC major/minor and have already taken a programming class and a statistics class, you may wish to take a more advanced course. If you are a DSC major/minor, DSC 10 is absolutely required, as later courses heavily reference its specific content.


The contents of this course come from UC Berkeley’s Data 8 course, created by Ani Adhikari, John DeNero, and many others. This offering builds off of earlier offerings of DSC 10 by Justin Eldridge, Suraj Rampure, Janine Tiefenbruck, and many others. Thanks to all those who have a played a role in shaping this amazing course!

👨‍🏫 Course Meetings


There is one lecture section:

Lecture is meant to introduce you to the main concepts of the course. In-person attendance is never required, but is strongly encouraged when possible, as you’ll get the opportunity to ask questions, answer ungraded concept-check polls, and participate in discussion. We’re going to move very fast in this summer offering of DSC 10—twice as fast as the regular class—so if you miss a lecture, it may be quite challenging to catch up.

Lectures will be podcasted (UCSD’s term for “recorded”). Podcast recordings will be available online at within a few hours.

We will also link recordings directly on the course homepage; you can access these by clicking the podcast button with the 🎥 emoji.


There is one discussion section, which will immediately follow lecture on Tuesdays and Thursdays:

Discussion section starts in Week 1. The first discussion includes some useful instruction and tips for using Jupyter notebooks and Datahub, the programming tools we’ll be using in this course. It should be helpful to get you set up and comfortable with the technology you’ll be using all quarter.

Subsequent discussion sections will be focused on quiz and exam preparation. Students will work through problems from past DSC 10 quizzes and exams and be able to get help from course staff. Attending discussion and working through practice problems gives you direct experience with the types of questions you will see on quizzes and exams.

Discussion sections will not be podcasted. The purpose of discussion is to give you hands-on problem-solving experience, so you really need to attend and participate to reap the benefits.

Quiz/Work Sessions

All students enrolled are assigned to a lab section (listed as LA on WebReg and the Schedule of Classes). This is a two-hour block on Wednesdays following lecture that you should have reserved for this class. We will use this time on July 10 to administer one quiz. During the other four weeks of the summer session, we will set this time aside as a working session where staff will be present to help with lab and homework. See the Quizzes section of the syllabus for more information.

The quiz/work session will take place directly after lecture Wednesday in the same room, after a half-hour break:

Office Hours

In order to provide you with help on assignments and concepts, the course staff will hold several office hours throughout the week, all of which will be held in-person. See the Calendar tab of the course website for the most up-to-date schedule and instructions.

We use the term “office hours” but really, office hours are held in a common room where you can come to work on assignments, meet your classmates, and get help from course staff. We don’t bite and we would love to see you in office hours!

Office hours are your chance to ask for general help, clarification on assignments, and to review previous assignments. Our tutors have previously taken the class, done well, and been trained in how to help you. Course staff will not tell you if your answer is correct, and it is inappropriate to ask. Here are some really good questions to ask instead:

  • I got confused about a concept in class. Can you explain it?
  • When the assignment says X, does it mean A or B?
  • My code is giving a weird error - can you help me understand why?
  • I can’t get this test to pass, so I must be doing something wrong. Can you help me figure it out?
  • My code is doing something different than what I expected. Can you explain what is happening?

Questions that you should never ask a tutor:

  • Is this the right answer?
  • Can you check my code and make sure it is right?
  • What is the answer?
  • What’s going to be on the exam?

Your primary motivation when interacting with course staff should be learning.

🚦 Getting Started


First and foremost, you will need access to a computer (or tablet with a keyboard) and a stable internet connection to participate in this course. UCSD has a Laptop Lending Program which may be helpful, but you should also contact us if you have any concerns about access to technology. Most students bring a computer to lecture, and a computer or tablet will be necessary for discussion sections. All course content will be linked from this website, but there are a few additional platforms that you’ll need to access:

  • Ed: We’ll be using Ed as our course message and discussion board. More details are in the Communication section below. If you didn’t already get an invitation, join here.

  • Gradescope: You’ll submit all assignments and exams to Gradescope. This is where all of

    Gradescope. This is where all of your grades will live as well. You will be automatically added to Gradescope within 24 hours of enrolling in the course.

  • DataHub: Assignments in this course will involve programming in Python. DataHub ( is UCSD’s online data science and machine learning platform, where you will work on assignments. We will show you how to use it in class.

Make sure you can access all three sites ASAP. It’s a good idea to bookmark them, too (though they’re all linked at the top of this website).

Note that we will not be using Canvas this quarter. You won’t see this course on your Canvas at all. In addition, please do not contact the staff through Canvas – we won’t be able to read it!

Welcome Survey

Please fill out this short Welcome Survey at the start of the quarter. This is required of all students.


DSC 10’s only prerequisite is high school algebra. In order to gauge your preparedness for the type of math you’ll see in this class, you should work through the practice problems on this pretest. You will not submit this pretest, and it will not be graded, but it will help you identify any gaps in your background knowledge and it will teach you some useful test-taking skills. We’ll release solutions to the pretest on Wednesday of Week 1.

💬 Communication

This quarter, we’ll be using Ed as our course message board.

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 Ed. If your post includes any part of your solution to a problem (e.g. code), please make your post private; otherwise, please make your post public so that other students can benefit from the interaction. You can also post anonymously if you prefer. Course staff will regularly check Ed 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 – this is a great way to strengthen your understanding of the material.

Please use Ed instead of email, as this helps us keep all course-related communication in one place. In particular, don’t send course staff questions about course content over email/social media – Ed is the place for that.

📕 Readings

Our readings will come from two free online sources.

  • Computational and Inferential Thinking (“CIT”) is the main textbook for the course, written to support UC Berkeley’s version of this course, from which DSC 10 was adapted. This book uses slightly different Python commands (it does not use the babypandas module), but the underlying concepts are the same.
  • Notes on (Baby)Pandas (“BPD”) are a set of notes about the babypandas module, written specifically for DSC 10 students.

🧪 Assignments

Lab Assignments

Weekly lab assignments are a required part of the course and will help you develop fluency in Python and working with data. The labs are designed to help you build the skills you need to complete homework assignments and projects in a low-stress setting.

As you complete the lab, you’ll be able to run a sequence of autograder tests, which check to make sure that your answers are correct. If you complete the assignment and all the tests pass, you’ll get a perfect score!

To submit a lab, follow the instructions in the assignment to upload your notebook to Gradescope, which will run automated tests and assign your score. You should verify that all of your test cases pass on Gradescope before the deadline. We will release lab assignments roughly a week before they’re due. Your lowest lab score is dropped from your grade calculation at the end of the quarter.

Labs must be completed and submitted individually, but we encourage you to discuss high-level approaches with others. See the Collaboration Policy and Academic Integrity section for more details.

Homework Assignments

Weekly homework assignments build off of the skills you have developed in labs. Homeworks will reinforce concepts from class, explore new ideas, and provide hands-on experience working with data.

An important difference between labs and homeworks lies in the way autograder tests are run. Unlike the tests in the labs, the tests in the homework cannot be used to guarantee that you have the correct answers. The tests in the homework only check to make sure that your answer is appropriately formatted, not that it is correct. For example, if a homework question asks you to calculate a percent, the test in the homework might check that the answer you provide is a number between 0 and 100. You should make sure that all the tests pass before submitting your homework, but this will not guarantee a perfect score.

After you submit your homework to Gradescope, and after the deadline for submissions has passed, a new set of hidden tests will be run to make sure that you have the correct answers. In the percent example above, the hidden test might check that your answer equals 56, for example. Your score for the assignment will be based on the results of the hidden tests, which won’t be available immediately after submission. So if you see a perfect score upon submission, this only means that you’ve passed the formatting tests, not the hidden correctness tests that determine your score.

To submit a homework, follow the instructions in the assignment to upload your notebook to Gradescope. We will release homework assignments roughly a week before they’re due. Your lowest homework score is dropped from your grade calculation at the end of the quarter.

Like labs, homeworks must be completed and submitted individually, but we encourage you to discuss high-level approaches with others. See the Collaboration Policy and Academic Integrity section for more details.


This class has two projects, a Midterm Project and a Final Project. Projects are like more challenging homeworks. They are longer than a typical homework, and they require you to pull together ideas from previous weeks, rather than just the last week. Projects also give you a chance to explore a dataset in-depth, which can be a lot of fun!

Project tests are like homework tests – the provided tests only check if your answers have the correct format, not if they are correct. You’ll only be able to see your score on the project after the deadline, once all projects are submitted and the hidden correctness tests have been run.

Unlike labs and homeworks, you may work with a partner on projects. Your partner can be anyone else in any section of the course. If you choose to work with a partner, start by reading these project partner guidelines. If working with a partner, only one of you should submit the assignment, and you’ll be able to tag your partner in your Gradescope submission.


Labs, homeworks, and projects must be submitted by 11:59PM on the due date to be considered on time. You may turn them in as many times as you like before the deadline, and only the most recent submission will be graded, so it’s a good habit to submit early and often.

When submitting any assignment to Gradescope, make sure to stick around until you see a confirmation that all tests have passed. If the Gradescope autograder cannot grade your work or you see a message saying “Your submission timed out,” this indicates an error with your code, and it is your responsibility to identify and solve the problem before the deadline.

It may take some time for Gradescope’s autograder to grade your submission. You are encouraged to submit with enough time to see the output of the autograder before the 11:59PM deadline, as it may alert you to a problem you need to fix. However, if you submit before 11:59PM and the autograder finishes running after 11:59PM, your assigment will still be considered on time.

After submitting, check that you got a confirmation email from Gradescope to verify that your submission was successful. Save this email until you receive your grade on the assignment, in case of any issues with your submission.

Extension requests will be granted on a case-by-case basis; please email Nishant directly ( as soon as possible once you know that you may need an extension. The earlier we know that something has come up, the more we can help support you.

Submission Errors

It is your responsibility to ensure that your work is submitted correctly to Gradescope as a .ipynb file. Watch 20:05 and onwards of this video to see two ways of downloading Jupyter notebooks as a .ipynb file.

When submitting your work, there are two potential errors to watch out for:

  1. Submitting your notebook in the wrong format, e.g. submitting as a .json or .txt file instead of a .ipynb file. If you do this, the Gradescope autograder will not be able to grade your work, and you will get a 0. This can almost certainly be avoided by watching the aforementioned video, and by waiting until you see confirmation from Gradescope that all tests have passed.
  2. Submitting the wrong notebook, e.g. submitting your Lab 6 notebook to the Homework 6 assignment on Gradescope. This will also give you a 0, because the Gradescope autograder for a particular assignment can only grade your work for that assignment. To avoid this error, make sure to stick around on Gradescope after submission until you see that all tests have passed.

To prevent these issues, it is important that you (1) double-check that you are submitting the right notebook in the right format to Gradescope, and (2) let the autograder run on Gradescope until it shows you under “Public Tests” that all public test cases passed.

If you happen to make one of the above mistakes and you notice it yourself within 48 hours of the deadline, please resubmit your assignment. If it is more than 48 hours since the deadline, please reach out to a staff member and we may resubmit for you, which will cost you 2 slip days. It is your responsibility to ensure that all assignments are submitted correctly.

📝 Assessments

We will assess your knowledge of course material frequently through quizzes and exams. Quizzes and exams will be administered on paper, without the use of computers or calculators. You’ll have access to a large collection of Practice Problems to help you prepare. You’ll see some of these problems in discussion sections and during in-class exam reviews, but the more you practice, the better prepared you’ll be for the assessments.


This class has one Midterm Exam and one Final Exam:

  • Midterm Exam: Thursday, July 18, 11AM-12PM in Mosaic 0204.
  • Final Exam: Saturday, August 3, 11:30AM-2:30PM, location TBD.

Exams are cumulative, though the Final Exam will emphasize material after the Midterm Exam. Both exams will be held in-person and on-paper.

If you have a conflict with either exam, you should let us know right away via the Welcome Survey to see if accomodations can be made. Without express permission otherwise, students are required to take both exams at the scheduled times.


Quizzes are a relatively new component of the course, introduced last quarter, to help students get more practice solving problems on-paper without a computer in front of them, as they’ll need to do on exams. Quiz questions are meant to be more straightforward to than exam questions, but they will help you build the skills you need to perform well on exams, as well as help you identify any areas you need more practice in before the exam.

We will have only one quiz, administered in the lab section on Wednesday, July 10. This quiz is designed to give you a low-stakes opportunity to practice solving problems on paper, with room for failure, as some practice before our midterm. The score from your quiz will replace your lowest assignment (lab or homework) score.

We will not offer a makeup quiz. If you are sick, traveling, or otherwise need to miss the quiz, you have some flexibility because it replaces an assignment score.

📆 Weekly Schedule

To summarize all of the events and deadlines, refer to this general weekly schedule. Please refer to the homepage of this website for the most up-to-date schedule of deadlines.

  Lecture and DiscussionLecture and Lab SessionLecture and Discussion  
 Homework due  Lab due (usually)  

💯 Grades

The table below shows how your mastery of class material will be assessed and how grades will be computed:

Lab Assignments15%drop lowest score
Homework Assignments30%5% each, lowest score replaced by quiz
Midterm Project10% 
Midterm Exam10% 
Final Project10% 
Final Exam20% 

Note that all assignments in each category will be worth the same amount, regardless of the number of points out of which they are graded.

Regrade Requests

If you’d like to request a regrade on any assignment, you must do so within one week of the assignment being graded. If you think there is a problem with the autograder, please email Nishant. If you think there is a problem with how your written question was graded, submit a regrade request through Gradescope.

Letter Grades and Incompletes

We will use a standard scale for assigning letter grades:

Letter GradeAA-B+BB-C+CC-DF
Percentage93+90+87+83+80+77+73+70+60+below 60

A+ grades are given at the instructor’s discretion. If you are taking the course P/NP, you will receive a grade of P if you meet the criteria for a C- grade, otherwise you will receive a grade of NP.

If you have extenuating circumstances that prohibit your completion of coursework, you may be eligible for an Incomplete grade. If you are considering using this option, the best thing you can do is let us know right away, and we can help you decide if this is an appropriate course of action. If you have any doubt about your ability to perform satisfactorily in this course due to something outside of your control, please contact us as soon as possible so we can figure out a plan.

🤝 Academic Integrity Policies

The basic rule for DSC 10 is: Work hard. Make use of the expertise of the staff to learn what you need to know to really do well in the course. Act with integrity, and don’t cheat.

If you do cheat, we will enforce the UCSD Policy on Integrity of Scholarship. This means you will likely fail the course and the Dean of your college will put you on probation or suspend or dismiss you from UCSD. Students agree that by taking this course, their assignments will be submitted to third party software to help detect plagiarism.

Why is academic integrity important?

Academic integrity is an issue that is pertinent to all students on campus. When students act unethically by copying someone’s work, taking an exam for someone else, plagiarizing, etc., these students are misrepresenting their academic abilities. This makes it impossible for instructors to give grades (and for the University to give degrees) that reflect student knowledge. This devalues the worth of a UCSD degree for all students, making it imperative for the campus as a whole to enforce that all members of this community are honest and ethical. We want your degree to be meaningful and we want you to be proud to call yourself a graduate of UCSD!

The UCSD Policy on Integrity of Scholarship and this syllabus list some of the standards by which you are expected to complete your academic work, but your good ethical judgment (or asking us for advice) is also expected as we cannot list every behavior that is unethical or not in the spirit of academic integrity. Ignorance of the rules will not excuse you from any violations.

What counts as cheating?

In DSC 10, you can read books, surf the web, talk to your friends and the DSC 10 staff to get help understanding the concepts you need to know to complete your assignments. However, no other person should complete your work for you or write any of the code you submit in this course, with the exception of the work you do with a project partner.

The following activities are considered cheating and are not allowed in DSC 10 (not an exhaustive list):

  • Using or submitting code acquired from other individuals.
  • Posting your code online, including on Ed, unless privately to instructors only.
  • Having any other person complete any part of your assignment on your behalf.
  • Completing an assignment on behalf of someone else.
  • Providing code, exam questions, or solutions to any other student in the course.
  • Splitting up project questions with your project partner and each working on different questions.
  • Collaborating with others on quizzes or exams.

The following activities are examples of appropriate collaboration and are allowed in DSC 10 (not an exhaustive list):

  • Discussing the general approach to solving homework problems or projects.
  • Talking about problem-solving strategies or issues you ran into and how you solved them.
  • Discussing the answers to quizzes or exams once all students in all sections of the course have taken the assessment.
  • Using code provided in class or in any assigned readings or videos.
  • Google searching for documentation on Python or babypandas.
  • Working together with other students on assignments without copying or sharing answers.
  • Posting a question about your approach to a problem on Ed, without sharing your code.

The best way to avoid problems is by using your best judgment and remembering to act with Honesty, Trust, Fairness, Respect, Responsibility, and Courage. Here are some suggestions for completing your work:

  • Don’t look at or discuss the details of another student’s code for an assignment you are working on, and don’t let another student look at your code.
  • Don’t start with someone else’s code and make changes to it, or in any way share code with other students.
  • If you are talking to another student about an assignment, don’t take notes, and wait an hour afterward before you write any code.

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.

For example, we asked ChatGPT to tell us about the Central Limit Theorem, an idea we will learn about towards the end of the quarter. The answer we get back is actually quite good.

Good answer, ChatGPT!

However, we also asked ChatGPT to tell us about permutation testing, another idea from the second half of the quarter. The answer we got back was wrong in very subtle ways, though it might sound correct to someone learning about permutation testing for the first time. Thinking about why ChatGPT’s answer is wrong is a useful learning exercise.

Not quite...

As this example illustrates, be skeptical about anything you learn from GenAI tools. Because of how GenAI tools are trained, they are designed to provide answers that sound correct, not necessarily ones that are 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.

In addition, proceed with caution when using tools to assist you with your assignments. DSC 10 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 quizzes and exams, you will be tested on your independent ability to apply course material to novel problems. Homeworks, 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 assessments.

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. Here are some tips for crafting prompts.
  • 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 this introductory course, we expose you to a limited set of Python tools that you can use to solve a wide range of problems. When you prompt a GenAI tool with a question from DSC 10, it will not be limited to our restricted toolkit, and may provide answers using much more complicated code. If you answer questions with out-of-scope content, you are not practicing the foundational skills that the course is meant to teach you. In addition, your code may not pass correctness tests that require your solution to use methods taught in the course.

If your assignment submission includes any content generated by an AI tool, it should be cited to acknowledge the source of the material. At the end of each assignment, you will be provided with a space to explain and reflect on your use of GenAI tool(s).

🤗 Support


From the Office for Students with Disabilities (OSD):

OSD works with students with documented disabilities to review documentation and determine reasonable accommodations. Disabilities can occur in these areas: psychological, psychiatric, learning, attention, chronic health, physical, vision, hearing, and acquired brain injuries, and may occur at any time during a student’s college career. We encourage you to contact the OSD as soon as you become aware of a condition that is disabling so that we can work with you.

If you already have accommodations via OSD, make sure that we receive your Authorization for Accommodation (AFA) letter at the start of the quarter so that we can make arrangements for accommodations. The Data Science OSD Liaison can be reached at

Diversity and Inclusion

We are committed to an inclusive learning environment that respects our diversity of perspectives, experiences, and identities. Our goal is to create a diverse and inclusive learning environment where all students feel comfortable and can thrive. If you have any suggestions as to how we could create a more inclusive setting, please let us know. We also expect that you, as a student in this course, will honor and respect your classmates, abiding by the UCSD Principles of Community. Please understand that others’ backgrounds, perspectives and experiences may be different than your own, and help us to build an environment where everyone is respected and feels comfortable.

🙋 Waitlist FAQs

I am on the waitlist, but I really want to get into the course. Can you let me in?

Sorry, but instructors are not able to enroll students in classes.

I am on the waitlist, so how can I keep up with the course?

Waitlisted to students may attend lecture and discussion, space-permitting, and can also watch podcast recordings. You can (and should) still submit assignments if you are on the waitlist. Waitlisted students should have access to DataHub to work on assignments. You may need to add yourself to some course tools; see the Getting Started section of the syllabus.

What are my chances of getting off the waitlist?

The instructional staff is not equipped to answer this question. Many questions about enrollment are answered here. Please direct your questions about enrollment to DSC advising. You can send an email to, send a message through the Virtual Advising Center, or stop by drop-in advising hours. In short, seats in the class open up when students drop the class, which can be hard to predict.

I have been added to Gradescope, Ed, and other course tools. Does this mean I am off the waitlist?

No. Students on the waitlist were also added to all course tools, so they can complete assignments while they are on the waitlist. Check WebReg if you are not sure of your enrollment status.