WELCOME TO Beginning Programming in Python


Can't See Something Here You Were Expecting (Like Forum Access)? Make Sure You Login To The Site Using Your BLUE UCSC Credentials At The Bottom Of The Page!


Lots Of Important Links Off To The Left!

Your Teaching Staff:

Instructor: Tracy Larrabee    Instructor Tracy

Office: the web

Office hour:  M 1:00pm Click here to join Zoom Meeting:970 0831 8363

(and via email and by appointment)


TA Andrea

Teaching Assistants:

Andrea David  (andavid@ucsc.edu)

Tuesday 12:00 pm held remotely on Zoom.

Meg Clinton (meclinto@ucsc.edu)TA Margaret Clinton

Monday 8:00-9:05 am: Meg's section at E2-192 (In-person starting January 31st).

Wednesday 4:00-5:05 pm: held remotely on Zoom.

Xuehai He (xhe89@ucsc.edu)

        Wednesday 8:00-9:05am: Xuehai's section remotely on Zoom.

        Thursday 8:30-9:35 am: Xuehai's section at E2-477 (In-person starting January 31st)

TA Xuahei He

Daniel Alves (dalves@ucsc.edu)

Thursdays 7:10-8:15 pm: Daniel's section at E2-192 (In-person starting January 31st)

TA Daniel Alves

Yash Chhabria (ychhabri@ucsc.edu)

Tuesday 8:30-9:35 am: Yash's section at E2-192 (In-person starting January 31st)

We have Supplemental Instruction Support for this class:

SI Tutors: 

All SI sections are remote all quarter.

Saqeef Muktadir (ssmuktad@ucsc.edu)

Session Times:

Mon 1:25 - 2:25pm

Wed 4:05 - 5:05pm

Wed 7:10 - 8:10pm

Fri 2:45 - 3:45pm


Izaiah Lozano (iilozano@ucsc.edu)

Session Times:

Mon 5:20 - 6:20pm

Wed 2:45 - 3:45pm

Thu 11:40 - 12:40pm

Fri 10:40 - 11:40am


Gary Mejia (gmejiama@ucsc.edu)

Session Times:

Sun 10:30 - 11:30am

Tues 11:40 - 12:40pm

Tues 7:10 - 8:10pm

Fri 9:20 - 10:20am


Sign up for SI tutoring sessions

Many of the tutors will be available in Discord where you can schedule some help.  In addition, some tutors have set times they are available and zoom links you can use to connect with them:

Anurag Kache (Anurag had to stop tutoring, so his hours are suspended.  Other tutors can still help you. We thank Anurag for his help so far.)  

Ajay Bhatia (ajbhatia@ucsc.edu; Discord name: ChicN)

Monday from 11 to 1 Zoom Link
Wednesday from 11 to 1 Zoom Link
Thursday from 12 to 1 Zoom Link
Ernani Raffo (eraffo@ucsc.edu; discord name: ernani raffo )
Mondays 10:00 - 12:00 noon : Tutoring session on Zoom
 Fridays   10:00 - 12:00 noon : Tutoring session on Zoom
Friday 4:00-5:00pm: Tutoring session on Zoom

