CS35: Data Structures and Algorithms

Fall 2018

How to ask questions on Piazza

Here are some guidelines for submitting a good piazza question.

First, please know that answering your questions is not an inconvenience for us, and you are not bothering us. We welcome questions, answering questions is fun. It is also important for us to get the feedback about which topics are well understood and which topics need more explanation in class.

Public or Private

First decide if your question should be public or private. Most questions not related to code you specifically wrote can and should be public. If you have some general confusion about pointers or dynamic memory, if you want clarification of an in lab or in class exercise, or if something about the lab write up is unclear or ambiguous, please make these questions public. Chances are others have the same question/problem and answering it once saves time for the instructors and benefits the largest number of students.

If you have a specific question about a piece of code you wrote that cannot be phrased in a more general way, you should make your post private.

Anonymous or not

You have the option to make your post anonymous to students but not instructor. It's perfectly fine if you want to use this feature. The posts are not anonymous to instructors because we often need to know who you are to look at your github repo to help you fix your code.

Posting code

Don't post large segments of code, even if it is from public examples or in-class exercises. Instead, make sure any changes you want us to see are pushed to github. If you want to post small snippets of code in a private post, you can enclose the code between these tags, so that it gets syntax highlighted:

<pre> ... <\pre>

What to include in the content of your question

Vague questions like "My code doesn't work even though we've been working on it for hours. What do I do?" are unlikely to get a response. Please try to narrow your issue down to one function or method, describe the problem you are observing in contrast to what you expect to happen. Also list what you tried to do to diagnose and fix the problem. Finally, make sure you push your changes to github.

An example of a well phrased question:The test DoSomething is failing, but all previous tests are passing. Using Valgrind, we found that the problem happens in line 42 in myDataStructure->watchThis(). We expected the code to show an animation of a unicorn leaping over a fence, instead we're getting a segmentation fault. It seems the problem might be in the helper function callBrokenMemoryManager. We have pushed our code to github.

If you fix your code before we reply

Please let us know. Sometimes it is obvious that you fixed the problem after we clone your repo and can't reproduce the error. But if you fix the problem before we reply, please update your Piazza post so we can redirect our attention to unresolved issues.