View on GitHub

COMP 491/492

Dickinson College Computer Science Senior Seminar

A01 - Slack, Blog, Wiki, GitHub


Professional and open source software development makes use of many different communication channels, each with its own strengths and purpose. We will be making use of four such communication channels (Slack, Blog, Wiki, GitHub) in this class and many of you will find yourselves also using others (IRC/Gitter/etc.) as they apply to your selected H/FOSS projects.


Slack is “A messaging app for teams”. Slack helps teams working on projects to do all communications within a single app rather than spreading information across e-mail, IM, texts, etc. Everything posted on Slack is indexed and searchable, making it easy to go back and find information and resources or reconstruct ideas and processes. We will be using Slack as our primary communication mechanism for this course.


  1. Skim the What is Slack? page and watch the video (1:13) to familiarize yourself with Slack.
  2. Use the link to sign up directly for the COMP491 Slack Workspace.
  3. Edit Your Profile to include at least your first and last name. You can also upload a photo or avatar if you’d like.
  4. Using the links on the Using Slack page do the following:
    • Join the #tips-and-techniques, slack-intro and #comp491-announcements channels.
    • Create a private channel using your name.
    • Set the description for your channel to be something meaningful.
  5. Using the links on the Using Slack page do the following:
    • Post a message to your private channel (only you will be able to see it).
    • Post a message to the #slack-intro channel saying “I am working on A01 for COMP 491.”
    • Edit the message you just posted so it says “I am working on A01 for COMP 491 in Fall xxxx.” (replace xxxx with the current year.)
    • Star your private channel and note where your starred channels appear.
    • Star a message in the #slack-intro channel channel and note where your starred messages appear.
    • Unstar the message you just starred in the #slack-intro channel.
    • Add a reaction to a message in the #slack-intro channel.
    • Team up with a classmate or two:
      • Mention a member of the class in a message in the #slack-intro channel.
      • Find the list of your mentions and reactions.
      • Send a direct message to someone.
      • Reply to a direct message from someone.
      • Start a huddle with someone from a direct message.
  6. Using the Slack search feature do the following:
    • Find the message that talks about “Linux Foundation’s Open Source Jobs Report.”


You will be using a blog to post written reflections on the reading and discussion topics (see the syllabus for more details.)


  1. Create an account on a blog site. If you have a favorite blog site, you are welcome to use it (just create a new blog for the course). If you do not, then I recommend Tumblr, as its minimal interface is relatively easy to learn. Note that if you prefer, you may use a pseudonym for your blog username so that you are not personally identifiable on your blog. You will later be asked to post a link to your blog on our (secure) course Wiki for grading purposes.
  2. Give your blog a meaningful title.
  3. Make an initial post to your blog that includes:
    • A statement that the blog is being created for this course and will be used to post reflective writing on reading and discussion topics related to social, ethical and legal issues in computing.
    • Then respond in a few sentences to each of the following prompts:
      • “My plans after college are to…”
      • “What I hope to gain from this course is…”


GitHub is a source code repository, but also has a number of communication tools that open source communities use for communication. You will likely be working extensively with GitHub once you get into your project. For now you just need to ensure that you have a GitHub account.


  1. If you do not already have one, or would like one just for this course, create a new GitHub account. Be sure to remember your username and password.
  2. If you would like a refresher on GitHub, you can watch the “Getting Started with GitHub?” video on the GitHub Training & Guides page to learn more about it. If you want more, you might try the Hello World activity. Neither of these are required, but may help you get back up to speed if you haven’t used GitHub in a while.


A Wiki provides a way to collaboratively create, modify and structure the content of a web site directly through a web browser. It is very useful when a large group of people need to contribute directly to the creation and maintenance of the information on a site. Many FOSS projects use Wikis for design documents and end-user documentation so that lots of people can contribute to these resources. We will use a Wiki to maintain information about the projects you are working on in the course and to track your progress on the projects. In addition, Wiki’s are typically written in Markdown, a simple language for formatting documents. Markdown is also used by GitHub and many other tools to allow formatting within messages, issues, pull requests, etc.


  1. Log into the Moodle for the course (see link on course home page).
  2. Open the “COMP491/492 Wiki”
  3. Go to the “Useful Information about Class Members” page
  4. Edit this page and add a section for yourself. Use my page as a template and consult the nWiki Markup guide linked in the Moodle for formatting information.
    • Add yourself in alphabetical order by last name.
    • You must include at least:
      • Your slack handle
      • Your GitHub username
      • A link to your Blog for the course (created above)
      • A link to a new personal wiki page that you will create for yourself.
      • Any other contact information you would like others in the class to have.
  5. Return to the “View” mode and click the link to go to your personal wiki page (it will be blank).
  6. Edit the page by adding your name and a few sentences of introduction so that your classmates and I can get to know you a little better.
  7. Also ensure that your page contains links back to the main COMP491 page and to the COMP491 member page.
    • NOTE: You can find the code for this by clicking “Edit” on my page (but please don’t change it.)
    • NOTE: With our Wiki anyone can edit any page. This is great for collaborative creation of the site, but it also comes with great responsibility. Please do not edit anyone else’s personal pages. Keep in mind that the Wiki software logs all changes and the user that makes them (Have a look at the “History” tab if you are curious).


This assignment will be graded using the criteria in the rubric below.

Click rubric to enlarge image.
Rubric: 3 pts - On time; All parts of assignment have been fully and carefully addressed; work clearly demostrates strong investment and understanding; well organized, neat, clear and concise; uses complete sentences. 2 pts - On time; All parts of the assignment have been addressed; Work demonstrates reasonable effort and understanding. 1 pts - On time; Fails to fully address all parts of the assignment; work demonstrates a lack of effort, care and/or understanding; disorganized, sloppy or hard to understand. 0 pts - Late, missing or substantially incomplete; fails to address majority of assignment.

Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License All textual materials used in this course are licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License

GPL V3 or Later All executable code used in this course is licensed under the GNU General Public License Version 3 or later