Teresa Joseph (tkjoseph@ucsc.edu; Discord name: ree

Thursday 9:30-11:30

Friday 9:30-11:30

For both: https://ucsc.zoom.us/j/93110493288?pwd=Y21xS2h0c3F2TEw5dDVSMWhqc0huQT09
Meeting ID: 931 1049 3288
Passcode: 368782

Victoria Duan (jduan10@ucsc.edu; discord name: Victoria)
 Monday/Wednesday 2pm to 4pm 
Tuesday/Thursday 6pm to 7pm
Friday, 2 to 3 pm
For all: Zoom link
Chinmai Srinivas (cssriniv@ucsc.edu; Discord name: Cham)
11:45-12:45 Wednesdays
1:45-3:45 Wednesdays
7:30-8:30 Thursdays
For all: Zoom link; password: helpme

There is a shared discord for all four CSE20 classes: https://discord.gg/bDtyhkPPCG


Class Locations And Dates

Class locationZoom for the entire quarterThe main lecture will NOT return to in-person this quarter.

Class time: T Th 1:30

FINAL EXAM: Thursday, March 17, 12:00-3:00 pm (two hours, not three)

The final exam will be held remotely, not in person.


Ta Sections

Monday 8:00-9:05 am: Meg's section at E2-192 (In-person starting January 31st).

Tuesday 8:30-9:35 am: Yash's section at E2-192 (In-person starting January 31st).

Tuesday 12:00 pm: Andrea's remote section through Zoom.

 Wednesday 8:00-9:05am: Xuehai's remote section via Zoom.

Wednesday 4:00-5:05 pm: Meg's remote section via Zoom.

Thursday 8:30-9:35 am: Xuehai's section at E2-477 (In-person starting January 31st)

Thursday 7:10-8:15 pm: Daniel's section at E2-192 (In-person starting January 31st).

Note: E2 means Engineering 2. You can find the building on Google maps. E2-192 is on the ground floor on the side of the building that faces Jack Baskin Engineering (the other engineering building).



Textbook and Homework Assignments

  • Optional: How to Think Like a Computer Scientist (free--referenced in many lectures)
  • Mandatory: $34.50, mandatory, lots of interactive exercises and training materials.

      • Go to learn.zybooks.com

      • 1. Sign in or create an account at learn.zybooks.com
      • 2. Enter zyBook code: 
    • 3. Subscribe
    • Reading assignments: your first reading assignment is there now!

      • reading assignments involve reading and participation challenges
      • for those set on a Tuesday, they are due on Thursday at midnight
      • for those set on a Thursday, they are due on Sunday at midnight
      • there will be a reading assignment for every lecture
    • Programming assignments:

      • "micro assignments", one per week
      • released after the Thursday lecture, due the Friday a week later at midnight

Late Policy for programming assignments

You can turn in your programming assignment up to two days late for 50% credit.  Other than that, permission to turn in an assignment late is very rare and would depend on something such as serious medical events or DRC accomodations.


introduction and mechanics
variables and expressions
lists and dictionaries

Assignments, Quizzes, and Grade Weights

Your grade will be:

10% Lecture Challenges

15% zybooks homework

20% from the weekly quizzes

25% from the programming assignments

30% from the final exam (which you have to pass to pass the course)

Just work through all the exercises as you read through zyBooks and do the zyLabs exercises (including the ones at the end of each chapter).

If you complete a zybooks reading within 24 hours past the due date, you will receive partial credit for that reading.

There are no makeup quizzes in this class! However, your grade will come from your best 7 quizzes, so that should cover the odd family event or work emergency that causes you to miss a couple of quizzes.

Late Policy

Feel free to turn in partial programs, but there will be no late submissions accepted at all unless you have accomodations or an exceptional situation.


Please feel free to tell either the professor or the TA about any comments or suggestions you might have about how to improve the class. The best way to do this is by electronic mail, If you want to communicate anything to either of us anonymously, this is a good way to do it. You are always welcome to broadcast your opinions by using the webforum.

Don't worry we don't do this!

Disability Resource Center Student Accomodations

I welcome DRC students. Make sure you talk to me at the beginning of the quarter about your needs. As a note, I far prefer your emailing me a PDF of your DRC form instead of giving me a piece of paper.



I hate to talk about cheating, because I like to assume there will be none, but the School of Engineering says I must: If a TA finds or I find conclusive evidence that you have cheated on a quiz or exam, you will fail that quiz or exam. If you touch a cellphone or unapproved calculator during a quiz or final exam, you will fail that quiz or exam. It will not be possible to pass this course with a grade of 0 on the final exam. You should know that if you have been officially charged with cheating, and the provost has ruled that you have cheated, you get a black mark on your record: this could lead to either suspension or expulsion from this university.

For programming, it is very important that you not work on code with anyone else.  You can discuss high level concepts, and you can ask for help debugging from a TA or tutor, but don't work with others.  The thing is, when you are new to a subject, if you work with someone else, the temptation to take the one way you see to do something as the only way to do it is overwhelming.  Be active on the forums.  Ask for help from the TAs or tutors, but don't work alone with another student (or previous student).  It is OK to look things up online, but if you get a strong idea how to do something online, make sure you give credit to that online source in your code. Here is a video that might help you with the more subjective aspects of what is programming plagiarism.

If, on reflection, after turning in a programming assignment, you realize you collaborated inappropriately within 72 hours of the due date (and time) of the assignment due date, if you contact a TA or the instructor, you will be assured that you will have no academic misconduct charges brought against you, though you may get a zero on that programming assignment (depending on the violation).  You can still pass--or even do well--in a course with one zero. Contact via email is fine.  We will respect your privacy and will not mention this to anyone outside of the teaching team (unless, of course, you admit to collaborating with another student in the class--in which case we will need to speak to that student).

To receive credit for a weekly quiz, you must sit in one of the installed seats of the lecture hall, and you must put the names of your right and left neighbor on the top of your quiz page (put something like "end of row" if there is no one on one side). After you turn in your test, you must leave the lecture hall immediately, and if you have forgotten your backpack or other materials, you may not retrieve them until class time is over. You may not talk to anyone during the test time but the instructor or one of the TAs. Violations of this rule will result in a quiz score of zero on the part of the person doing the talking.

Just as something to keep in mind, you will have an assigned seat for the final exam. Don't grow too dependent on sitting with your friends during examinations.

This all sounds ominous, but honestly, it is just so we all know that everyone is on a level playing field.