Assigned: | Tuesday, January 25. |
Due Date: | Sunday, January 30, 11:59 pm. |
This set of easy but important tasks will help set you up for success in this course.
First, go to Blackboard and complete the "Welcome Survey" linked on the left side of the class Blackboard page. Completing this survey should only take you a few minutes.
Questions, discussions, and announcements in this class will all make use of Slack, which is a channel-based messaging platform. Slack will provide a convenient, efficient way to communicate with me, your project team, and the rest of your classmates.
Slack will be used in preference to all other written forms of communication outside of class, including (and especially) email. Once you have Slack set up, do not send me email; send me a direct message (DM) on Slack instead! Similarly, I will post important announcements and information to Slack instead of sending email. Therefore, it is critical that you are configured to receive Slack notifications so you do not miss important information about the course.
Follow these steps to get set up to use the Slack:
The Slack contains four public channels, which are visible to everyone in the class: general
(for course-wide announcements), inclass
(for discussion of in-class material and examples), projects
(for project-specific discussion), and random
(for anything off-topic). You can also create (private) DM threads with multiple participants.
Now that you are set up in Slack, you are ready to proceed with the rest of the course and get help along the way as needed!
This section will walk you through getting your working environment set up to complete the later projects.
This class will make heavy use of the Linux command-line. You should already have some comfort with the command-line, but if you need or want a refresher, you should go through the Command-Line Unix Crash Course.
We will also be making use of the git
version control system (and GitHub) to facilitate collaboration. You may already have some experience with version control, but not necessarily with git
specifically. If you are new to git
or just want to brush up, check out the Git Essential Training Companion Guide. Note that the third part is especially relevant to group collaboration using Git (which might be new to you).
You have been provided an account on the class Linux server that will allow you to work on and submit your projects. You are strongly encouraged to do your coding on the class server. The name of the class server is turing.bowdoin.edu
(or if you are on-campus, just turing
for short). The server provides a full-fledged Linux environment with all the standard development tools (editors, compilers, version control, etc) preinstalled. If there is any software that you would like to use that is not already installed on the server, please let me know. Access to your server account is by SSH key only (no password access). You should have received your keyfiles from me via email (if not, let me know immediately). For instructions on using your key, refer to the relevant section of the Unix tutorial.
Starter code for the projects will be distributed via GitHub. For each project, your group will have a personal
git
repository accessible only by you and myself in which you will complete your work. At the start of each project, an invitation link will be posted to Blackboard that will initialize your personal project repository on GitHub and add any starter files. Once your project repository is initialized, you can clone it to turing
and then begin to work. Although you will make your final submission via the autograder, you should also
make sure that your final work is committed and pushed to GitHub.
It is recommended to configure your GitHub account to use your SSH key for authentication, which will allow you to interact with GitHub without needing to type your username or password. Refer to the Git tutorial for instructions.