Syllabus š
Table of contents
- About š§
- Communication š¬
- Technology š„
- Class Components š
- Office Hours
- Policies āļø
- COLLABORATION POLICY AND ACADEMIC INTEGRITY ā ļøā
- Support š«
About š§
In DSC 20 weāll focus on building your programming skills. Learning to program is notoriously difficult, but it is very rewarding. Personally, learning to program was essential for finding a meaningful, long-term career that I deeply enjoy. But there were many, many points of frustration along the way. And there still are!
Why learning to program is so valuable
It opens doors - In my career, programming has been the #1 skill that has opened doors for me. Today, I find that LLMs like ChatGPT amplify the value of your programming skills. Strong programmers at my company use LLM agents to do high-quality, high-velocity work. Trying to use LLMās to replace your programming skills, on the other hand, tends to end badly (speaking from personal experience :).
You probably need it to graduate - many other data science courses require programming knowledge as a prerequisite.
It will help you understand the world - so many things that shape your daily life depend on code working well (or not working well).
Iām happy to discuss this topic more, feel free to reach out!
Why this course will be especially challenging
- Weāll be moving very quickly: Weāre condensing a 10 week course into 5 weeks.
- This subject is inherently cumulative: understanding the earlier content is a pre-requisite to understanding the later content.
- Weāll be remote, which means it will take a little more effort to connect with the teachers or your fellow students.
My advice for dealing with these challenges
- Expect to spend a lot of time on this course ā I suggest treating it as a full-time job.
- Ask for help early and often, and donāt be afraid to look silly in front of others. Programming makes everyone feel silly. If youāre struggling with something, youāre probably not the only one, so youāre doing a public service by asking for help.
- Whatever you do to deal with stress (I love hiking and yoga) will be especially important during this course.
How we re-use content from past courses
Where itās safe to, we re-use some content from past courses by excellent UCSD teachers. Thatās why,after the first live lecture with me, all lectures will be pre-recorded by Brendan Tomoschuk, a data scientist at Reddit and past teacher of DSC20. Additionally, Iām re-using much of the great content on this website that was developed by Marina Langlois.
Rather than rebuilding this content from scratch, Iāve updated it for this summer session, and will be focusing my time on running the course, developing new exams, and being as accessible to you all as I can.
Communication š¬
This quarter, weāll be using Campuswire 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 Campuswire. 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 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!
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.
- Campuswire: 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 Campuswire.
- 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.
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 š
Skill Tests (55%)
These will be weekly live, proctored tests of your programming skills where you will be sharing your screen so we can see exactly what you will be doing. You will not be allowed to use any AI assistance during these tests. If you do use AI assistance, you will get an automatic 0 for the skill test.
Why we put so much emphasis on skill tests:
- These tests are the purest way to tell whether you understand the material.
- These tests are very similar to real job interviews for data scientists. Getting good at these tests will help you get a job in the future.
How we score skill tests:
- 60% ā your code gives the correct outputs
- 10% ā your code follows our style guide
- 30% ā you can demonstrate your understanding of your code to the proctor. If you wrote the code and understand it, this will be very easy.
How skill test redemption works
If you do poorly on one of the first three skill tests, youāll have an option to replace this poor score in the final skill test. In the final skill test, you can choose to be tested on material from any (or all) of the first four weeks. If you do so, weāll only count the higher score towards your final grade.
Example: Leif scores a 30% in the week 1 skill test. In the final exam, he chooses to be tested again on the week 1 material and scores a 70%. We count the 70% towards his final grade, and disregard the 30%.
Participation (15%)
We want to encourage you to ask for help and to help others. In each of the 5 weeks, you can earn your weekly participation points (3% of your total grade) with:
- 4 posts/comments in Campuswire asking for help or giving help, OR
- Confirmed attendance at office hours
Weāll use our own judgment to determine whether you were genuinely trying to get or give help (e.g., responding with an emoji does not count towards one of your four comments on Campuswire).
Weekly Labs (15%)
Weekly Homeworks (15%)
Though they only count for 30% of the grade, labs and homeworks will be critical to actually learning the material and doing well on the skill tests. So you should be spending most of your time in this area.
Office Hours
To get help on assignments and concepts, course staff will be hosting several office hours per week. See the Getting Help tab of the course website for the most up-to-date schedule and instructions.
Policies āļø
Regrade Requests
You can ask for a regrade on lab, homework (or resubmission), 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 ofreturnin 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 š«
Food Support for Students
If you are skipping and stretching meals, or having difficulties affording or accessing food, you may be eligible for CalFresh, Californiaās Supplemental Nutrition Assistance Program, that can provide up to $292 a month in free money on a debit card to buy food. Students can apply at benefitscal.com/r/ucsandiegocalfresh.
The Hub Basic Needs Center empowers all students by connecting them to resources for food, stable housing and financial literacy. Visit their site at basicneeds.ucsd.edu.
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 1 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.