Syllabus š
Table of contents
- About š§
- Communication š¬
- Technology š„
- Class Components š
- Office Hours
- Policies āļø
- COLLABORATION POLICY AND ACADEMIC INTEGRITY ā ļøā
- Support š«
About š§
Welcome to DSC 20! This class will be different compared to DSC 10, so letās work together in order to make sure that the transition is as smooth as possible.Ā Do not worry if something does not work right away or you feel lost! We are here to help and guide you through the process.
Communication š¬
This quarter, weāll be using Edstem as our course message board. You will be added at the beginning of the quarter. If youāre not able to access it, please self enroll using a given link, as weāll be making all course announcements through it.
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 Ed. We only ask that if your question includes some or all of your code, 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 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!
Technology š„
We will be using several websites this quarter. Hereās what theyāre all used for:
- Course Website: where all content will be posted.
- EdStem: discussion forum where all announcements will be sent, and where all student-staff and student-student communication will occur. You should be automatically added to EdStem. You can self signup to the course page through this link. Make sure to be signed into your @ucsd email.
- Canvas: where all of the reading quizzes and discussion quizzes will be posted.
- Gradescope: where all assignments are submitted and all grades live. You should be automatically added to Gradescope; let us know if thatās not the case.
- Webclicker: where attendance questions are answered in class
- Autograder: where all OH tickets will be created and solved.
- UCSD Podcast: where lectures and discussion sections are recorded. You may also go to Canvas > Media Gallery. You may search the course code.
If you will not have reliable access to a computer this quarter, please reach out to us ASAP, as the university may be able to accommodate you.
Class Components š
Readings (9%)
To prepare you for class sections, there will be readings and/or video watching assignments to be completed before each class. This reading is required and the reading quiz activity will be assigned before each class. Reading quizzes will be done online via Canvas. You will have 3 attempts and the best one will be retained.
Notes:
- Deadline is the Friday midnight of the week of the lecture. Ideally, submit before each lecture to be in sync with the lecture schedule.
- Refer to Schedule > Readings column for assigned reading.
- 3 lowest scores will be dropped.
Participation (2%)
You will demonstrate lecture participation by engaging with frequent in-class polls. The course will be using the poll software webclicker and as long as you respond to 50% of the questions during a lecture, you will earn the point for the day.
Notes:
- The first class does not count toward your participation.
- You have two weeks worth of classes that you can miss without penalty throughout the quarter (i.e. 6 lectures). Does not have to be consecutive.
Process:
- Before each class you need to join the session using any device with your UCSD email in order to register your vote.
- Participation scores will be posted periodically to Canvas. You must resolve all issues by the end of Week 1. Failure to ensure that you are getting your participation credit before then will result in a 0 for the days that you have not received credit.
- You must bring your phone or computer to every class. Forgetting it counts as missing a class.
- New: These points are split evenly between your midterm and final exam, helping to slightly boost your scores. For example, if you earn 1% in lecture attendance by the end of the quarter, 0.5% will be added to your midterm score and 0.5% to your final exam score.
Discussions (2%)
The purpose of discussion is to supplement course content and offer practice for taking physical exams.
Process:
- Along with regular content, you will be given a few problems emulating exam questions and a limited time.
- After the time is up, staff will go over the solutions.
- In order to record your participation, you will respond to questions on webclicker similarly to lecture participation, so please bring your phones.
Notes:
- 1 discussion will be dropped.
- New: These points are split evenly between your midterm and final exam, helping to slightly boost your scores. For example, if you earn 1% in lecture attendance by the end of the quarter, 0.5% will be added to your midterm score and 0.5% to your final exam score.
Labs (9%)
Weekly labs are a required part of the course and will help you develop fluency in Python. The labs are designed to help you build the skills you need to complete homework assignments and project(s). Labs will be due midnight Monday by default (exceptions will be clearly marked on the write-up).
- Each person must submit each lab independently.
- Total for all labs is capped at 100%. If your total score is above maximum possible of the lab category (at the end of the quarter), it will be capped to 100%.
- The lowest lab score will be dropped.
Deadlines and Late Submissions:
- Labs must be submitted by the midnight (11:59pm) deadline 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.
- Late lab submissions will NOT be accepted.
Lab Regrade Policy
- You may only regrade labs for errors that are NOT related to your code part. For example, a space is missing in your doctest that prevents the autograder from running.
- It will cost 1 point to request for such regrades.
- Please submit your regrade requests within 4 days of grade release.
- See Regrade Requests for other general information.
Homeworks (18%)
This class will have weekly homework assignments, which will usually be due to Gradescope on Mondays at 11:59pm (exceptions will be clearly marked on the write-up).
- Total for all homework is capped at 100%. If your total score is above maximum possible of the homework category (at the end of the quarter), it will be capped to 100%.
- No homework will be dropped.
- I have a right to interview a student if we find a suspicious assignment.
Deadlines and Late Submissions:
- Homework assignments must be submitted by the midnight 11:59 pm deadline listed on the write-up to be considered on time. You may turn them in as many times as you like before the deadline, but only the most recent submission will be graded, so itās a good habit to submit early and often.
- You have a total of 5 slip days for homeworks and a project. For each assignment, you may use at most 1 slip day to submit within 24 hours late without any penalty.
- Homework submissions after 24 hours late will NOT be accepted.
- After all slip days are used, you will receive a 0 on future late assignments.
Homework Resubmission/Regrade Policy:
- For each homework after the grades are released, you may resubmit the homework once to correct your mistakes within a week (7 days).
- You will get 80% of your score lost back for resubmission.
- If your original submission results in autograder failure (e.g. timed out, compile error, etc.), you may additionally ask for a regrade before the resubmission (all within 7 days of grade release).
- For the first 2 homeworks compile errors and print vs. return issues can be regraded for free.
- After the first 2 weeks compile errors cost 10 points; print vs. return issues cannot be regraded if the write-up explicitly says return or print (use the resubmission attempt).
- If there are issues that are out of your control, we may regrade your submission for free.
- Important: Please test your code locally before uploading and wait for the autograder message before you leave Gradescope.
- See Regrade Requests for other general information.
Details will be added soon
Project (10%)
Towards the end of the quarter (about Week 8) you will be assigned a project.
- This category is capped at 100%.
- You can work with 1 partner or individually on this assignment. Please submit only 1 copy of the project if you choose to have a partner.
- Slip day policy also applies to a project submission. Both partners should have a slip day for a succesful submission.
Project Regrade Policy
Regrade is possible in this case if the logic of your code is mostly correct, but a few corner cases are missing. The correction of missing corner cases should not involve in changing the logic of your original code. Then we will take 20% off from the points you got from regrade. For example, if your score was 40 and after fixing trivial mistake you got 90, we will take (90 - 40) * 20% = 10 pts off from your new score 90. The penalty here is for not testing the output of your code comprehensively.
- One method is wrong causing all other methods to fail autograder tests: If all your other methods are correct, but they are dependent on an incorrect method, which cause all of them fail autograder tests. After you tell us how to fix that particular method and rerun autograder, you will lose all the points for that particular method and 20% of the other methods that you get points back from.
- See Regrade Requests for other general information.
Skill Test (10%)
Rather than a 2 midterm + 1 final class model, we will be moving to a 1 midterm + 1 final class model. To go along with this, there will be skill tests administered on a regular basis throughout the quarter.
- Each skill test will be worth 2% of the category and test a specific topic, ensuring basic understanding.
- Each test will be accompanied with a set of instructions to carry out and will be time constrained.
Refer to EdStem for more detail.
Week | Topic |
---|---|
2 | Conditionals & Loops |
3 | Dictionaries |
4 | List Comprehension |
6 | Map, Filter, & Lambda |
7 | Args, Kwargs, HOFs, & Recursion |
Retaking Skill Tests
- Skill Test category is capped at 100%.
- If you are unsatisfied with your score, each student can retake 1 skill test at the end of the quarter (retake details TBA).
Exams (40%)
There will be two exams this quarter:
- Midterm (10%): during lecture, in person.
- Final (30%): December 7th, 3:00pm-6:00pm, in person. Location TBA.
- This category is also capped at 100%.
You must score at least 50% on the final exam to pass the course. If you score lower than 50% on the final, you will receive an F in the course, regardless of your overall average.
- Note: 50% must be scored before the boost is applied from lectures and discussions.
Exam Redemption Policy
The final will be split into 2 parts: midterm and new material. We offer midterm redemption opportunities only for those who have taken the midterm exam. You can replace your midterm score (not the final exam part) with the score you earn for the counterpart on the final exam (i.e. maximum between midterm score (%) and final-part1 (%). If you simply miss a midterm (without notifing me), you are NOT eligible for this redemption policy.
- You canāt skip any part of the final regardless of your midterms score. The entire exam needs to be taken.
See Resources for practice exams. All times and content are subject to change.
Office Hours
To get help on assignments and concepts, course staff will be hosting several office hours per week. Some of these will be held remotely and some will be held in person. See the Staff Hours tab of the course website for the most up-to-date schedule and instructions.
Policies āļø
Grading
Hereās how we will compute your grade.
Component | Weight | Notes |
---|---|---|
Readings | 9% | drop 3 lowest |
Participation | 2% | drop 6 lowest |
Homework | 18% | none dropped |
Lab | 9% | drop 1 lowest |
Discussion | 2% | drop 1 lowest |
Project | 10% | only assignment to work in pairs |
Skill demo | 10% | none dropped |
Midterm | 10% | see the Redemption Policy above |
Final Exam | 30% | must score >= 50% to pass |
Regrade Requests
You can ask for a regrade on lab, homework (or resubmission), final project, and the exams if you believe that the grader made a mistake. Remember that clarity is a part of your score ā if you had the right idea but were unable to clearly communicate it, you may still not deserve full credit. We ask that you please submit your regrade requests directly on Gradescope within 4 days of the assignment grade being released. After that, all grades are set in stone.
Sample Regrade Request
- Please be specific on what you wish to change: line number and detailed content
Hi, in my hw01, I have accidentally used
print()
instead ofreturn
in my Question 1. I believe it should count as a āPrint vs. Return Issuesā on the syllabus so that I would like to request a regrade and receive 25% off.
Please change my line 20āsprint(result)
toreturn result
.
Thanks!
A Note on Letter Grades
We will use a standard scale for assigning letter grades:
Final Grade Percentage | Final Letter Grade |
---|---|
[90% , 100%] | Some kind of A |
[80% , 90%) | Some kind of B |
[70% , 80%) | Some kind of C |
[60% , 70%) | D |
[0% , 60%) | F |
Plus and minus cutoffs will be determined at the instructorās discretion.
COLLABORATION POLICY AND ACADEMIC INTEGRITY ā ļøā
The basic rule for DSC 20 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 fail the course, no matter how small the affected assignment, and the Dean of your college will put you on probation or suspend or dismiss you from UCSD.
Why is academic integrity important? Academic integrity is an issue that should be important 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 important for the entire campus to band together and 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 Jacobs School of Engineering Code of Academic Integrity, 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.
AI Use Policy for This Course
In this course, you are permitted to use AI tools like chatbots (e.g., ChatGPT) and code generators (e.g., CoPilot) only for studying, reflection, and ideation. These tools should support your learning, but they should not generate content for assignments. If you choose to use AI, you must track your usage by citing the tool, dates of use, and any relevant prompts. Be prepared to share this process with me as part of your documentation.
This policy helps ensure the skills and strategies taught in this course are mastered without undue reliance on AI. Our focus is on your original work, which allows for meaningful feedback and personal growth. If you ever feel overwhelmed, please reach out to me or the teaching team. We understand the pressures of university life and are committed to working with you to find solutions, including extensions or assignment adjustments.
Fairness and responsible use of AI apply to everyone in this class, including me. I commit to adhering to these same principles when using AI tools in my teaching. Letās work together to create a supportive and successful learning environment!
What counts as cheating?
In DSC 20, you can read books, surf the web, talk to your friends and the DSC 20 staff to get help understanding the concepts you need to know to complete your assignments. However, all code must be written by you, together with your partner if you choose to have one (when allowed). Note that a partner is allowed only when we explicitly say that groupwork is allowed for a particular assignment. Most assignments in this course must be completed individually.
The following activities are considered cheating and ARE NOT ALLOWED in DSC 20 (This is not an exhaustive list):
Using or submitting code acquired from other students (except your partner, where allowed), the web, or any other resource not officially sanctioned by this course
Having any other student complete any part of your assignment on your behalf
Acquiring exam questions or answers prior to taking an exam
Completing an assignment on behalf of someone else
Providing code, exam questions, or solutions to any other student in the course
Using any external resource on closed-book exams
The following activities are examples of appropriate collaboration and ARE ALLOWED in DSC 20:
Discussing the general approach to solving homework problems or a final project (when given)
Talking about debugging strategies or debugging 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
How can I be sure that my actions are NOT considered cheating?
To ensure that you donāt encounter any problems, 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.
Note: in the discussion above, we are talking about other students that are not your pair programming partner. See the pair programming guidelines for information on working with a partner.
Remember, Academic Integrity is about doing your part to act with Honesty, Trust, Fairness, Respect, Responsibility and Courage.
Support š«
Accommodations
Students requesting accommodations for this course due to a disability or current functional limitation must provide a current Authorization for Accommodation (AFA) letter issued by the Office for Students with Disabilities (OSD). This AFA letter should be shared with the instructor and the Data Science OSD Liaison, who can be reached at dscstudent@ucsd.edu. Please contact us by the end of Week 3 to make sure we can arrange accommodations as needed.
Diversity and Inclusion
We are committed to creating an inclusive learning environment in which individual differences are respected and all students feel comfortable. 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 able to thrive.