Classwork 1: Getting started with Linux, vim, and git
Logistics
- Due: Monday, May 10th no later than 1:35pm.
- Submission instructions: push a commit with the tag
classwork1to your git repository. - Deadline reminder: after the deadline passes, you cannot earn any points for this assignment. If the deadline is approaching, submit what you have in order to earn partial credit.
Learning outcomes
- Be able to use the course Slack workspace to communicate with the instructor and your classmates.
- Understand the course format and the resources that are available for you to succeed.
- Be able to
sshinto the course server and use basic Linux commands to navigate and perform basic tasks. - Be able to use
gitto version control your work. - Be able to read and edit files using vim.
- Understand the general course structure and the resources available to help you succeed.
Assignment
Part 1: Introduce yourself and explore the syllabus
- Post in the
#randomchannel on Slack introducing yourself to the class. At minimum, tell us your preferred name, your major (or intended major), and one thing you are looking forward to during the course This can be course-related or just something fun you’ve got going on during May or June. - In a direct message to Lucy on Slack, send answers to the following questions:
- What time is classwork due?
- What time are labs and programs due?
- What is your github username? (If you don’t already have one, just do Part 2 of the assignment first, where you will create one.)
- What part of the course makes up the most of your grade?
- Someone asks you for help with a lab because they are getting an error they don’t understand. Is either of the following is okay? (a) For them to send you a copy of their code for you to debug, or (b) To get on a video call with them, have them share their screen, and show their code to you while you talk them through debugging it?
Part 2: Create a file, edit it with vim, and push to GitHub
- Create a
.vimrcfile in your home directory and customize it however you like. See the Lecture 1 videos for more details. - Create a git repository for the class and push a file to it, as shown in the Lecture 1 video. You can follow the video to accomplish all of these steps. If you are still having trouble, we will also go through them together during class.
- If you do not have a GitHub account, create one.
- Create a private git repository named
csci112-2021-firstname-lastnameand clone it in your/home/netid/directory usinggit clone https://github.com/your-github-username/csci112-2021-firstname-lastname.gitNote: if you prefer, you can use a SSH key rather than HTTPS to communicate with GitHub. It’s a litle more complicated to set up but I’m happy to help if you are interested.
- Inside the
csci112-2021-firstname-lastnamedirectory, create following directories:classwork,labs, andprograms. - Inside the
classworkdirectory, create another directory calledclasswork1. Inside that directory, create a file calledfirst_file.txt. In that file, put whatever you want. For example:This is my first classwork assignment! - Add lgw2 as a collaborator (so that I can pull your work to grade it).
- Commit
first_file.txtand add a tag ofclasswork1. - Push your changes to GitHub. (The first time you do this, you will need to enter your credentials, but if you store them as above you will not need to after this)
- To save your credentials so that you don’t need to reenter them every time you push, you can run
git config credential.helper storeNote: this is not a very secure way to store your credentials, because this command will cause them to be stored in plaintext in a file called
.git-credentialsin your home directory, so if someone gained access to your computer, they could see your GitHub login information. Other students cannot see any of the files in your home directory, but I can – though I won’t look at your stored password. If you would like a more secure way to store your credentials so that you don’t need to reenter them every time, go back and clone using SSH instead.
Grading - 10 points
- 2 points - there is a post in the
#randomchannel on Slack including the information described above. - 3 points - there is a direct message to Lucy in Slack answering all five questions listed above.
- 1 point - there is a directory called
csci112-2021-firstname-lastnamein your/home/netid/directory on the course server, containing the three directories listed above. - 1 point - there is a
.vimrcfile in your home directory. - 1 point - you have a GitHub repository called
csci112-2021-firstname-lastnameand lgw2 (Lucy) is added as a collaborator. - 3 points - there is a file called
first_file.txtin yourclasswork/classwork1directory.
Grading turnaround
This classwork will be graded with scores in Brightspace by 5pm the day it is due (May 10th).