Office Hours

If you need help with any of your coursework in this class, you are welcome to come to office hours to get one-on-one help from an instructor or TA. That said, please make sure to read our Getting Help page first to understand when it makes sense to come to office hours, and when it might make more sense to seek assistance on Piazza.

On Mondays, the instructors hold office hours through Zoom meetings you can find on Canvas. If you join one of those meetings, and you are placed in a Zoom waiting room, that probably means the instructor is seeing students one-by-one. The instructor will let you into office hours as soon as it is your turn.

On Tuesday through Friday, we hold office hours throughout most of the day, and there will be 1-3 instructors/TAs on call to provide assistance and answer questions. Due to the number of students in the class, we use a web-based system to manage the queue of requests.

CS 121 Office Hours Website

On Tuesday through Friday, you can sign up for office hours at this website:

This website will allow you to place a request to attend office hours on the current day. You will be able to specify your availability that day (so you are not scheduled at a time when you are in class, etc.), and will receive an e-mail notification when you have been assigned to a specific time slot (you can also log into the website to see the status of your request). Please note that we will generally schedule students once we are ready to see them; you should not expect to be pre-scheduled far in advance.

More specifically, once you log in, you will see a page like this:


To place a request, you must enter the following information:

  • Select the time slots you are available at. While we will try to schedule you at the earliest available time, please note that you may be scheduled at any of those times, so it is important that you select times you are certain you will be available. If your availability changes throughout the day, you will be able to edit your request later on.

  • Whether you have a “quick question” (that you expect won’t take more than 1-3 minutes), or a “regular” question (e.g., if you need help debugging your code). Please note that, in general, if you need help debugging your code, you should select “regular”. We will also enforce the 3 minute limit for quick questions; if your question turns out to be longer than that, we will ask you to submit a new request with a “regular” question.

  • You must provide the URL to a Zoom meeting that an instructor or TA can join once they’re ready to see you. We suggest you enter the URL of your “Personal Meeting” on Zoom. This URL will look something like this: You are also welcome to create an ad-hoc Zoom meeting so you don’t have to share your Personal Meeting; however, if you do so, please make sure you select the “Recurring meeting” option when creating the meeting, and set the “Recurrence” option to “No Fixed Time”.

  • Describe the issue you need help with. You don’t have to be as detailed as you would on a Piazza post, but you do need to give us a sense of what you need help with.

Once you have filled out the form, and clicked Submit, you will be shown a screen like this:


From this screen you can click on “Edit your request” to edit your request. In fact, if your availability changes or you have additional details to provide, we encourage you to edit your request.

You can also cancel your request. Doing so will not affect your standing in future requests and, once you cancel your request, you will be allowed to make another request for the same day if you wish.

Once you have made your request, we will try to schedule you at the earliest time we can and, for the most part, we will process requests on a first-come-first-serve basis, with a few exceptions:

  • We prioritize concrete and detailed requests over speculative requests. i.e., if you articulate the exact issue you’re running into, you will be seen sooner than if you just specify “My code doesn’t work” or if you enter any sort of placeholder text in your request.

  • We prioritize students who need help getting unstuck over students who just want a TA or instructor to review code that is already working.

  • We typically try to answer 2-3 quick questions for every longer question we get.

  • We prioritize students who made a request a previous day and were ultimately not seen that day.

If you’d like to get a sense of how many students are waiting to be seen at office hours, click on the “Status” link at the top of the page.

If we schedule you for a specific time slot, you will receive an e-mail notification, and your request’s status will also be updated on the website (make sure to refresh the page to see the latest status):


Please make sure that you are on the provided Zoom call during the time you’ve been assigned. If you are ultimately unavailable at the scheduled time, you can cancel your request without prejudice (cancelling your request after being scheduled will have no impact on future requests). If you would like to be seen at a different time, you will need to submit a new request.

If, on the other hand, an instructor/TA joins the Zoom call and you are not there, you will be marked as a no-show. If this happens (as opposed to you notifying us you are unavailable by cancelling your request), we may de-prioritize your next request.

Office Hours expectations

Our goal at office hours is to make sure that you leave in a better position to make progress on the assignment. In some cases, if you have an issue that requires debugging your code, we may not be able to fully debug your code during office hours. In some cases, if the instructor/TA cannot resolve the bug right away, they will instead provide you with a code review: they will look through your entire code and point out aspects that need to be improved or changed, and which could be the source of your bug.

While we realize that it can feel like we’re not answering your question, the code review will help improve your code and will often save you from getting point penalties. It may also resolve your bug but, even if it doesn’t, it will generally make it easier for us to debug your code if you ask about it on Piazza.