The 15-418/618 class web site is meant to provide a place for thinking, talking, and writing about the material in this course. To encourage you to think more deeply about the concepts described in lecture, each of you is required to post at least at least two comments per week (this need not be one comment per lecture). You are of course more than welcome to post more. We hope that as you read through the slides on your own, you can use making comments as a way to study and that the understanding you build up can also help others. For example, as you are studying, challenge yourself to write up your understanding in a comment.
Each comment need not be particularly long. (A few carefully thought out sentences or a short paragraph is plenty of space for you to make a nice point.) However you should aim to make the comment as useful as possible to a fellow student that is reading through the slides to learn the material. That student might be you come exam time! Comments posted on the web site should be focused on course content and ideas. Piazza is the place to have discussions about specifics of grading, debugging assignments, course logistics, etc.
Comments are written in Markdown. If you're unfamiliar with Markdown, take a look at our 90-Second Guide to 15-418/618 Markdown, which also explains the extra support we've added for Latex math and internal site links.
Here are some examples of what we are looking for in great comments:
- Explain the slide. Imagine your friend fell asleep in lecture for a few minutes and completely missed Kayvon's explanation of the slide. If you had one minute to teach your friend the most important idea about what he or she missed, what would you tell them about this slide?
- Challenge your classmates with a question. Come up with a question you would ask your friend the night before an exam to test their knowledge of the material. Other students in the class could try to answer your question in a subsequent comment.
- Explain what is confusing you. It's perfectly reasonable to look at a slide and think, "Wow, I clearly don't understand this part of the lecture." In your comment explain why you don't understand, or what is particularly confusing you. Hopefully someone will answer.
- Clarity, clarity, clarity! Be clear. It can be easy to write something that is sort of true. It is very hard to write something that is true and clear. Here's a trick: Before submitting your comment, read each of it's sentences one-by-one. For each sentence, ask yourself, "is this a true technical statement?" You might be surprised how many times, once you see it on paper, that answer turns out to be no. (It happens to me all the time.)
- Provide a link to an alternate explanation. You might have found a better explanation of a topic on the internet. Provide a pointer to the alternative explanation you found, and say a few words about what you learned or why it might be useful to others.
- Mention a relevant real-world example. There are many real-world examples of the concepts we talk about in class. New processors are released, examples of parallel computing appear in the news, there are many new parallel programming languages and frameworks out on the internet these days. Sites like http://www.realworldtech.com (for new parallel processors) and http://highscalability.com (for web-centric scaling) have very useful descriptions of modern parallel architectures.
- Respond to another student's explanation or question. Your could answer a question asked in a previous comment, or expand upon an explanation someone else attempted. You are welcome to point out a misunderstanding in what someone else posted, but please, please keep all comments positive and constructive. Remember, the goal is to help each other learn. If you do think it is useful to correct someone's work, be polite. (Example: "Although xxxx mentions that static work distribution would be fine for this application, I disagree. Notice that there could be significant workload imbalance among the cores during this part of the algorithm. For this reason I think it would be advisable to use a dynamic partitioning scheme, such as the shared work queue we talked about in class.")