How to get help
This is a university course, so you are expected to attend labs, then use your
study and research skills to figure most things out for yourself. But getting
very stuck and frustrated is a waste of time.
There are several places to get help with this course:
General computing questions
- Look at the links on the class home pages - they'll develop as the course goes on.
- Web search. There are a huge number of pages on basic CS and C programming out there, from introductions for absolute beginners to extremely detailed
material for experts. Learn to use this resource well.
SFU computer system questions
- SFU Computing Science Instructional Labs (CSIL) home page.
- Send email to helpdesk@cs.sfu.ca.
Questions about your personal computer system
- Your personal computer support provider.
- Your friends.
- Not your professor or TAs: they don't know anything about your
computer, and will just tell you to go to the lab instead, where
everything is laid on for you. Trouble with your laptop is not an excuse for not making progress on assignments, since everything is available in the lab.
Questions specific to the class
- Use the class discussion mailing list - see instructions below - these messages can be read by all students, the TAs and the instructor.
- Discuss the issue with a TA at a regular lab session or TA office hours shown on class home page.
- If this doesn't resolve the issue, come to the instructor office hours shown on the class home page.
Personal academic problems
Email an instructor directly or come to office hours if posted (see class home page).
Using the class mailing list
You must use the class mailing list to ask
questions about the course, assignments, labs, etc. Before posting,
check the archive in case your question was already answered.
Do not ask questions that can be answered by reading the web site or project instructions, by asking the person sitting next
to you, or by a quick Google search and some reading.
The instructor and TAs will read messages sent to the list, but
please help out your classmates by answering questions yourselves. Do
not post homework solutions: only general advice should be given.
The instructors will not reply to your mails right away. This strategy has two purposes:
- It gives your classmates and TAs a chance to help you out first.
- It means we can handle requests in batches to combine similar requests and keep the overhead manageable.
Advice on asking questions by email
Remember that many busy people will get your messages. You are more
likely to get helpful responses if you follow the advice below.
This is particularly important when mailing the TAs or instructor
directly. Remember, they probably already have an inbox full of
questions, and if your mail is rude or doesn't contain enough
information it is likely to get very low priority.
- Send plain text email only.
- Send questions only once.
- Be polite and patient.
- Give all the information that a reader may need to answer your
question.
- Pay attention to your English. Correct spelling and grammar are
strongly recommended.
- SMS-style shorthand is not appropriate. SMS questions will be
answered much l8r or nvr. 4rl.
Suitable mailing list posts
- "I've been staring at a segfault in this function for 2
hours, and I'm stumped. Can anyone give me a clue about where I'm going wrong? The
problem is on line 74. Here is the code and the gdb output..."
- "I
found a really helpful web page on using GDB: http://....."
- "The example code for homework 4 doesn't compile on my box. I'm
using GCC 3.2 on Ubuntu LTS 12.04. Anyone else have the same problem, or
know a solution? Here's the error..." [and actually include the text of the error]
- "It took me ages to figure out that the angles in the dataset are
in degrees, while the trig functions expect radians. Don't suffer like I did!"
- "I *think* the instructions for lab 4 are inconsistent. I'm supposed to do (thing 1) and (incompatible thing 2) but that's impossible. Is this a mistake or am I reading it strangely?"
Unsuitable mailing list posts
- "What's the answer to question 4?"
- "URGENT - PLS CAN U HELP TNX!!!!!!!!!!"
- "My code works perfectly, but..."
- For sale: bike
- (paste of several screenfuls of template compiler errors, followed by a question mark, or worse, three question marks)
Finally
A well-known programmer trick is to explain your problem out loud to a teddy bear. The process of setting out a problem clearly to a dumb, non-judgmental assistant can often reveal solutions or new things to check. It can really work. It doesn't have to be a teddy, but if things get really tough you may need a hug.
If you need to ask for help, be polite and informative and remember that your message goes to the entire class.
Richard Vaughan, January 2014, updated January 2015.