Welcome to CSE 8A! We are so excited to have you in this course! In this class, our goal is to help you experience the thrill of getting a computer to solve a problem of your choosing – by expressing that solution in a programming language. In this course you will do interactive in-class exercises and programming assignments to help you master the basics of computational problem solving and programming.
To succeed in this class, you will need to make sure that you have your needs met! Before any sort of class material is talked about, it is increasingly difficult to succeed in this class (or any course!) without knowing where your next meal is coming from, without the appropriate accommodations, or if you’re feeling that you don’t belong in some way.
If you are experiencing any basic needs insecurities (food, housing, financial resources), there are resources available on campus to help, including The Hub and the Triton Food Pantry. Please visit https://basicneeds.ucsd.edu/ for more information.
UCSD provides in-person and virtual walk-in meetings with the CalFresh team! This is a fantastic resource to apply for food assistance. More information here: https://basicneeds.ucsd.edu/food-security/calfresh/index.html
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. Again, help with this application can be found at UCSD through in-person and virtual walk-in meetings!
Undocumented students in need of food assistance need not go through government channels, UCSD has the Yes! Food Program. More information here: https://basicneeds.ucsd.edu/food-security/yes-food/index.html
UCSD also provides loaner laptops to students for a whole quarter when needed! More information here: https://basicneeds.ucsd.edu/financial-security/laptop-lending-program.html
If you are a student with dependents (e.g., children), UCSD also has assistance for you! More information here: https://students.ucsd.edu/well-being/wellness-resources/student-parents/
We aim to create an environment in which all students can succeed in this course. If you have a disability, please contact the Office for Students with Disability (OSD), which is located in University Center 202 behind Center Hall, to discuss appropriate accommodations right away. We will work to provide you with the accommodations you need, but you must first provide a current Authorization For Accommodation (AFA) letter issued by the OSD. You are required to present their AFA letters to faculty (please make arrangements to contact your instructor privately) and to the OSD Liaison in the department in advance so that accommodations may be arranged.
We are committed to fostering a learning environment for this course that supports a diversity of thoughts, perspectives and experiences, and respects your identities (including race, ethnicity, heritage, gender, sex, class, sexuality, religion, ability, age, educational background, etc.). Our goal is to create a diverse and inclusive learning environment where all students feel comfortable and can thrive.
Our instructional staff will make a concerted effort to be welcoming and inclusive to the wide diversity of students in this course. If there is a way we can make you feel more included please let one of the course staff know, either in person, via email/discussion board, or even in a note under the door. Our learning about diverse perspectives and identities is an ongoing process, and we welcome your perspectives and input.
We also expect that you, as a student in this course, will honor and respect your classmates, abiding by the UCSD Principles of Community (https://ucsd.edu/about/principles.html). Please understand that others’ backgrounds, perspectives and experiences may be different from your own, and help us to build an environment where everyone is respected and feels comfortable.
If you experience any sort of harassment or discrimination, please contact your instructor as soon as possible. If you prefer to speak with someone outside of the course, please contact the Office of Prevention of Harassment and Discrimination: https://ophd.ucsd.edu/.
CSE 8A is designed for students with no prior programming experience. We do not expect you to have any prior programming experience, just a willingness to learn!
Students who successfully complete CSE 8A will be able to:
Create Python programs to solve computational tasks
Read and understand Python code
Apply computer science principles to culturally-relevant, real-world situations and contexts.
More specifically, you will
Debug and test their code to verify correctness
Use conditionals, loops, and data structures to create algorithms
Explain the purpose of a piece of code
Trace the value of different variables
Understand how programming affects various groups of people
CSE8A Summer Session 1 Course Schedule
Lecture attendance will be worth 10% of your grade
Programming Assignments will be worth 45% of your grade
Lab attendance will be worth 15% of your grade
Midterm exam will be worth 15% of your grade
Final exam will be worth 15% of your grade
Lectures will consist of active learning, where you will work alone and in groups to solve problems and answer problems. 10% of your grade will be from lecture participation, so attending lectures regularly and engaging with the activities will be key. Lecture participation will be recorded via Google Forms that you will fill out during lecture. You must submit these questions by the end of the lecture. If you are unable to attend a lecture, please make sure to watch the lecture recordings on your own. You will not be able to receive credit for lecture participation through watching lecture recordings, but you can miss up to 4 lectures without any penalty.
There will be a total of 6 Programming Assignments (PAs) that will be completed on Edstem. Typically, we will release a PA on Mon and/or Wed, which will be due at 11:59 PM PT about 3-5 days after it's released. Each PA will focus on the content covered in recent lectures. PAs are worth 45% of your final grade. One PA with the lowest score will be dropped.
There will be two exams in this course: a midterm and a final exam. Both the midterm and final exams will be held in-person.
The final exam will be cumulative and will cover all topics discussed in the course. If your final exam score (in percentage) is higher than your midterm score, then your midterm score will be replaced by the midpoint between your midterm and final exam score (if your midterm score is 50% and final exam score is 100%, your new midterm score will be 75%).
TAs will hold in-person labs. You are required to attend the lab you signed up for. The goal of these labs is to practice and apply material that we covered in lectures. There will be a lab assignment that should be completed by Friday night of each lab (since there are two labs per week, both will be due on Friday night). Your grade for labs will be based on 1) attendance and 2) completion of the lab activity (you will be graded only on completion—not the correctness—of your lab submission). Lab assignments are worth 15% of your course grade and the lab with the lowest score will be dropped.
TAs will hold an in-person discussion section, in which they will review course concepts to try to help students overcome the learning challenges they may have encountered throughout the week. TAs will help you get started on the current PA and may review previous PAs. Discussion sections are optional but you are highly encouraged to attend/watch discussions as they will be extremely helpful for your learning.
Each student gets five free “slip days” that allow an automatic 24-hour extension on any programming assignment (PA). You do not have to ask to use your slip days. Just submit your assignment after the deadline (but before 24 hours after the deadline) and it will be automatically deducted from your account. You can only use a maximum of 2 slip days for any PA. No PA can be submitted more than 2 days late.
Once you use up your slip days, you can still submit assignments late but for each late day you will be docked 20% of the grade for that PA. You cannot submit a PA more than 2 days late. For example, if you submit your PA anytime between 12:01am - 11:59pm on the day after the PA is due, your PA will be graded only for a maximum of 80% total points. And if you submit it anytime between 12:01am - 11:59pm on the second day after the PA is due, your PA will be graded for a maximum of 60% total points. After 2 days no late PA submissions will be accepted.
Each student gets two free slip days for the labs. You can only use a maximum of 1 slip day for any lab assignment. No lab assignment can be submitted more than 1 day late. If you submit a lab assignment late after using up your two free slip days, then your lab assignment will not be graded.
We have built in ways for you to submit work late and make up for lost points, but if you feel you have a legitimate reason why you need additional accommodations please talk to your instructor right away to see what might be arranged. There will be no exceptions to these policies unless for compelling personal reasons.
We encourage you to study together and discuss concepts from this class, but all PAs must be completed independently, but you may use course staff, CodeHelp, the course textbook, lecture slides, Edstem Discussion Board, and other official course materials. If you are found cheating, you will receive an automatic F in the course, and you may face even stricter sanctions from the University. In short, do not cheat!
The basic rule for CSE 8A is: Work hard. Start early. Make use of the expertise of our amazing CSE 8A staff to learn what you need to know to really do well in the course. Don't cheat.
In CSE 8A, you can read books, surf the web, talk to your friends and the CSE 8A staff to get help understanding the concepts you need to know to solve your PA problems. However, you must write your program on your own.
In CSE 8A, using or even looking at program code or the write up of algorithms that someone else has written (unless it was explicitly provided as part of the assignment), or providing program code or detailed algorithms to someone else, is considered cheating. Yes, we do electronically check every program that is turned in (including to see if it was generated using LLMs such as ChatGPT, Google Gemini, etc.). In recent quarters, we also found out that people unintentionally post their codes publicly and it is a violation of the AI policy! We report all these cases to the academic integrity office.
Receiving a grade on a PA doesn't mean that you have passed the plagiarism checking. We can report cheating cases any time during the quarter, even after we submit your final letter grade. So the safest bet is not to cheat!
To ensure you don't have a problem with this, here are some suggestions:
Don't share your assignment code with anyone else in the class.
Don't start with someone else's code and make changes to it.
In CSE 8A, you must write your own answers on the review quizzes and exams. Getting answers from someone else, or providing answers to someone else, is cheating.
We expect that all students will need help at some point in this course. If you find yourself needing help, this is not cause for embarrassment: it is completely expected, and our goal is to ensure that you are able to receive the help you need. Please be sure to seek help early and often through any (or all!) of the following resources:
Your Study Group: Building a support system of friends with whom you can struggle and work through the challenges you encounter is one of the best ways to seek help. You will quickly understand how much you can learn by working together!
Office Hours: The instructors and the Teaching Assistants (TAs) are always willing to help you during our office hours. All office hours can be found on the Course Calendar.
Tutor Hours: There are some remote and in-person tutor hours in which tutors can help you with any questions you might have. Tutor hours will be posted on the Course Calendar. You can get help by raising a ticket on the Autograder.
Edstem: Please use the Edstem discussion board for any questions related to the Programming Assignments (PAs), material in the course, or course logistics. Edstem allows you to post questions anonymously (to other students) if you don’t feel comfortable revealing your name. In general, all content related questions should be posted only on Edstem. Please do not email the instructors or course staff, as we are more likely to miss these emails! You should ask specific questions related to your PA code during tutor lab hours. You should NOT publicly post any PA related code on Edstem as it will be treated as an AI violation.
CodeHelp: You are being provided with a tool called CodeHelp that is powered by generative AI (e.g., ChatGPT, Google Gemini) that is specifically designed to support your learning and to avoid giving you direct code answers. You may CodeHelp freely throughout your programming assignments.
Email: If you have any questions about your grade, or would like to discuss anything confidential with your instructors, then please email your instructors directly.