CMPSC 9 Syllabus (Spring 2025)
Basic Facts
- Course Web Site: https://ucsb-cs9.github.io/s25/
- Instructor: Prof Kate (Dr. Yekaterina Kharitonova)
- Lecture: Tu Th 3:30pm - 4:45pm (BUCHN 1910)
- TAs: (contact via EdStem)
- Mentors: (contact via EdStem)
- Lab (50 minute lab sections): Wednesdays in SSMS 1301 - check GOLD to see your assigned section time and location (if you cannot make it to your assigned section time, you are allowed to attend another section)
- Office Hours: See https://ucsb-cs9.github.io/s25/info/office_hours/
Required Resources
- Textbooks:
- “Problem Solving with Algorithms and Data Structures Using Python” - Bradley N. Miller & David L. Ranum, 2nd edition
- Unofficial version of the Textbook: https://runestone.academy/runestone/books/published/pythonds/index.html
Official UCSB Catalog Description
CMPSC 9: Intermediate Python Prerequisite: CMPSC 8 or ENGR 3 with a grade of C or better. Intermediate topics in Computer Science using the Python programming language. Topics include object-oriented programming, runtime analysis, data structures, and software testing methodologies.
What this course is about
CS 9 serves as a continuation of material covered in CS 8: Introduction to Computer Science using the Python programming language. The target of this class is for non-CS majors who will learn additional fundamental CS topics such as object-oriented programming, algorithm runtime analysis, fundamental data structures, and testing methodologies. By the end of this course, students should be able to explain tradeoffs between various algorithms / data structures, their performance, and their implementation.
Make sure that you read this page carefully and are aware of the course policies for this term. Do not automatically assume that the course is the same as the one that you or your friends might have taken before.
A few course policies in brief
- If you are registered for another UCSB course that overlaps with this one, you are responsible for any work or material you may miss. If you have a course conflict, you must have specific written permission from both instructors to stay enrolled in both courses. You will not get credit on any work you miss as a result, and we WILL NOT make accommodations.
- Collaboration is only permitted when specifically allowed for — otherwise, you must do your own work independently (lab assignments must be done independently this quarter).
- Academic integrity policies will be outlined in the Academic Integrity Contract that you’ll need to submit as one of your first assignments. Please refer to it throughout the quarter and do not hesitate to ask us questions if you have any questions regarding whether something is allowed.
- Attendance and active class participation are highly encouraged. While they are not part of the course grade, we might use your scores from the lab attendance and/or in-class activities to round up your grade if at the end of the quarter your score is on the border.
- I recognize that some absences (e.g., minor illnesses, mishaps, etc.) are unavoidable. Litigating whether each of these is “excused” or not isn’t a good use of anyone’s time, so instead we will drop the lowest two grades from everyone’s homework. No lab assignments will be dropped. This way, absences (or failure to submit homework) does not unduly penalize your grade unless it becomes excessive.
- We will use the Gradescope system this quarter for lab submissions and homework assignments. The midterm and final exams will be conducted in-person.
- All regrade requests must be made on Gradescope and will close one week after the assignment grades are distributed back to students (unless specified otherwise in the Gradescope email).
Course Philosophy
This class is similar to a language class or learning to play a musical instrument: you have to continuously and consistently practice, repeating the fundamentals until you can assemble them together into more complex constructs. Just like watching someone swim or ride a bicycle does not automatically make you learn this skill, so is watching the concepts explained during the class will not make you immediately learn them.
Learning the details of programming requires A LOT OF PRACTICE, like learning any new skill. Making mistakes is an essential part of learning as long as you learn from them! Questions like “I wonder what will happen if I do this…” or “How will Python behave in this case…” is a great way to investigate and observe the functionality and limitations of a programming language (there are many programming languages available to software developers and each have their specific pros and cons that may or may not be the best choice for the problems you are trying to solve).
One of the best way to practice is to rapid prototype constantly. Writing simple snippets of code to test and confirm your understanding allows you to 1) practice typing out code, which makes you more comfortable with the language and 2) solidify your understanding of the specific behavior of the programming language functionality.
We highly encourage all students to start all assignments and reading as early as possible, and invite all students to seek assistance during our lab sections / office hours. Waiting until the last-minute to ask questions or provide clarifications may result in not receiving a response in time - please give us ample time to help you appropriately.
Course Communication
All course communication will be done through the discussion forum hosted on EdStem (reminders / announcements / etc).
In general, EdStem is not a substitute for lab sections / office hours, and we generally will not consistently check EdStem on weekends - the best feedback is given in lab sections / office hours.
But when you have a question and would like to post it on EdStem:
- Search through existing EdStem questions to make sure your question hasn’t been answered before. Please, don’t clutter the forum with duplicate questions - use the follow-up discussion if your question is related to something that’s been asked.
- Use the filters (lab, lecture, logistics) to navigate between questions easily.
- Please DO NOT post your code (even if incorrect) in your public questions at any time, including past the deadlines. Snippets of code are generally fine, but should be framed in a generic way, not specific to the lab or your unique solution.
- If you believe that other students will benefit from the answer, make the question public. Else, make it private. Note: You are able to post anonymously to your classmates, so the majority of posts should be public, in case someone else has the same question.
- We do our best to get your questions answered in a timely manner. However, if you find a question that you can help with, please feel free to answer it! We encourage students’ participation in answering questions.
Please refrain from emailing me or the course staff directly. Using the forum allows the class and the staff team to be on the same page; when you are posting privately on the forum, the instructor as well as the TAs are all able to see your post.
We will always use only the official course platforms to reach out to you: posts on EdStem, Canvas, Gradescope, and UCSB email. If anyone contacts you through an unofficial channel claiming to be a mentor/instructor, offering to help you or to debug your code, please, do not share your work and immediately send a message via the forum to the Instructors.
Course Grades
Letter grades will be determined by the end of the course after all labs, homeworks, and exams have been computed. The grade will include the + and - scale (90% = A-, 89% = B+, etc.). However, we will adjust the letter grades accordingly based on the class’ overall performance at the end of the course. If you are concerned about your grade in the class, I encourage you to discuss the matter with me during my office hours. Please come talk to me sooner rather than later, so there can be some time where we can help you succeed in the course.
Your course grade will be determined as follows:
Grade Item | Percentage of Final Grade |
---|---|
Academic Integrity Contract | 1 % |
Homeworks | 9 % |
Labs | 20 % |
Midterm (Week 5, Thu 05/01) 3:30pm - 4:45pm | 35 % |
Final (Mon 06/09), 7:30pm - 9:00pm | 35 % |
Feel free to double-check that the final exam date and time are correct: https://registrar.sa.ucsb.edu/calendars/calendars-deadlines/final-examinations/winter-final-examination-schedule
Attendance and active participation are not mandatory and are not part of the official course grade breakdown; however, we might use your scores from the lab attendance and/or in-class activities (e.g., iClicker participation) to round up your grade if at the end of the quarter your score is on the border.
In general, homeworks will be assigned periodically throughout the quarter and should be completed on Gradescope by the due date.
There will be labs assigned throughout the quarter. These labs are autograded and your score is based on Gradescope’s recorded score. Lab sections and office hours are available to ask questions and seek assistance. Please be sure to check the due dates for all assignments on the course page and calendar.
- Two of the lowest homework scores will be dropped. Late homework submissions will not be accepted. However, even if you know you will not be able to submit your homework on time, I highly encourage you to complete it anyway since the homeworks will help prepare you for the exams.
- No lab assignment grades will be dropped.
- All labs must be submitted by the due date. There will be a 24-hour late window open on Gradescope for each lab. Submissions during the late window period will have a 20% deduction from your grade. We will only consider your most recent submission.
- I highly encourage students not to wait until the last minute to complete lab assignments. We generally will not be available to assist over the weekend, and there is a risk of encountering technical difficulties (internet outages, for example) that prevent an on-time submission. Please plan accordingly.
- The midterm and final exams are each worth 35% of your grade.
- Your midterm grade will be replaced with the average of your midterm and final scores if the average of the exams is greater than your midterm score.
Note that A+ is given at the discretion of the instructor for outstanding performance and participation that go beyond the regular class expectations.
There is no grade threshold for the A+. Instead, it is based on my direct knowledge of your outstanding performance and my ability to cite examples that illustrate how you went beyond the regular class expectations. Such knowledge can be gained by having several conversations during the office hours, any outstanding extra credit work, student’s independent projects that use course material, and/or helpful and informed participation in class or on the forum, just to name a few examples.
Note about P/NP
This class has to be taken for a letter grade. The College of Engineering does not let students switch this course to Pass/No Pass (P/NP) regardless of the student’s major.
Late work
We will consider late submissions/accommodations only for athletic and university-approved accommodations, medical emergencies where formal documentation can be provided. An official documentation has to show: 1) your name, 2) the reason/issue description, and 3) date.
This policy does not cover overwhelming workload from other courses, scheduling conflicts, technical difficulties, or vacation plans. The course policy of dropping two lowest homeworks, and lab assignments’ 24-hour late window is in place to accommodate any unfortunate situation where no form of documentation can be provided.
Any accommodation requests based on religious affiliation or an athletic event are required to be submitted before the end of Week 2. We will not accommodate any last-minute requests.
Use the following request for an extension form to submit your documented accommodation and attach the documentation (e.g., for varsity sports-related absences submit a signed letter from the coach with the tournament dates with your name on it). You will need to submit this form separately for each week in which you will need the accommodation.
Accommodations for disabilities
Students with disabilities may request academic accommodations for exams online through the UCSB Disabled Students Program at http://dsp.sa.ucsb.edu/. Please make your requests for exam accommodations through the online system as early in the quarter as possible to ensure proper arrangement.
Managing stress
Personal concerns such as stress, anxiety, relationships, depression, and cultural differences, can interfere with the ability of students to succeed and thrive. For helpful resources, please contact UCSB Counseling & Psychological Services (CAPS) at 805-893-4411 or visit http://counseling.sa.ucsb.edu/.
Responsible scholarship
Honesty and integrity in all academic work are essential for a valuable educational experience. The Office of Judicial Affairs has policies, tips, and resources for proper citation use, recognizing actions considered to be cheating or other forms of academic theft, and students’ responsibilities, available on their website at: https://studentconduct.sa.ucsb.edu/academic-integrity. Students are responsible for educating themselves on the policies and abiding by them.
Furthermore, for general academic support, students are encouraged to visit Campus Learning Assistance Services (CLAS) early and often. CLAS offers instructional groups, drop-in tutoring, writing and ESL services, skills workshops, and one-on-one consultations. CLAS is located on the third floor of the Student Resource Building, or visit http://clas.sa.ucsb.edu.
Student Organizations and Resources
-
Check out the Student Computer Science & Engineering Organizations at UCSB (scroll down to see the list with the links).
- The UCSB Resource Center for Sexual & Gender Diversity maintains a list of LGBTQ Student Organizations at UCSB.
Learn about pronouns and how to change your name and pronouns at UCSB.
- Educational Opportunity Program (EOP) serves all students while focusing on low-income and first-generation undergraduates.
- ONDAS Student Center at UCSB promotes the success and retention of first-generation college students with an emphasis on the first-year transition and underrepresented student experience.
-
UCSB has a variety of resources for students facing food insecurity.
- Check out a list of Latinx Resources at UCSB and information about clubs and programs at UCSB available to black students.
More information about student clubs and organizations can be found via Shoreline.
If you have a resource that you would like us to link here, send us a message on EdStem titled “Resource for the Syllabus” with the information.
Standard Disclaimer
This syllabus is as accurate as possible but is subject to change at the instructor’s discretion, within the bounds of UC policy.
Last Updated:
- Apr 11 - clarified attendance examples to include iClicker
- Apr 1 - corrected the midterm and the final exam dates
- Mar 27 - initial live version of the syllabus