We hold peer tutoring sessions in the basement of Siebel in the computer labs. You can join by adding yourself onto the Queue (the schedule can be found below).
Please note that this is not CS 225, so we will not do your assignments. This is one of the last classes you will take before being thrown into 400-level courses, where the assignments are much harder, help is much more limited, and hand holding is negative.
Give a student the answer and you feed them for a day; teach a student to find their own answers and you feed them for a lifetime.
These peer tutoring sessions will focus on diagnosing misconceptions and holes in your understanding of the problem. This is a fairly conceptual class where your understanding of the problem will directly impact how you can implement a solution. If you have made it this far into the CS curriculum simply be compiling lecture notes and documentation to code, then you are going to have to make some serious changes in your work ethics. Be prepared to be asked to explain what you think your program is doing. Odds are that what you think your code is doing is not equivalent to what it is doing.
This department is scaling rapidly, which is great, since computer science is an incredible field of knowledge that will take our civilization to new frontiers. Unfortunately, the number of people on course staff does not scale as fast. This means that we can not sit next to you for 45 minutes to read 800 lines of your code; this is peer tutoring and not a dinner date. We will wear stopwatches and round robin between the students on the queue.
Piazza: Search First. Don’t Post.#
We will not accept “low effort questions”:
- “My code doesn’t work, can someone look at my github?”
- Questions that are already answered in a pinned post
- Questions that are already answered in the docs
- Questions that have already been answered many times before and can easily be found by searching
- Questions that provide basically no information to go off of (Debugging? Tests? Valgrind? Anything?)
If we find you asking too many of these low-effort questions, then we reserve the right to remove your Piazza privileges. Hopefully these steps will lead you to the answer you’re looking for, or at the very least help you find the answer yourself. Asking on Piazza should not be the first thing you do when you have a problem. You’re here to learn; we’re not going to give you the answer every time you ask.
Have you run it in Valgrind? Are you testing simpler cases that might show where the problem is? How about adding print statements or using breakpoints in gdb to figure out if you’re actually getting to the code you think is running? Are you using the VM we provide to test the code? If you’re getting erratic behavior, make sure you’ve fixed everything Valgrind complains about, as what you do wrong in one place can affect a completely unrelated piece of code. If you ask a question, make sure that you’ve made some effort to find the problem. Be prepared to provide some Valgrind log.
A lot of questions can be answered simply by looking at the MP spec, pinned errata posts, or looking through a man page. Don’t know where your specific question is answered? Use Ctrl+F with some keywords to search the page. Don’t know how to use a function? Read the man page. It provides detailed info on how to use a function, and can even list some examples. Also note man page section 7. It’s all explanations of different parts of the C library. There you can find how signal, epoll, and more work in practice.
Google Is Your Friend
Most questions can simply be answered by searching Piazza, or Googling your question. The chances are that someone has had your exact problem, and someone has answered it (especially near a due date when most people have already finished). Even if you don’t find your exact answer, the questions you find can be close enough to what you’re looking for. Here are some tips on Googling: How to be a Google Power User and How to get more out of Google.
I Found Nothing. What Now?
If you are truly lost, can’t find an answer in the docs, or in other questions, or the wide expanse of the internet, ask your question!
- What’s the problem you’re having? (And give an example)
- What have you tried? Have you tested your code?
- What does Valgrind say? How about a gdb backtrace?
- If you need to show code, don’t take a screenshot. Copy it into a pre tag (“code” on the rich editor bar)
CS 241 Admin#
Jillian is our class admin, and she is in charge of all administrative items (e.g. exam sickness, DRES, 1% issues). If you feel your issue falls under those definitions, then please email her at firstname.lastname@example.org and explain your scenario.
Note: We do not provide attendance misses for labs (this is not negotiable), especially for something that is 100% in your control like “I have an interview.”
Lawrence Angrave can often be found on the second floor of Siebel in or near SC2217. His office hours Tuesdays 11:30-12:30. He’s also able to answer quick questions before or after lecture.
Carl Evans has also taught this course. His office is on the third floor of Siebel 3209.