PA01: Course Tools
Introduction
Professional and open source software developers make use of many different tools each with its own purpose, strengths and weaknesses. We will be making use of a variety of such tools (Teams, git/GitHub, Markdown, Teammates, Blog) in this class. In addition, you will find yourselves needing to use a number of other tools to engage with the Free and Open Source Software (FOSS) community you select for your project.
The tools that we will use can be broadly divided into five categories:
- Messaging: Used for one-to-one and group communications. This includes platforms such as Teams, Slack, Discord, Gitter, IRC and Teams. We will be using Teams.
- Version Control: Used for managing and collaborating on documents and source code. This includes tools such as git, Subversion, CVS and Mercurial, and platforms such as GitHub, GitLab, SourceForge and Bitbucket. We will be using git and GitHub.
- Content Authoring Language: Used for writing and formatting text-based documents. This includes things such as HTML, Markdown, LaTeX, and AsciiDoc. We will be using Markdown.
- Performance Reviews: Used for conducting personnel reviews and providing feedback to teams. Many companies use proprietary tools and processes for annual reviews (e.g. 360 Reviews). We will be using TEAMMATES.
- Communications: Used to self-publish information about you, your project or other topics. Many project communities will run a blog that keeps community members up to date on what is happening in the project. We will use Blogger.
Assignment
This assignment will prepare you to use the tools that we will employ in this course. Each of the following sections focuses on one of our tools and gives you some tasks to complete. Completing the tasks will ensure that you are ready to use these tools in other assignments.
Teams
We will be using Teams as our primary form of communication in this course. All course related communication with the instructor will take place on Teams.
Complete the following tasks on Teams to find our course and to (re)familiarize yourself with it.
- Find the COMP-491-492 Team in your browser or the Teams app.
- Open the PA01 - Course Tools Channel
- Find the “Introduce Yourself” post, read it, and post a response.
- React to at least one other post in the “Introduce Yourself” thread with a “Thumbs Up”.
- Find the “Tag Someone” post, read it, and post a response.
- Use the Teams Chat feature to send a private direct message to the course instructor with the GitHub username that you use for the Dickinson COMP WiD repository.
Blog
We will be using Blogger for you to express your thoughts and opinions on technical, social, legal and ethical issues in computing and technology.
Complete the following tasks to setup a Blogger site. Keep in mind as you create your account and post your content that whatever you write on your blog will be public.
- Visit Blogger
- Create a new Blog.
- Customize your blog as you would like it to look.
- Create a first post that gives a little bit of information about you and your goals.
- You are not required to identify yourself by name or to reference this course or the College.
git/GitHub
We will be using git/GitHub pull requests to build a repository of completed assignments for this course. You will fork and clone this repository and add to it by making pull requests as you and your team work on assignments. You will also be using git and GitHub (or another repository hosting service) extensively in your work on your project.
Complete the following tasks using git/GitHub to find our course repository and to refresh your git/GitHub skills. You may find this Git/GitHub Command Reference helpful in remembering what commands to use.
- If you have not already, accept the invitation to join the
Dickinson-COMP-491-491/AY26-27repository as a contributor. - Fork the Dickinson-COMP-491-491/AY26-27 repository into your GitHub account.
- By default your fork will be named just
AY26-27you can give this a more meaningful name when you create your fork, or via the settings on your fork after you create it. - Note that both the upstream repository and your fork are private. Thus, no one except students in our course and the Dickinson CS faculty will be able to see the repository or its contents.
- By default your fork will be named just
- Clone your fork to your machine.
- Open your clone using an editor of your choice.
- Each of you has an individual directory within this repository. In this step you will make changes to a file in that directory and create a pull request to have them merged into the upstream.
- Create a new feature branch from
mainfor your changes. - Find the
studentsdirectory and your directory inside of it. - Open the
README.mdfile in your directory, it will be empty. - Edit the file to include a sentence or two introducing yourself and what you are hoping to do after graduation.
- Use an image link to add your Dickinson ID picture to your
README.md. - Save the file.
- Stage and commit your changes to the feature branch that you created.
- Be sure to use a meaningful commit message that describes the change that you made.
- Push your feature branch to your origin on GitHub.
- Turn in your work by creating a pull request to the upstream for your changes.
- Be sure to give your PR a descriptive title and comment.
- Double check the changes in your pull request on GitHub to ensure that they look right to you.
- Create a new feature branch from
Markdown
GitHub and many other platforms use Markdown as their content authoring language. Markdown uses basic syntax to allow you to style and format documents. On GitHub, this allows you to style (e.g. boldface, underline, links, etc) and structure (e.g. section headings, tables, images, etc) content in issues, pull requests and in any file with a .md extension.
Use the documentation on the Basic writing and formatting syntax page.
- Continuing with the feature branch you created in the prior section.
- In your
README.mdfile:- Add a top level section header with your name.
- Add a second level section headers for “About Me”, “My Links”, and “Assignments”.
- Move the text introducing yourself to the “About Me” section.
- In the “My Links” section create a bulleted list containing links to:
- The GitHub profile you will be using for your work in this course.
- Your posts on Blogger that you created above.
- Be sure that links you provide works if you are not logged in.
- Place the text “Coming Soon” in the “Assignments” section in bold face type.
- Stage and commit your changes
- Turn in your work by by updating your pull request by pushing your feature branch to your origin on GitHub.
- Double check the changes in your pull request on GitHub to ensure that they look right to you.
There is a lot more to Markdown than that, but once you have the basics, its easy enough to look up the rest when you need it.
Teammates
We will be using Teammates to perform self-assessments, to give and receive anonymous peer-feedback, and to receive instructor feedback on project work.
Complete the following tasks to become familiar with how Teammates works.
- If you have not already, use the link in the e-mail that you received from Teammates to register for our course.
- Find the “PE00” session in teammates:
- Click the “Start Submission” button for “PE00”
- Complete the survey
- This is just for practice so:
- you have been assigned to made up teams for this exercise.
- you won’t have a basis for providing feedback so make things up. Be kind as jokes do not always land as expected over text based media.
- be sure to respond to every question in some way just for practice.
- This is just for practice so:
- Submit the survey either question by question as you go or all at once at the end.
- Check the responses that you receive.
- In this instance, you will see feedback immediately after it is submitted.
- When we use TEAMMATES later in the course you will receive feedback only after the instructor reviews and releases it.
All textual materials used in this course are licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License
All executable code used in this course is licensed under the GNU General Public License Version 3 or later