CS 241

Halp Plz!

Peer Tutoring

We hold peer tutoring sessions in the basement of Siebel in the computer labs. You can join by adding yourself onto the Chara Queue (the schedule can be found below). Please note that this is not CS225, so we will not do your assignments. This is the last class you will probably 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 diagonising 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.

Also this department is scaling at an exponential rate, 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 mins 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.

Low Effort Questions

We WILL NOT accept “low effort questions”.

  • “My code doesn’t work, can someone look at my subversion?”
  • 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, regardless of our fast response time, 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.

Debugging

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.

Documentation

A lot of questions can be answered simply by looking at the MP spec, pinned errata posts, or looking in 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

Mariana 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 cs241admin@illinois.edu 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.”.

Angrave

Lawrence is available after every lecture. Other times by appointment. You can also drop by and look for him in the neighborhood of SC2217.