Getting Help

Based on a document by Julie Zelenski, Cynthia Lee, and others

If, over the course of the quarter, you ever need any clarifications on course materials or policies, or are wrestling with a challenging bug, there are a variety of resources available. We hope you'll take advantage of them!

Office Hours

Office hours are a great place for discussion on conceptual topics or issues too complex for the discussion forum, both with other students and with the course staff. They are also the primary resource when you need help resolving an issue within your code with a staff member. Office Hours are typically held in Huang Basement study area, while remote students can join the queue status and connect via zoom.

If connecting online or in-person office hours are busy, you will need to signup to queuestatus. You can sign up using the QueueStatus links below. You'll need to be logged in to QueueStatus to sign up; creating a QueueStatus account is free. Please fill out the fields in the form when you sign up, including the location field if you are attending in-person-only office hours, so we can easily find you.

SCPD Office Hours

SCPD students can sign up for remote help using the same QueueStatus queue above during any office hours session (in-person-only or remote), and join Zoom to be helped. A course staff member will hop on Zoom to help you.

Office Hours Details

  • Primary and secondary queues: our priority is to help as many people during each office hours session as possible. For this reason, we have two signup queues. The primary queue permits 1 signup per person every 8 hours; the secondary queue has no signup timeout limit. We will help students in the primary queue first, and if the primary queue is empty we will help students in the secondary queue. Both queues will be opened at the start of a office hours slot, and closed at the end. Depending on demand during office hours, we may need to close the primary queue before the end of a office hours session in order to ensure we can help everyone who is in the primary queue; we may later re-open it if we are able to help more people. This 2-queue structure allows students to have a very good chance of getting helped at least once a day in office hours.

  • 1:1 TA Help Sessions: 1:1 help sessions are limited to 15 minutes to ensure we can help as many people as possible. During a help session, our main focus is to help you get un-stuck; we want to help you further progress on what you are working on, and give advice or help with what to do next. We are happy to offer guidance and point you in the right direction with any issues you encounter, but the course staff is not responsible for finding and fixing all your bugs. If you're in the midst of a debugging effort, please provide information about what you are trying to accomplish, what you have tried/observed, what you think might be the problem, and what advice you need to move forward. The course staff is not able to look at your code to identify issues or debug it for you; instead, we want to provide advice and answer questions to help you to gain experience in understanding and debugging your own code.

  • Working with other students: when working with other students in office hours, please adhere to the Honor Code and collaboration policies. For example, do not discuss code-level or answer-level details with other students, do not look at others' code/solutions or share your code/solutions with others, do not work through debugging another student's program, and make sure to cite collaboration as appropriate.

  • For help from the staff in particular, please be mindful that a large number of students are being supported by a relatively small staff, and we ask that you be respectful in sharing office hours time with other students. You should come prepared, having done your own legwork, and with an appropriate expectation of what the staff member will do for you.

  • If you're in the midst of a debugging effort, be ready to articulate what you are trying to accomplish, what you have tried/observed, what you think might be the problem, and what advice you need to move forward. You should not just provide a staff member with your code and ask them to tell you what's wrong with it or debug it for you.

  • We are happy to offer guidance and point you in the right direction with any issues you encounter, but the course staff is not responsible for finding and fixing all your bugs. We want to help you to gain experience in understanding and debugging your own code.

There are two queues for signing up for staff help (you'll need to make a free account the first time you sign up). You may sign up on the primary queue once every eight hours, and you may sign up on the secondary queue as often as you'd like. CAs will always take students from the primary queue, and if the primary queue is empty, they will choose from the secondary queue.

Staff office hours Primary Queue Staff office hours Secondary Queue

Join the CS107 Zoom link for remote office hours here:

View Remote office hours Zoom Link

Calendar

The below calendar lists when the staff will be helping students at office hours (all times in PDT). This schedule will typically be the same week-to-week. Please make sure to note the location (in-person vs. remote)!

Discussion Forums

We are using a combination of IntelliCopilot and EdStem ("Ed"). IntelliCopilot is for immediate and longer-form discussion of concepts. It is effectively a 24/7 CA powered by a contextually informed AI assistant running on the current set of frontier-models. ED is used for questions that require a human response, private posts, and announcements. Both sites are monitored by the course staff and all non-private posts are shared across the class on both sites.

IntelliCopilot offers instant AI responses and provides support with logistical, theory, and general unix/conceptual questions. It also features custom AI agents that are contextualized to our class to provide detailed and relevant answers. Make sure to only ask questions that you would ask a friend under the Collaboration Policy . While the AI can provide code, we require that you avoid asking questions that would lead to the generation of solutions.

The link to ED is available on Canvas and below, all students are auto-enrolled. IntelliCopilot sends each student an email invite code and you must use the code to register for an account.

Posting Policy

Please do NOT publicly post the code to solve a homework assignment (in whole or in part, or partial code in progress) on either discussion board, ever, for any reason; this can be considered a violation of the Stanford Honor Code. Also please do not publicly post highly detailed written descriptions of your solution to an assignment. It is, however, acceptable and encouraged to publicly post discussions of homework ideas in general terms, or refer to a non-homework piece of code, such as a lecture example or example from the textbook. You may publicly post any code you like as long as it is not part of a homework assignment solution.

By clicking the link below, you acknowledge that you have read the preceding text, and agree to abide by the rules written above.

Visit the CS107 Ed Forum Visit IntelliCopilot

Frequently Asked Questions

Can I schedule an appointment outside of office hours?

Our staff is committed to offering as much support as possible, but as there is only 1 CA; requests for additional appointments with the CAs cannot generally be accommodated.

The staff queue is crowded the night before a deadline. How can I get help at a less busy time?

Any staff office hours scheduled close to the assignment deadlines are likely to be heavily attended with students focused on meeting deadlines, and the staff will need to keep up a brisk pace to efficiently process the large number of questions. Hours at other times in the week are more relaxed, and we encourage you to take advantage of those off-peak hours.

I showed my code to the staff but they didn't find my bug!

I'm sorry you are disappointed, but there may be a misunderstanding about what to expect from our staff. We do not intend to be a resource that, upon reviewing your code, will spot your bug and tell you how to fix it. Many bugs don't lend themselves to that sort of instantaneous resolution, but even for those that do, we intentionally avoid offering quick fixes. While finding and fixing a bug may solve the immediate problem, it does little to build self-sufficiency in debugging going forward. Debugging can be hard work, but it is an essential part of programming and only by working through it do you build up your skills. This is our goal for you!

When faced with a challenging bug, we can be your guide, your coach, your advisor, and your cheerleader. Ask for our help interpreting the symptoms and the observations you have made. Invite us to review what you have figured out so far and brainstorm what to try next. Seek advice on which tools and what experiments will be helpful. Lean on us for moral support and encouragement when the going gets rough. And celebrate with us when you nail that bug!