Asking Questions in Cloud Computing

As you work through homework assignments, you will certainly have questions or encounter issues that you are not sure how to deal with. Ed Discussion provides a convenient mechanism to ask questions, but it can sometimes be challenging for us (instructor, TAs and fellow students) to provide assistance if you do not provide the right information when asking a question. Here are a few suggestions that may help you ask questions more effectively on Ed Discussion.

Before you post a question...

Search Ed and check—It may already be answered in a previous post. Use Ed Discussion's search functionality to see if it brings up any relevant posts. It's possible that another student encountered the same issue and that an instructor/TA already answered it.

Beyond Ed, we also expect you to (extensively) search the Internet for answers to questions that are not specific to class assignments. For example, questions related to boto3 usage, Linux commands and working with AWS resources will usually turn up pretty good answers, especially if you search for the "right" thing ← this is actually a skill that can set you apart from others; start honing it now!

Ask an actual question—You need to tell us about a specific issue you're encountering, and why you're stuck on it (e.g., you are not getting the expected result, you're seeing an error that you can't decipher, etc.). Writing a post that says "I can't get my server to run, I've pushed my code. Please look at it.” is not a question. We're happy to help you work through any issue and may suggest that you come to office hours so we can dig into it in more detail but, on Ed Discussion, you have to make sure you're asking a specific question.

Ask public questions—In general, all questions about coursework, course logistics, etc. should be asked publicly. This way, everyone can benefit from the answer to the question and, if someone runs into the same issue you do, we can refer them to the answer we provided in your post.

Ed Discussion has a mechanism that allows you to ask a private question, which will be seen only by the instructors and teaching assistants. This mechanism should be used only for truly private matters that relate uniquely to you (e.g., you need to notify us of a family/medical emergency, you have a concern about your grade, etc.), or if sharing code (see note below about sharing code in posts).

What to do when asking a question

Check your environment—Make sure you're running your code in the "mpcs" virtual environment on the right instance, and that your instance is properly configured, e.g., uses the mpcs security group and your instance profile.

Give us complete information—The more information we have about what you did and how it failed, the better. We know that, in some classes, you may feel the need to be brief and concise when asking for help to "avoid wasting the professor's time” or because "professors don't have time to read long posts”. The absolute opposite is true in this class: when asking for help, we prefer that you overwhelm us with information.

In particular, it will be much easier for us to help you if we are able to reproduce the exact issue you are encountering (i.e., when we run your code, we must be able to observe the exact same issue you're encountering). And to do so, we need as much information as possible from you:

  • If your question relates to your code, make sure you push your code to GitHub before asking for help, and include a permalink to the code line(s) in your post.
  • Include a detailed description of the exact chain of events that lead to the issue you're encountering (Are you testing a specific function? If so, with what inputs? Does the issue come up only under certain conditions, etc.).
  • If you encounter an error message (or any other unexpected output) when running a command or your code, please make sure you include the full and unabridged error message (or unexpected output). Summarizing the message (e.g., "I got a permission denied error, but I'm sure I'm accessing the right bucket.”) makes it harder for us to figure out what the issue is.
  • If something is "wrong”, please describe in what way it seems wrong to you. For example, were you expecting a particular output but got a different one? Is a piece of code behaving in a way you were not expecting? etc. It can be useful to tell us what you were expecting the code to do, and what you encountered instead.

What not to do when asking a question

Never share your code on public Ed Discussion posts—As noted in our Academic Honesty policies, you should never share your code with other students, which means you should never post it publicly on Ed Discussion. If you need us to look at your code, use a private post or just push it to GitHub and we will look at it there.

Avoid screenshots—Do not post screenshots of your code's output. Screenshots are not searchable, and may pose readability issues for some people. Instructors/TAs may also want to copy-paste that output somewhere else, which is not possible if you post a screenshot.

If you need to share some output with us, copy-paste from the terminal into Ed Discussion, and use Ed's "code block” formatting. To copy something on the terminal, just select it (the same way you would do in a word processor: click, and then drag until the end of the output) and press Control-Shift-C.

Exception to the above: If you encounter errors in the AWS console or when accessing your web server via a browser, please do include a screenshot and ensure that it captures your entire browser window, especially the URL and the navigation menu, as those contain important information.

Limit the post to one question—It's ok to ask multiple questions in one post if they all relate to the same issue, but please avoid posts that have multiple unrelated questions. Instead, write a separate post for each question.

Don't "Answer” if you intend to "Comment”—If you need to provide additional information on a question, or have a follow-up question, make sure to always use a "comment” (by clicking on "Comment” below your question). Only fill out the "answer” field if you have resolved the issue on your own, or if you are providing an actual answer to someone else's question.