Welcome to CSE 3! We are 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 block-based programming language (Snap!). In this course you will do interactive in-class exercises and homework assignments to help you master the basics of computational problem solving and programming.
CSE 3 is designed for students with no prior CS experience. We do not expect you to have any prior CS experience, just a willingness to learn.
Students who successfully complete CSE 3 will be able to:
Design and implement creative applications involving art, animation, music, stories, and games.
Computer science is a creative endeavor in which you can design, develop, and implement your own ideas. To obtain hands-on experience, you will be using a programming environment called Snap. Snap enables beginners to create sophisticated programs by simply dragging and dropping predefined instruction blocks. Thus, you will acquire experience decomposing problems into well-defined steps without the fear of frustrating "syntax" errors.
Write simple programs in Snap! using loops, conditionals, variables, functions, etc.
Describe how computers work.
Specifically, describe how computers execute instructions, store/manipulate data; represent numbers, text, images; search and sort data, etc.
Understand different areas of computing including Networks (e.g., Internet), Machine Learning, Cryptography, etc.
Describe how technological innovations have impacted and might impact society.
THERE IS NO REQUIRED TEXTBOOK FOR THIS COURSE!
We will be using the following freely available online resources
NOTE: You need NOT purchase any textbook for this course! Readings (if any) will be assigned from the above FREE ONLINE RESOURCES and other online sources.
Our course website can be found here: https://sites.google.com/eng.ucsd.edu/cse3-summer1-2022/home
The course webpage contains basic information, syllabus (that you are reading right now!), schedule (including office/lab hours), materials (notes, slides, etc) and staff contact information. You should check our course website often!
We will be using Canvas (www.canvas.ucsd.edu) for publishing your grades for this course. The grades you see on canvas is YOUR OFFICIAL GRADE, and it is your responsibility to CHECK THEM REGULARLY to make sure they are recorded correctly.
You will use gradescope (www.gradescope.com) for submitting your programming assignments. We will use gradescope for grading your HWs, labs, and exams. You will be added to our course on gradescope automatically sometime during week 1.
We will use Piazza as our course discussion board. Please ask all course content related questions via Piazza. Make your post public unless it contains personal information. This will help you get the fastest response possible to your post. You should NOT publicly post any HW related code on Piazza as it will be treated as an AI violation.
Sign up link: https://piazza.com/ucsd/summer2022/cse3_s122_a00
Piazza homepage: https://piazza.com/ucsd/summer2022/cse3_s122_a00/home
These are instructor-led class periods, but they will not be traditional lectures. During class, you will work alone and in groups to solve problems and answer questions. The lectures will be recorded through UCDS podcasting: https://podcast.ucsd.edu/. If you are unable to attend the lectures, please make sure to watch the lecture recordings on your own.
Our lecture schedule is as follows.
Lecture A00: Monday, Tuesday, Wednesday, Thursday @ 11:00 AM — 12:20 PM in PCYNH 122
Note: due to the holidays in Week 2, a make-up class will be held on the following Friday.
There will be a total of 8 Homework Assignments, about two for each week. Each HW will focus on the content covered in 2 of the lectures during the week the HW was released. Along with each HW, we require a short video recording of you explaining your HW and/or a short writeup in which you will be answering some conceptual questions about the HW. More details about what to include in each video/writeup will be shared in individual HWs. One HW with the lowest score will be dropped.
You must score at least 55% (average) on the homework assignments of this course. If you score lower than 55% on the assignments, you will receive an F for the course, regardless of your overall average.
We encourage you to work together with a partner using a Pair Programming approach. If you choose to work with a partner using pair programming, you will submit only ONE assignment between the two of you and both the partners will receive the same grade. You can have different partners for different homework assignments. You cannot change partners for the same homework assignment. For example, you may partner with one student for HW1 and a different student for HW2 but you should not work with one student for a part of HW1 and with a different student for the rest of HW1. Working with two different partners on the same HW will be considered as an academic integrity violation.
For details on what is Pair Programming and how it works, read this guide: Guide on Pair Programming. More details about Pair Programming will be shared during the first lecture.
A few homework assignments may have some additional challenges that you may implement to earn star points. Star points are not extra credit. If you do "enough" star points and are "close enough" to the boundary while calculating letter grades, you may be moved up to the higher letter grade, but do these star point extensions because you are intellectually curious and want a challenge. Not for the grade.
In addition to the Star Points that can be earned on the weekly assignments, we will also reward the top student answerers on Piazza with a Star Point. If you are among the top set of students who answer questions on Piazza, you will earn a Star Point. (We won't get specific about what "top" means, but every quarter there are a few students who rise well above the others in terms of their Piazza response activities).
There will be two in-person exams in this course: a midterm and a final exam. The exam dates/times are shown below:
Midterm Exam: Wednesday, July 13th 2022
Final Exam: Friday, July 29th 2022
The final exam will be cumulative and will cover all topics discussed in the course. You must pass the final exam to pass this course. You must score at least 55% on the final exam to pass the final exam.
If your final exam score (in percentage) is higher than your midterm score, then your midterm score will be replaced by your final exam score!
There will be a final project at the end of the term. More details will be posted at a later point in time.
Every week, our Teaching Assistant (TA) will hold two Discussion Sections in which they will review course concepts to try to help students overcome the learning breakdowns they may have encountered throughout the week. The TA will also review and offer help on how to get started on the HWs. Discussion sections are optional but you are highly encouraged to attend discussions as they will be extremely helpful for your learning.
The following is the schedule of the discussion section.
Discussion A01: Monday and Wednesday @ 10:00 AM — 10:50 AM in PCYNH 122
Note: due to the holidays in Week 2, a make-up class will be held on the following Friday.
Yes, there will be a discussion section on the first Monday (even though it's before the first lecture). Come meet your TA!
Every week, there will be two mandatory 2 hour lab sessions. There will be a lab assignment that will be due at the end of every lab session. Attendance will be checked. One Lab with the lowest score will be dropped.
The following is the schedule of the lab.
Lab A50: Tuesday and Thursday @ 12:30 PM — 2:30 PM in EBU3B B250 (CSE basement)
You must score at least 50% (average) on the lab assignments of this course. If you score lower than 50% on the assignments, you will receive an F for the course, regardless of your overall average.
Each student gets a free “slip day” that allow an automatic 24-hour extension on any homework assignment (HW). You do not have to ask to use your slip day. Just submit your assignment after the deadline (but before 24 hours after the deadline) to automatically use your slip day.
See the important Grading Policies below on earning credit for a homework assignment if you are unable to turn it in by the late due date.
Lab assignments cannot be turned in late.
We have already 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 very compelling personal reasons.
Homework Assignments (HWs): 45% (8 HWs, 1 lowest dropped)
Lab Assignments: 10% (10 labs, 1 lowest dropped)
Midterm Exam: 10%
Final Exam: 15%
Final Project: 20%
We will not round grades up. We may adjust the above scale to be more lenient (depending on a number of factors that we will not publicize), but we guarantee that we will not adjust the scale to make it harder to get a better grade. We will not adjust the scale for individual students.
You have 2 days from the time a HW is returned to request a regrade. After that, the grade is set in stone. To request a regrade, please contact the person who graded the assignment/quiz/exam originally. You should submit your regrade request through gradescope.com. Submit the regrade request on the corresponding problem and clearly explain why you think there is a grading error. If you submitted a regrade request without a clear justification and was simply abusing the regrade system, your grade will be lowered as a penalty.
If you scored less than 100% on any HW, or you missed a HW assignment, you may make up for the lost points and get up to 100% by completing your homework assignment and getting it graded by visiting any of the course staff (TA, tutor, or instructor) during 1-1 help hours (i.e., office/tutor hours). See our Course Calendar for office/tutor hours.
Any make-up work must be completed before the last office/tutor hours before the final exam.
You will not receive any course credit until you submit the form. By submitting the form, you are agreeing to its terms, so be sure to read it carefully. We encourage you to study together and discuss concepts from this class, but all PAs must be written only by collaborating with your partner or completely independently. You should not collaborate with anyone on your reading quizzes and exams. 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 3 is: Work hard. Start early. Make use of the expertise of our amazing CSE 3 staff to learn what you need to know to really do well in the course. Don't cheat.
If you do cheat, we will enforce the UCSD Policy on Integrity of Scholarship. This means: You will get an F in the course, and the Dean of your college will put you on probation or suspend you or dismiss you from UCSD.
In CSE 3, you can read books, surf the web, talk to your friends and the CSE 3 staff to get help understanding the concepts you need to know to solve your HW problems. However, you must write your programs only with your partner if you are pair programming or on your own if you are working alone.
In CSE 3, 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, or turning in code that you have written with someone else other than your partner, is considered cheating. Yes, we do electronically check every program that is turned in. In recent quarters, we also found out that people unintentionally post their codes on public github repos and it is a violation of the AI policy! We report all these cases to the academic integrity office.
Receiving a grade on a HW 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 code with anyone else in the class except your partner if you are pair programming.
Don't start with someone else's code and make changes to it.
Don't discuss anything code related with any other students in the class (except your pair programming partner).
In CSE 3, you must write your own answers on exams. Getting exam answers from someone else, or providing answers to someone else, is cheating. Failing to follow this policy will result in an F for this course.
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 (online!) 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. Ideally, office hours should be reserved for conceptual questions: coding-specific questions are best asked of the tutors during lab hours. All office hours can be found on the Course Calendar.
Lab Hours: There are many, many remote lab hours in which tutors are willing and available to help you with any questions you might have. Lab hours will be posted on the Course Calendar. You can get help by raising a ticket on the Autograder. Please read Tutoring Procedures For Students to understand how to get help.
Piazza: Please use the Piazza discussion board for any questions related to the Homework Assignments (HWs), material in the course, or course logistics. Piazza 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 Piazza. You should ask specific questions related to your HW code during tutor lab hours. You should NOT publicly post any HW related code on Piazza as it will be treated as an AI violation.
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.
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 than 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/.
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.
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 http://thehub.ucsd.edu/ for more information.
Most topics taught in this course are inspired from Prof. Andrea Arpaci-Dusseau's CS 202 course at University of Wisconsin-Madison.