Syllabus đ
Table of contents
- About đ§
- Course Meetings đšâđ«
- Getting Started đŠ
- Communication đŹ
- Readings đ
- Assignments đ§Ș
- Exams đ
- Weekly Schedule đ
- Grades đŻ
- Collaboration Policy and Academic Integrity đ€
- Support đ«
- Waitlist FAQs đ
- Acknowledgements đ
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 data sets, 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 data sets 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. 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.
Course Meetings đšâđ«
Lecture
There are two lecture sections.
- A00: MWF 1-1:50PM
- B00: MWF 2-2:50PM
As of January 31st, you can attend lecture in two ways:
- By attending in-person at Center Hall 214
- By attending remotely via Zoom (see the course homepage or Calendar for the link)
You can attend either lecture section, but if (physical) space fills up, priority will be given to students officially enrolled in that section.
Discussion
Discussion section focuses on solving concrete problems using the techniques introduced in lecture, and is excellent preparation for the weekâs assignments, as well as exams. We expect that students in this class will have a wide range of backgrounds and relevant experience. If you are new to programming, you will especially benefit from taking advantage of the opportunity to attend discussion section and review the material from lecture. Attendance in discussion is highly recommended but not required.
There are two discussion sections.
- A01: Monday 7-7:50PM
- B01: Monday 6-6:50PM
As of January 31st, you can attend lecture in two ways:
- By attending in-person at Center Hall 105
- By attending remotely via Zoom (see the course homepage or Calendar for the link)
You can attend either discussion section, but if (physical) space fills up, priority will be given to students officially enrolled in that section.
All lecture and discussion sections will be recorded and posted. Recordings will be linked on the course homepage. If you are able, you are encouraged to attend lectures and discussions synchronously to ask questions and to participate in concept-check polls and discussion.
Note that the schedule of courses also includes a designated Laboratory time for both sections (on Wednesday for A00 and Friday for B00) â we will not be utilizing this time for anything this quarter, so you can ignore this Laboratory time and schedule other things during this time.
Office Hours
In order to provide you with help on assignments and concepts, the course staff will be holding several office hours throughout the week.
As of January 31st, we are offering both in-person and remote office hours. See the Calendar for the ofifce hours schedule and for details on how to access both types of office hours.
Office hours are your chance to ask for general help, clarification on assignments, and to review previous assignments. Course staff will not tell you if your answer is correct, and it is inappropriate to ask. All tutors have previously taken the class, done well, and been trained in how to help you. Here are some really good questions to ask:
- 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 đŠ
Technology
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 Loaner program which may be helpful, but you should also contact us if you have any concerns about access to technology. You will not need a webcam for this course.
All course content will be linked from this website, but there are a few additional platforms that youâll need to access:
Campuswire: Weâll be using Campuswire as our course message and discussion board. More details are in the Communication section below. If you didnât already get an invitation to our Campuswire course, sign up here (if it asks you to enter a code, enter 8844).
Gradescope: Youâll submit all assignments and exams to Gradescope. This is where all of your grades will live as well. If you didnât already get an invitation to our Gradescope course, reach out to the instructors.
DataHub: Assignments in this course will involve programming in Python. DataHub (datahub.ucsd.edu) 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). Youâll also need a Zoom account to access remote course events. You should already have an account through UCSD; see the Zoom guide for more help.
Note that we will not đ« be using Canvas this quarter for anything.
Forms
There are two Google Forms that weâd like to bring your attention to:
- Welcome Survey: required for all students.
- Alternate Final Exam Request Form: only if you have a conflicting final exam. See the Exams section for more details.
Communication đŹ
This quarter, weâll be using Campuswire 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 Campuswire. If your post includes 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 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 â this is a great way to strengthen your understanding of the material.
We will not be using the DMs functionality on Campuswire; please do not DM any members of course staff. We also ask that you donât email questions about the material (e.g. âCould you look at my code for this question?â or âI donât understand groupby, could you please explain it to me?â) or logistics (e.g. âWhat topics are going to be on the midterm?â) to individual course staff members, as those questions are meant for Campuswire. Email will be reserved for more personal questions.
Readings đ
Our readings will come from two free online sources.
- DSC 10 Course Notes (âNotesâ), a set of notes written specifically for DSC 10 that use the
babypandas
module. - Computational Inferential Thinking (âCITâ), the book used in Berkeleyâs version of DSC 10. This book uses slightly different Python commands (it does not use the
babypandas
module), but the underlying concepts are the same.
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. Lab assignments will usually (but not always!) be due on Tuesdays at 11:59pm San Diego time. We will release lab assignments roughly a week before theyâre due. The lowest lab score is dropped from the grade calculation.
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 reasonable, 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. Check back after the deadline to see your score, based on the hidden correctness tests. Homeworks will usually (but not always!) be due on Saturdays at 11:59pm San Diego time. We will release homework assignments roughly a week before theyâre due. The lowest homework score is dropped from the grade calculation.
Like labs, homeworks must be completed alone.
Projects
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 data set in-depth, which can be a lot of fun!
Project tests are like homework tests: the provided tests only check if your answer has the correct format, not if it is 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 the course. If you choose to work with a partner, you should practice pair programming. This means that you should work on the assignment synchronously, discussing each problem together and writing each answer together, taking turns of who is in control of the coding. Please read the section of this website dedicated to pair programming to learn more about how this works, and some of the benefits of working in pairs. If working with a partner, only one of you should submit the assignment.
Deadlines and Slip Days
Labs, homeworks, and projects must be submitted by 11:59pm San Diego time 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. If you make a submission after the deadline, your assignment will be counted as late.
You have six âslip daysâ to use throughout the quarter. A slip day extends the deadline of any one homework, lab, or project by 24 hours. You cannot turn in any assignments more than 48 hours late, meaning that you cannot use more than 2 slip days on any assignment.
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 slip days are also meant for things like the internet (or the DataHub server) going down at 11:58 PM just as you go to submit your homework. Slip days are meant to be used in exceptional circumstances, so you probably should not need to use all six, but if you have something going on in your life that is impeding your ability to do your classwork on time, please reach out to us as soon as possible so we can work something out.
Slip days are applied automatically at the end of the quarter, and you donât need to ask in order to use one. Itâs your responsibility to keep track of how many you have left. If youâve run out of slip days and submit an assignment late, that assignment may still be graded, but you will receive a 0 on it when we calculate grades at the end of the quarter. However, in the event that you use all six days and submit another assignment late, we will allocate your slip days first to the final project and midterm project, then to your homeworks (in chronological order), and then to your labs (in chronological order). This is done to prevent you from receiving a 0 on, say, the final project, if youâve used up all of your slip days at the end of the quarter; in such an example, youâd instead receive a 0 on an earlier assignment that isnât weighted as much in your grade. This policy only helps your grade.
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 the two ways of downloading Jupyter notebooks as a .ipynb
file.
When submitting your work, there are two potential errors to watch out for:
- 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. - 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 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 the assignment deadline has passed, you should reach out to a staff member and they will notify the tutor in charge of processing assignment submission. Since itâs your responsibility to ensure that all assignments are submitted correctly, you will lose a slip day if we have to resubmit for you.
Exams đ
This class has one midterm exam and one final exam. Exams are cumulative, though the final exam will emphasize material after the midterm.
Exams will be administered remotely through Gradescope. Exams will be open-notes, open-book, open-internet, with the limitation that you must take the exam alone without communicating with any other person.
- Midterm Exam: Wednesday, February 9th, during your assigned lecture slot (50 minutes)
- Final Exam: Saturday, March 12th, 3-6PM
Both exams must be taken exactly during the scheduled slot. The only exception is if you have an overlapping final exam. If you have an overlapping final exam, please fill out this form by Friday, January 13th.
Weekly Schedule đ
To summarize all of the events and deadlines, refer to this general weekly schedule (which is subject to change in any given week):
Sunday | Monday | Tuesday | Wednesday | Thursday | Friday | Saturday |
Nothing! đ | Lecture | Â | Lecture | Â | Lecture | Â |
 | Discussion |  |  |  |  |  |
 |  | Lab due |  |  |  | Homework due |
