Syllabus, CMPSC 156, Fall 2022

Basic Facts

Course website:

About the Course

The way I’m planning to teach the course is a bit different from what you may have experienced before–I’m trying to create a learning environment that mirrors how real world software is developed more than is the case is traditionally structured courses.

So, the emphasis will be on:

Note that “sharing code” doesn’t mean “stealing code”. We still don’t take credit for other people’s work—academic honesty still applies. It just ‘looks different’ in this course.

Final Course Grades

Your grade will be made up of activities from the following categories:

We will compute an overall average for your score in the course, based on the weights above, plus extra credit.


A+ grades: These may be awarded to the very best performing students in the class—but the cutoff for A+ grades will be determined at the end of the course at the discretion of the instructor (there is no pre-determined cutoff). Students earning an A+ grade must be in the top 10% of each of the five components of the grade in the class. The instructor may decide, at their discretion, to not award any A+ grades.

Missing homework/in-class activities: Drop the lowest n grades

If you miss a participation assignment, you miss the opportunity for the points on that participation assignment, or homework that was due.

Rather than providing a makeup opportunity, I will drop:

This should be sufficient to allow for occaisional personal situations that may prevent your participation; if there is some special circumstance beyond your control where greater consideration may be needed, please contact the instructor; they will consider these on a case-by-case basis.

Each homework and in-class-activity will be of equal value (100 pts).

Project Points

Project points will be earned by contributing to one of several open source legacy code projects. You’ll be assigned to a project team, and the project team will be assigned to a set of bug fixes and feature requests. This mirrors real world software development practice.

To earn a “perfect score” (100%) for this component of your grade, you need to earn 100 project points. If you only earn 80, then an 80% will be recorded for that portion of your grade.

Some assignments in the project category are worth more points, and some worth fewer.

If you accumulate more than 100 project points, up to 10 project points may be used to raise your final average in the class. (The points will be recorded as extra credit).

You may not earn more than 110 total project points–any points in excess of 110 will not count towards your grade (though you’ll probably learn a lot from having under taken the work to earn them.)

Late Programming Assignments

The policy is simple, and is based on the idea that the primary purpose of the deadlines is to allow the TA manage his/her workload. The number of labs in this course requires that he/she not have to do “context switching” between grading different labs. All labs must be graded in one sitting, or he/she just won’t be able to keep up with the workload.


Questions about grades

Summary: regrade requests must be made only on GradeScope, and always within one week.

From time to time, the people who grade your papers may make clerical errors in grading (e.g. adding up points wrong or applying a rubric incorrectly.) For this reason, you are encouraged to review your grades as they are posted to Gradescope and Gauchospace. You will typically get an email as soon as each grade is posted. From the time the grade is posted, you will have one calendar week to post regrade requests. These must be made ONLY through Gradescope, ON the correct problem. (Don’t request a regrade for question 4 on the page for question 7.)

Please note that regrade requests based on clerical errors or applying a rubric incorrectly are always welcome. Over the course of the quarter, we’ll grade over 10,000 individual problems, so it is unlikely that we won’t make at least some mistakes.

More problematic are challenges to the rubric itself, e.g. “I don’t think you should have taken off so many points for that error” or “I think I deserve more partial credit for that incorrect answer”. The instructor and TA will always listen, but please know that we’ve put a great deal of thought, time and experience into determining the rubric, and we’ve done our best to apply it to all students equitably. You may have a different point of view, we will not always agree with your assessment—in fact, we seldom will. As such, regrade requests on this basis are not encouraged. It is important to approach such conversations in a respectful manner, accepting that the instructor, TA and grader have been given responsibility for determining course standards, and applying those in a fair way to all students.

Accommodations for disabilities

Students with disabilities may request academic accommodations for exams online through the UCSB Disabled Students Program at 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, 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 .

Responsible scholarship

Honesty and integrity in all academic work is 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: Students are responsible for educating themselves on the policies and to abide 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

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.

(end of syllabus)