Getting Help in CS 70
In CS 70 you will almost surely get stuck or confused from time to time. Sometimes you and your partner can figure out the problem for yourselves, but other times you need a push in the right direction. Knowing when and how to ask for help can save you large amounts of pain and angst.
We believe that you learn best when you discover answers for yourself, so we (and the grutors and your classmates) will often respond to questions with other questions, designed to help you find the answer for yourself. This approach is a little slower than just “telling you the answer,” however. If you wait to ask your question until you are feeling very frustrated or rushed (e.g. the last minute), our approach might add to your frustrations. For that reason, please ask your questions early! That also means starting your work early enough that questions arise early.
Announcements and questions that have already been answered: Piazza
We will post important news and announcements in Piazza. You are responsible for checking for updates and reading them on at least a daily basis.
While you're checking Piazza, it's worth skimming through any new posts—you might find that someones else has already asked the question you were going to ask!
Preparing to Ask for and Receive Help
Plan Your Time
If you plan your time well, you’ll be able to get the most out of the available help. Remember, getting an answer online may take a day or more, but getting help in office/grutoring hours may take just a few minutes. If you can work at times when grutors are available to chat (or, better yet, start working before grutoring starts), you’ll have someone in reach who you can ask. If you start the assignments in good time, you’ll have more time available to get help from the professors or grutors.
Prepare Your Question
To get the best help, be sure to gather the following information, where applicable:
- A description of the problem you’re having: What are the symptoms and when do they appear?
- Any hypotheses you have about the cause of the problem
- Any progress you’ve already made towards solving the problem, including anything you’ve done to test or eliminate potential causes of the problem
- A list of the commands you’ve executed that are applicable to the problem
- Any output from those commands (or your program) that might be helpful
- Any error messages that might be helpful
Before you can ask anyone for help with code,
- Your code must be documented
- The latest version of your code must be checked into the repository
Asking for Help
Once you’re prepared to get help, you should decide how you'd like to ask for help. If possible, talking to grutors or asking questions in class or office hours may be your fastest way to get help.
Don't send email!
Please do not send questions by email to professors; we may not see your message for a long time (we pay much closer attention to Piazza for course communication), and there are more eyes on Piazza so you are more likely to get a quick response. There are several ways to get help, ask questions, and otherwise reach out, each with their own purpose.
Piazza
We use Piazza for asynchronous communications, including class announcements and news. You must check Piazza every day to make sure that you're up to date.
Other than a “live” conversation with grutors or faculty in the lab, classes, or during office/grutoring hours, Piazza is likely to be your best option for getting help if you can wait for an answer; because Piazza requires people to actively check it, it could be up to a day before anyone sees your question.
Before you post…
-
Check for Similar Questions
Before you post a question on Piazza, first check to see if anyone else has asked a similar question—maybe you can get an answer without even asking, and if not, you can comment on their post rather than creating a duplicate.
-
Decide Whether You Should Make a Public or Private Post
Most questions can and should be shared with the whole class, provided they don't have specifics about your solution or actual code that you're working on (code you're asking about should be checked in to your GitHub repository).
But if you need to ask about something private, or you need to share code in your message, you can make a private post that will only be seen by your professors and the grutors. (If your question is too personal to share with grutors, you can also just send a message to the professors.)
See below for details on public and private posts.
-
Remember Our Collaboration Policies
The overall policies on collaboration outside a homework pair apply to Piazza, too, so keep them in mind when replying to posts on Piazza (just as you would when talking directly to a classmate).
Questions Without Sensitive Information: Public Posts on Piazza
If you have a question or comment that
- Does not contain information that you would like to keep private;
- Can be asked without sharing specific parts of a homework solution; and,
- Is not super long or requires a super long answer, please post publicly on Piazza!
We want as many people as possible to see, respond to, and learn from your questions; given the number of students in the course, for any question you have there are likely to be at least five other students who are wondering the same thing! There's even a chance that a fellow student might have the answer and can respond before someone on the course staff gets to you. (If you want, you may choose to make your post anonymous to your classmates.)
On the flip side, if you see someone else post a question you think you know the answer to, please go ahead and respond!
We encourage you to comment on posts even if you're not completely sure that your answer is correct—if you're not quite right, someone else will correct you or share some information that helps you get to the correct answer and you will have learned something new or now understand a topic better than you had (and probably others will, too)—learning from each other is often the best way to learn!
(If you're not completely sure about your answer, or you're not comfortable with just asserting your authority, you're welcome to hedge your answer (e.g., say something like, “I’m not sure, but I think that…” or “If I recall correctly,…”), but doing so isn't required.)
Questions With Sensitive Information: Private Post on Piazza
If your question requires you to reveal private information or specifics about your solution, you can reach out to just the course staff with a private post.
- Go to Piazza.
- Click the “New Post” button.
- Next to “Post To”, select “Individual Student(s) / Instructor(s)”.
- Select “Instructors” from the drop-down menu.
- Write and post your message.
Posting to “Instructors” means that your message will be visible to all instructors and grutors, giving us the best chance at responding quickly.
If your question is too sensitive even for grutors, you may instead choose one or both professors as individuals.
Note: If you're asking us questions about your code, make sure the latest version of your code has been pushed to GitHub where we can see it; it’s rare that we can give useful advice if you only post an isolated snippet of your code.
If you send a private message that doesn't seem sensitive, our response may be to ask you to make your post public so the rest of the class can benefit from your question.
More Interactive Help: Office Hours and Grutoring Hours
Sometimes a question is hard to articulate, and sometimes a conversation is better than an answer. Sometimes you just want to see a friendly face! Talking in person is often the fastest way to resolve a problem, especially if it’s conceptual. There will be regularly scheduled drop-in hours where you can chat in realtime with a grutor. The professors will also offer sessions where you can discuss and ask questions about the lesson material.
We encourage you to take advantage of these opportunities; we like to see you! If your question is about homework, it would be ideal for both partners to ask for help together, but, if necessary, one person can get an answer and communicate it to their partner. If the scheduled times don't work for you, please contact us to make an appointment!
If you speak to one of the course staff members and are not happy with (or convinced by) their answer, you should see it as their failure rather than yours, and seek more of us out (or post follow-up questions to the forums) for a better answer.
Tell Us if You Resolve Your Issue!
Finally, if you answer your question or fix your code on your own before the course staff gets to it, please update us by editing your post or adding a follow-up. Telling us that you don't need help any longer allows us to spend our time helping other groups.
If you made a public post on Piazza, be sure to provide some information about how you resolved the issue so that others can follow in your footsteps!
(When logged in, completion status appears here.)