Communications

CS390, Fall 2019

Last modified: Aug 5, 2019
Contents:

1 So many options

Communication is a major concern in any course. Internet courses make this a little trickier by reducing the options for face-to-face discussion. So I try to open up a variety of options that you can use.

Options for communications in this course include:

2 General Rules for On-line Communications

2.1 Public and Private Communications

Choose a communications option that is appropriate to the nature of the discussion.

Some of the communications options that you have will open your discussion up to the entire class. Others will limit your discussion to the instructor or to your team on a group assignment.

In general, any conversation in which you discuss all or part of your solution to an individual assignment, even if you are only speculating on possible solutions, should be limited to you and the instructor. Sharing such information with other students is a violation of the course’s policy on Academic Honesty.

Use email or office hours for those kinds of questions.

On the other hand, questions about the course subject matter or purely clarification questions about an assignment may be useful subjects for the entire class. These are good subjects for the Hallway forum.

The instructor may, if he feels it is appropriate, copy an e-mailed question to a Forum so that the answer becomes available to everyone.

2.2 Etiquette in Email and Other Written Communications

3 Asking Good Questions

Whether posted in Discussions or sent via email, a question is the beginning of a dialog. A well-prepared question will get you an informative answer quickly. A poorly-prepared one may get you irrelevant answers or may require several rounds of back-and-forth dialog, delaying your eventual answer by many hours or even days.

So it’s in your own self-interest to ask your question in a way that gets you the answer you need as quickly as possible.

3.1 Identification

Who are you? : If you are sending me email, make sure your course login name or your real name appears somewhere in the message. I hate getting mail from partyAnimal@hotmail.com saying “Why did I get such a low grade on question 5?” when I have no idea who this person is!

What course is this? : Again, if you are sending me a question via email, please remember to state which course you are asking about. I teach multiple courses most semesters, and having to go look up your name to see which of my courses you are talking about is annoying.

For email, please put the course number (CS390) in the subject line. I configure my email reader to flag such messages for priority handling, giving you less chance of being lost amid the daily flood of spam.

Use a clear and precise subject header.: In Discussion forums, your subject header helps people decide if your post is worth reading. It also helps people find prior discussions that may have been relevant to later posts.

In e-mail, the subject line shares much the same purpose. Empty and short subject lines are also more likely to get tossed by autoamtic spam filters.

3.2 You Have to Give Information to Get Information

When you ask a question, you usually want an appropriate answer that will let you get past whatever difficulty you are having. So that answer needs to be relevant to your particular difficulty and tailored to your understanding of the course material.

3.2.1 What’s the Problem?

I’m not psychic.

If you send me an email consisting of nothing more than “I’m stuck on this assignment.”, there’s really no way I can give you the kind of answer you are hoping for. You need to tell me:

If you have an issue with a webpage, tell me the URL. If a link is broken, tell me the URL of the page containing the link and describe the location of the link. Don’t just tell me “the link to assignment 2 is broken”. I probably have a dozen different links to that assignment in different pages.

3.2.2 What’s Your Environment?

Most of this course is devoted to the idea of working remotely: using your own PC to control a remote Linux server from over the network. Some of you will be using Windows PCs to do this, some will use Apple OS/X, and a few may use Linux boxes. Each of these operating systems comes in different versions. Furthermore, you will often have multiple choices as to what software you are using to communicate between your PC and the remote Linux server.

It is therefore often important that you tell me:

Again, if you don’t tell me those things, I’m just going to have to ask for that information, delaying the process of getting you the answer you want. (Also, please keep in mind that in a typical semester I have between 120 and 180 students in this course. Just because you told me all this a week ago, don’t assume I will remember it when you have a question about a different assignment the following week.)

3.3 Thou Shalt Not Paraphrase

There’s nothing more frustrating than getting a question like

“When I try to compile my solution to the first assignment, I get an error message. What’s wrong?”

Grrr. What was the (exact) text of the error message? Was this on a Linux or Windows machine? What compiler were you using? What compiler options did you set? What did the code look like that was flagged by the message?

No, I’m not kidding. I get messages like this all the time. And it wastes my time as a question answerer to have to prompt for all the necessary information. It also means a significant delay to the student in getting an answer, because we have to go through multiple exchanges of messages before I even understand the question.

The single most important thing you can do to speed answers to your questions is to be specific. I’m not psychic. I can only respond to the information you provide to me.

  • Never, ever paraphrase an error message (“I got a message that said something about a bad type.”)
  • Never, ever paraphrase a command that you typed in that gave unexpected results (“I tried lots of different compilation options but none of them worked.”, or, my personal favorite, “I tried everything.”)
  • Never, ever paraphrase your source code (“I tried adding a loop, but it didn’t help.”)
  • Never, ever paraphrase your test data (“My program works perfectly when I run it.”)

All of the above are real quotes. And they are not at all rare.

The problem with all of these is that they omit the details that would let me diagnose the problem.

3.4 “Copy and Paste” is Your Friend!

 

And it’s not all that hard to provide those details. Error messages can be copied and pasted into your message. The commands you typed and the responses you received can be copied-and-pasted from your ssh/xterm session into your message. Your source code can be copied-and-pasted or attached to the message.

Note that this information is almost always plain text. Unless you really need to show me graphics, please don’t send me screen shots. They are often hard to read and often do not allow me to make the fine distinctions I need to tell what is going on. Keep in mind that raster graphics formats (gif, jpg, png, etc.) often look very different when rendered on screens with different resolutions.

3.5 If I Ask You a Question, Answer It

I often respond to a student’s question with further questions of my own.

Teachers since Socrates have always done this, and students have always been annoyed at it. But who are we to argue with history?

Sometimes I do this to get more info I need, sometimes to guide the student towards an answer I think they should be able to find for themselves.

It’s surprising how often students ignore my questions and either never respond at all, respond as if my questions were rhetorical, or, if I have asked 2 or 3 questions, pick the one that’s easiest to answer and ignore the rest.

This pretty much guarantees that the dialog will grind to a halt as I wind up repeating myself, asking the same questions as before, and some students go right on ignoring my questions, …