## 2.2 How to use Slack

Slack is a messaging tool (very similar to Discord, Microsoft Teams, etc.). There will be two main ways that you use Slack to communicate with instructors and other students:

1. Public messages in shared channels
2. Private messages to 1 or more recipients using direct messages

### 2.2.1 Channels

You and other students from the your section (and other sections) will be assigned to shared channels.

Here are some important channels in our Slack workspace and their uses:

• #101-section-001: This is an example of a private channel for students in CDS 101 Section 001. You will be assigned to similar channel for your section of CDS 101 and/or 102. Your instructor will use it for communicating information relevant to your class only (and you may also use it if you have a reason to communicate with all other students in your section).

• #101-module01-intro: This is an example of a public channel for the 1st module of CDS 101. There will be a separate channel for each CDS 101 module (as well as a separate channel for each CDS 102 lab). You should use this channel to ask questions about any of the materials/quizzes/assignments for that module/lab.

• #announcements: This channel will be used by instructos and STARS for course-wide announcements, e.g. office hour reminders.

• #rstudio-github-help: A channel for general help questions about RStudio or GitHub rather than a particular module or lab (e.g. if you can’t login to RStudio),

• #random: A channel for any other messages that would be off-topic in the other dedicated channels (e.g. general questions about this course, questions about other CDS courses, speculation about the Patriot’s chances in the NCAA, etc.)

To prevent plagiarism, please do not post extensive or working code for any of the exercises in channels (use a direct message instead).

### 2.2.2 Direct messages

You can send a private message to one or more people as a Direct Message.

To do this, scroll down to the “Direct Messages” section of the left-hand menu in Slack, and click the + symbol. Then search for the users you want to message.

If you want to include code in a question, please send it in a Direct Message to your instructor and one of the STARS for your section (i.e. use a single DM with 2 recipients so that we are all in the same message thread). However, if your question doesn’t include an answer that other students could copy then it is preferable to post in in the shared channel for that Module/Lab, as then any other student with the same question can see how we were able to help you.

### 2.2.3 How to ask (good) questions on Slack

Good questions:

• Show that you have made a good faith effort to understand the question and answer it yourself before getting stuck.
• Don’t post an entire code chunk or multiple lines of working code in public channels (to prevent plagiarism). Use a direct message to your instructor + one of the STARS instead.

Let’s go through some examples of bad questions to illustrate these principles:

• Help, I’m getting an error on Exercise 4.

The problem with this question is that there are a huge range of errors that you could be getting - so our question to you will be “What error message?” This could significantly slow down our communication since Slack is an asynchronous tool.

Instead, include as much relevant information as you can to help us fix the problem. It is helpful if you can copy the entire error message from RStudio, if you have one, as well as telling us which Exercise you were working on when this happened.

For example,

I’m getting this error message on Exercise 4:

Error: object 'height' not found.

• I don’t understand Exercise 3.

of

Can somebody tell me the answer to Exercise 2?

We want to see that you have made an effort to answer each exercise. To do this we need to know where you are in your understanding of each exercise.

And while we will not just “tell you the answer”, we will help you until you are able to figure out the answer yourself. However, to do this we again need to know what about that question is giving you trouble.

The answers to almost every question can be found by going back through the interactive tutorials/lecture videos/readings/assignment instructions. Therefore your first strategy when stuck should be to go back through these resources to find the answer.

For example, here is how you might ask this question better:

In Exercise 3, I am not sure how to procede with Part ii where it asks “Sort the dataframe in ascending order using the name column”. I’ve looked back through the interactive tutorial for a function to sort a dataframe, but I haven’t found one.

• This code chunk is giving me an error:

some code
that is an
entire code chunk
(even if it currently isn't working)

In general you should avoid posting large amounts of code in a shared channel because:

1. Another student might just copy your code rather than solving the problem themselves
2. We check for similarities between answers, and so you might get into trouble because another student copied code you posted on Slack

You can circumvent these issues by posting just the error message and not the code, or if you think the code is necessary to help us answer your question, please send it as a Direct Message to an instructor + STAR rather than a message in a public channel.

It is fine to post small amounts of code in the public channels, e.g. one line from a multi-line code chunk, or part of a line.

A good rule of thumb is that whatever is posted in public channels should help other students with a similar problem figure out how to solve it. However they should not just be able to copy what you have posted and recycle it in their own assignment without understanding it.