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!

Helper Hours

Helper 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 a code-specific issue with a staff member. 1:1 help is limited to 15 minutes to ensure we can help as many people as possible. Helper hours are either in-person-only or remote-only. In-person-only helper hours are held in the Computing and Data Science Building ("CoDa") basement study area; remote-only helper hours are held on the Zoom link posted on the course Canvas ("Zoom" tab).

Once you arrive, you can sign up using the CS Department Queue website, linked below - you'll need to sign in with your SUNET ID. Please fill out the fields in the form when you sign up, including the location field if you are attending in-person-only helper hours, so we can easily find you.

When joining remote-only helper hours, please join the Zoom once you sign up in the queue. When it's your turn to be helped, you can let us know if the question you have can only be answered in a private room. Private room help is limited to 15 minutes to ensure we can help as many people as possible. But our default is to help in the group room, so that we can help as many people as possible. Group discussions do not have a strict time limit, as our help there is more fluid and benefits more people - another reason to try and frame your question in a way that is appropriate to ask in a group setting!

CGOE Helper Hours

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

Getting Help

  • Primary and secondary queues: our priority is to help as many people during each 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 such 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 session, and closed at the end. Depending on demand, we may need to close the primary queue before the end of a 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.

  • 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.

  • Providing Detailed Signup Information: Providing specific information about your question or topic when signing up allows the course staff to most effectively help you. In particular, for debugging questions please make sure to gather information and explore the issue on your own first, and fill out the signup space fully with any information you have gathered from your debugging efforts so far - for instance, what is the smallest possible test case that is failing? What information have you been able to gather from GDB or Valgrind? Do you have a hypothesis as to what line(s) you think are the source of the issue? Starting with a future assignment, if a debugging question signup doesn't provide enough information, we will ask you to please sign up in the queue again with additional information so that we can effectively help you.

  • Post-session Help Summaries: After a help session, we will write up a summary of the help session and any actionable next steps - you can view these help summaries by clicking here. Future TAs that help you can also use information from prior help summaries to more effectively help you.

  • Working with other students: when working with other students in helper 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.

Click below to open the queue website where you can access the primary and secondary queues:

Staff Helper Hours Queue

Click below to view your help summaries from past TA help sessions:

View Your Help Summaries

Join the CS107 Zoom link for remote helper hours here:

View Remote helper hours Zoom Link

Calendar

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

There are also "tea hours" each week, which is additional time where we can chat about non-homework / course-concept-related questions such as casual course chats, CS courses in general, or anything else that might be on your mind. There are tea hours each week at different times, and there will be tea! (or you're welcome to bring your own as well). The Remote Helper Hours Zoom link will also be open during Tea Hours if you'd like to call in remotely. Please feel free to stop by!

Note: due to an issue with Stanford accounts and Google Calendar, you may need to view this calendar in a private browsing window for it to display.

EdStem Discussion Forum

We host a course discussion forum on EdStem ("Ed"). In Ed, you can engage with your peers, ask your questions, and answer those of your classmates. The forum is appropriate for all topics of course relevance, e.g., discussions of readings/lectures, advice on using the tools effectively, clarifying specifications of an assignment, sharing resources, and more. Having the discussion in a public place means that everyone can benefit and keeps things efficient and inclusive to all. The course staff will also monitor and participate in the forum. Finally, the forum will also be used to source questions about lecture sessions, both during and after.

Note that it is not intended for in depth questions about your code - please visit helper hours for these questions!

Here are some tips:

  • Search before you post
  • Use a descriptive summary for your post
  • Follow and respond to others' posts
  • Heart questions and answers you find useful
  • Share interesting course related content with staff and peers

We encourage you to participate openly and non-anonymously on the forum when asking questions or posting answers; it is immensely rewarding to know who you can thank for an answer to your question, or who you are helping by answering a question!

Please do NOT publicly post the code to solve a homework assignment (in whole or in part, or partial code in progress) on the class 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

Frequently Asked Questions

Can I schedule an appointment outside of the listed hours?

Our staff is committed to the 25+ hours scheduled per week. For this reason, requests for additional appointments with the TAs cannot be accommodated.

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

Any staff help 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!