Welcome to DSC 80 in Spring 2021! 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.
Here is what the syllabus will cover:
jeldridge@ucsd.eduTo get started in DSC 80, you'll need to set up accounts on a couple of websites.
We'll be using Campuswire as our course message board. Campuswire is like Piazza, but unlike Piazza, Campuswire does not sell student data to third parties. You should have received an invitation via email, but if not you should get in touch with a course staff member as soon as possible, as we'll be making all course announcements via Campuswire.
If you have a question about anything to do with the course — if you're stuck on a assignment 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.
We'll be using Gradescope for assignment submission and grading. 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 please let us know as soon as possible (preferably via Campuswire).
Some aspects of the course, like office hours and the remote discussion, will be held using Zoom. You should already have an account through UCSD; see the Zoom guide for more help. Note that you will not be expected to have a webcam!
We'll use Canvas for the course gradebook and for the exams.
No materials are required for this course; we'll use online video lectures as the main resource, as well as the course notes written by Prof. Aaron Fraenkel.
DSC 80 is entirely online this quarter due to the . Lectures will be pre-recorded YouTube videos, and links to these videos will be posted before the regularly-scheduled lecture time. You will be able to watch them whenever is most convenient for you.
The downside of pre-recorded lectures, of course, is that there is no possibility for interaction. To help mitigate this, Justin will be holding office hours on Tuesday and Thursday. If you watch the lecture during this hour and have a question, feel free to stop by office hours for a quick answer.
Course staff, including tutors, TAs, and instructors, will hold office hours regularly throughout the week. This quarter, all office hours will be via Zoom. Please see the office hours page for the schedule and for instructions.
Discussions will be held live on Zoom at 01:00 pm PST on Friday. It will be recorded for those who are unable to attend.
During discussion you will work through a short notebook or coding problem designed to prepare you for the coming week's assignments. Attending discussion and submitting the discussion assignment are not mandatory. However, each discussion assignment submitted will earn you 0.3% of extra credit applied towards your overall score at the end of the quarter. Since there will be 10 discussions, there will be 3% of extra credit made available. This has the potential to boost your grade by half a letter.
Discussion assignments will be due via Gradescope on midnight of the Saturday after discussion.
There will be nine lab assignments due weekly throughout the quarter. Each lab assignment will be a mixture of coding and free response questions. Coding questions will ask you to fill in the body of a function. Doctests are usually provided so that you can make sure that you're on the right track (a la DSC 20), however, your submission will be graded using 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.
Lab assignments are eligible for redemption with the following scheme. If you re-submit your lab within one week of the due date, we'll regrade it with a 10% penalty. If you re-submit it between one and two weeks after the due date, there will be a 30% penalty. Beyond this we cannot accept redemption requests.
In DSC 80, we want to get as much practice as possible with the tools of the trade,
including git. Therefore, all assignments -- labs included -- are obtained by
pulling the course GitHub repository.
There will be five projects due every other week 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 be a project checkpoint. This checkpoint will ensure that you're on-track to complete the project on time, and should (hopefully) be a source of easy points.
Note that, unlike labs, projects are not eligible for redemption, nor is the lowest project dropped. Like all assignments, you can obtain the project by pulling from the course GitHub repository.
The last project will be due during finals week, and can be thought of as a practical component of the final exam.
You may work together on projects using the paradigm of pair programming. In pair programming, you may work with one partner of your choosing to complete the assignment. You must both be present (physically or virtually), and working on the same piece of code simultaneously. One person types while the other watches for errors. Pair programming is not where one person does Question 1 while the other person does Question 2.
If you choose to pair program a project, you must submit the project as a pair (even if you do just a single problem together). You must also submit the project checkpoint together (as otherwise you'd be working separately on part of the project).
Note that you may not pair program on lab assignments.
You have six slip days to use throughout the quarter on any deadline, including a discussion assignment, lab, project, or project checkpoint. A slip day extends the deadline of any one assignment by 24 hours. Slip days cannot be "stacked" or "combined" to extend the deadline further — the latest any one 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 six — if you feel that you will need that many, send me a message and we'll figure something out.
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.
Catastrophes are preventable! To prevent them, each assignment comes with a set of public tests that will help ensure that the autograder will run your code. Please pay attention to these tests! In the case that you submit code that doesn't run and discover this at a later date, you have some options:
To submit a regrade request, please make a private Campuswire post.
Most of the projects and labs 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 one week of the grades being released. To do so, please submit a private post to Campuswire. 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.
There will be a midterm exam and a final exam:
The exams will not be at a specific time. Instead, there will be a window of 24 hours during which you can start your exam, but once your exam is started you will have 90 minutes to finish it.
In order to pass the class, you must get at least 55% on the final exam. Note that this is the case even if your other grades are good. For example, if you receive an "A" on the first midterm, have a assignment average of "A", but receive less, you cannot pass the class.
The reason behind this policy is that receiving below a 55% on the final indicates a significant misunderstanding in a core aspect of the course; since DSC 80 is a itself a core course in the data science major, passing with such a gap in understanding will likely affect your ability to understand and succeed in future courses.
We'll be using the following grading scheme:
Because of the pandemic, we must prepare for the unfortunate possibility that you will get sick and be unable to participate in this class for long periods of time. The university has a mechanism for helping in this situation: the Incomplete. If you are unable to complete the course because of reasons outside of your control, you may be given an Incomplete instead of a letter grade. This simply means that you will complete the rest of the work at a later time. Once you have done so, your overall grade is calculated and your Incomplete grade is replaced.
Unfortunately, your personal health is not the only thing that might prevent you from participating in this class. Some of us will get sick, others will have family members fall ill, and others might lose their jobs. If you have any doubt about your ability to perform satisfactorily in this course due to something outside of your control, please contact us ASAP and we'll figure something out.
It turns out that we instructors do not control the wait list, nor do we control the number of seats in the class. From experience, the course is increased in size only rarely, and typically not within a few weeks of the start date. We also don't feel comfortable guessing your chances of making it off of the waitlist (just because whatever our guess, it's likely to be wrong).
We understand that remote instruction removes the constraint of physical classroom size. The limiting factor therefore becomes the size of the course staff. Adding more people to the class would require hiring more course staff, and this is typically not feasible once the quarter is near.
Nope! If you have one, you're welcome to use it; it can be especially useful to share your work during office hours. But we won't require webcams. In particular, we are not using proctoring services like examity.
We've prepared for this possibility in a couple of ways. Namely:
The course is not usually curved at the end of the quarter. Instead, I try to design the assignments so that your final grade is predictable. In this quarter, the extra credit from doing discussion assignments serves the same purpose as a curve. When I assign letter grades, 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, I 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%.