Grades đŻ
Your mastery of class material will be assessed in the following ways, and final grades will be computed as follows:
Component | Weight | Notes |
Lab Assignments | 15% | drop lowest score |
Homework Assignments | 35% | drop lowest score |
Midterm Project | 10% | Â |
Midterm Exam | 10% | Â |
Final Project | 15% | Â |
Final Exam | 15% | Â |
Note that each lab and each homework assignment will be worth the same amount, regardless of the number of points it is graded out of.
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 fill out the Autograder Regrade Request Form. 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. 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.
Collaboration Policy and Academic Integrity đ€
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 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, all code must be written by you (or, in the instance of projects, together with your pair programming 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 students (except in the instance of projects, your pair programming partner), the web, or any other resource not officially sanctioned by this course
- Posting your code online, including on Campuswire, 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 pair programming partner and each working on different questions
- Collaborating with others on 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 exams with other students who have already taken the exam after the exam is complete
- Using code provided in class, by the textbook or any other assigned reading or video, with attribution
- 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 Campuswire, without sharing your code
How can I be sure that my actions are NOT considered cheating?
The best way to avoid problems is by using your best judgement 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.
Support đ«
Accomodations
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 dscstudent@ucsd.edu.
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, so how can I keep up with the course?
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 dscstudent@ucsd.edu, 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, Campuswire, 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.
Acknowledgements đ
This offering builds off of earlier offerings of DSC 10 by Janine Tiefenbruck, Suraj Rampure, Justin Eldrige, Mikio Aoi, Colin Jemmott, Robert Twomey, Aaron Fraenkel, and Marina Langlois.