UCSD CSE 11 Fall 2021
Accelerated Intro to Programming
Greg Miranda & Joe Gibbs Politz
In this course, you will learn to write, trace, and test programs; explore the interactions between programs and data; and practice organizing programs for clarity and re-use.
We will explore these topics interactively in lecure, you will implement programs to practice your programming skills, and you will reflect on this learning through your own program designs.
This web page serves as the main source of announcements and resources for the course, as well as the syllabus.
On an average week in CSE11, you can expect to spend 4-6 hours on videos, reading, lecture, and discussion; 2-3 hours on programming practice; and 4-6 hours working on your programming projects. If you find yourself spending dramatically more time than this, it’s a good idea to contact the course staff and discuss more efficient strategies in office hours.
Course Components
There are a few components to your grade in the course:
- Problem session attendance
- Completing book exercises and surveys
- Programming assignments
- Programming exams
Your final letter grade will be calculated as follows:
- To get an A or above, you must:
- Participate in at least 20 problem sessions
- Complete all book exercises/quizzes and course engagement activities
- Get a score of 2 on all but 1 programming assignment, and no 0’s on programming assignments
- Get a score of 2 on an assessment (exam) corresponding to each third of the course
- To get a B or above, you must:
- Participate in at least 17 problem sessions
- Complete more than half of the book exercises/quizzes and course engagement activities
- Get a score of 2 on all but 2 programming assignments, and no 0’s on programming assignments
- Get a score of 2 on an assessment corresponding to two of the three thirds of the course
- To get a C- or above (a P on the P/NP scale), you must:
- Participate in at least 14 problem sessions
- Complete more than half book exercises/quizzes and course engagement activities
- Get a score of 2 on at least half of the programming assignments
- Get a score of 2 on an assessment corresponding to two of the three thirds of the course
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. Pluses and minuses will be given at the instructors’ discretion around the boundaries of these categorizations.
Problem Sessions – Lecture and Discussion Sections
Most course content will be presented asynchronously through videos and readings, with associated interactive activities. Lectures will involve problem solving with your classmates. Participation is required at problem-solving sections; we will check in with you with in-class forms or staff joining your discussions to ensure everyone is present and contributing.
In-person sessions will be led during the normally-scheduled lecture times in the normally-scheduled rooms, led by the instructors. These sessions will be recorded but will not be available remotely while they are ongoing. Since these may be mostly student discussion, these are mostly an archive of any live demos that come up rather than a presentation of core content.
Remote sessions include all of the normally scheduled discussion sections for the course, which are on the same days as in-person lectures, and at a variety of times. They will not be recorded.
Book Exercises/Quizzes and Course Engagement
Along with each lecture will come some required pre-lecture work. Most often this will be reading and activities from our Stepik textbook, and will also sometimes include surveys or check-in quizzes so we can get your feedback about the course and check on your understanding.
The online texbook records your progress, and we give a schedule of expected times to finish the readings. There is no penalty for completing these late, but they are assigned so that you will be prepared to participate in problem solving session and so that you know the expected pace of the course.
Programming
Most weeks there will be a programming assignment. Direct practice with programming will make up the majority of your work in the course.
On each assignment, you can earn one of the following scores:
- 2 (Complete) – the assignment is totally complete with no significant flaws
- 1 (In Progress) – we have identified at least one significant issue with your assignment that needs to be fixed
- 0 (Incomplete) – the assignment is not submitted or not complete enough to give feedback
There are numerous opportunities to get feedback on your work and improve:
- Before the deadline for each assignment, you can come to a feedback meeting with a staff member to have your work graded and get feedback on what, if anything, you need to fix.
- Right after the deadline for each assignment we will grade your work, if it wasn’t already checked off as complete in the feedback meeting or you made improvements.
- After you receive your grade you can have one more meeting with a staff member to improve your grade by showing your improvements based on feedback.
The After the deadline process applies if your submission is late. You can come to a one-time meeting with a staff member to have your work graded.
Exams
In place of on-paper exams, we will follow a different procedure for “exams” this quarter.
Three times during the quarter and once at the time of the final exam, we will give you a programming assignment that you must complete in a short (24-48 hours) time frame without any help from other people, including the course staff. The final exam is cumulative, with three sections that each correspond to the material from one of the in-quarter exams. Your score on the assessment for a “third” of the course is the maximum of your score on that in-quarter exam and that part on the final. The scores on assessments are 0, 1, and 2, with the same meanings as for programming assignments.
For example:
- On the three in-quarter exams you score 1, 0, and 2 (you miss the second). On the final exam you score 2, 1, and 0 on the three parts. Your assessment scores are 2, 1, 2, sufficient for a B, but not an A.
- On the three in-quarter exams you score 2, 2, and 2. You skip the final so your scores are 0, 0, 0. Your assessment scores are 2, 2, 2, sufficient for an A.
- On the three in-quarter exams you score 1, 1, and 1. On the final you score 2, 2, 2. Your assessment scores are 2, 2, 2, sufficient for an A.
This grading policy also forms the missed exam policy – if you miss an in-quarter exam, you can make up that credit on the final. If you miss the final, your in-quarter exam scores will be used. Late work on exams or make-up exams will not be offered.
You can use any resources, notes, readings, and past code from the course to help in addition to Web-based resources. Along with submitting the program, you will record a short video of yourself presenting the program you wrote, demonstrating its behavior and your understanding. We’ll give some opportunities for practice with this process, and much more detailed instructions with the exam release.
We do not expect that the programming work and recording will take a full day of constant work. The tasks will be significantly shorter than the PAs, so this should only take a few hours. We give the broad range to give you the best chance to schedule some quiet, focused time to do the work and record the presentation.
It’s worth explaining why we are using this mechanism. There are at least two reasons:
- Presenting your code, and demonstrating it via screenshare, is a really important skill and shows us a lot of your learning. Getting practice with this style of presentation is a good thing for you to learn in general and a rich way for us to assess your skills.
- The main thing that in-person, on-paper exams let us do is easily verify that it is in fact you, the student, completing a major assessment. We can similarly do so with a video.
Policies
Academic Integrity
Individual assignments will describe their academic integrity requirements. You should pay attention to the descriptions of what collaboration is allowed and expected on each assignment.
One challenge we face as an instructional team is verifying that students are submitting their own work given the number of remote and asynchronous options we provide. In the past, we relied on in-person, ID-checked exams to mitigate this particular challenge to academic integrity. Assignments and exams will come with specific policies for what types of collaboration is allowed, but we have one course-wide policy – we may reach out to students to schedule a check-in on their understanding of work they’ve submitted if we’re suspicious about an academic integrity violation. This would involve a videoconference with a TA or instructor to check that the student has the understanding demonstrated by their work. This is in addition to any video screencasts that are submitted as a part of the exam.
We don’t expect to use this option much (certainly you are a student that acts with integrity!), but we state it clearly in the syllabus in case it becomes necessary so it isn’t a surprise to anyone.
You should be familiar with the UCSD guidelines on academic integrity as well.
Regrades
Mistakes sometimes occur in grading. Once grades are posted for an assignment, we will allow a short period for you to request a fix (announced along with grade release). If you don’t make a request in the given period, the grade you were initially given is final.
Diversity and Inclusion
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 the 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/.
Consent to Participate in Educational Research
You can download a copy of the form below here if you need a copy to fill out.