This project is intended for you to become familiar with the infrastructure for this course and the rest of the projects for this course. In Project 1, you will walk through the following instructions, use GitLab to access starter code, complete a worksheet, and then practice submitting your work. After these steps, you will have completed Project 1.
If you become unsure of how to proceed at any point in this project and all future projects, please post on the Ed discussion board or email the course staff for clarification.
Navigate to the Project 1 assignment on Canvas. Download the document template
titled Project 1.docx
. Open the document, read the instructions for each part of the project listed on
the first page, and estimate the amount of time you think it will take you to complete this project. Then,
complete parts I, II, and III of the project.
Complete the course resources part of the worksheet that you downloaded earlier. This activity is intended to help you get organized for the quarter ahead by compiling class times and resources for your courses.
This project is written from the perspective of a command-line interface (used interchangeably with the word "shell"). If you aren't sure how to open a command-line interface on your computer, UW's eScience Institute has a tutorial on this page that will help familiarize yourself with the command-line interface. If you use this link, skip the "Download Files" and "Install Software" sections, as they are not relevant for this course. Only the "How to open a new shell" section near the bottom is relevant for us. Once you have a shell open, you can move onto the next steps.
This project will require you to use a tool called git
, a tool that manages changes to files and
handles syncing them with a server (GitLab). If you're already
familiar with git, you can skip to the next section.
Here is some terminology for using git
: A repository is a single directory (including its
subdirectories)
that git
can keep track of. One version is stored on the server (sometimes called the remote
or origin)
and you use the git program, installed on your computer, to create a local copy (clone) of that repository.
The real power of git is that it tracks changes to files, where a commit is a set of those
changes.
You can use git
as a command-line tool (which are outlined in these instructions), or as a GUI
application. Before continuing, ensure git
is installed on the computer where you intend to complete
projects for this class by following the instructions at this link.
You should be able to complete the project series on any computer operating system, whether that's Windows, MacOS,
or Linux. If you are using Windows, use the “Git Bash” application you just installed to run the
commands below.
cse390b-24wi-students/cse390b-24wi-[CSE NetID]
) created for you already. If not, please contact
your instructor as soon as possible so that we can create one for you.SSH stands for "Secure Shell." SSH keys serve as an access credential to connect to a server. This will allow you to access your GitLab repository without having to authenticate (i.e., type your password) every time you connect to your GitLab repository. This allows you to speed up your workflow.
cat ~/.ssh/id_rsa.pub
.ssh-keygen -t rsa -C "[CSE NetID]@cs.washington.edu"
(include the quotes).cat ~/.ssh/id_rsa.pub
.ssh-
and ending with your username and host).From the command-line, execute the following commands:
cd [Preferred local directory to store your repository]
cd /Users/ericfan/Documents/
git clone [Clone with SSH URL]
cd cse390b-24wi-[CSE NetID]
Read the README.md
file located in the root of your repository to learn more about Project 1.
/cse390b-24wi-[CSE NetID]/projects/p1/
.about_me.txt
.Now, from the command-line, execute the following commands:
git status
modified: about_me.txt
git add about_me.txt
git status
, you should see the message:
Changes to be committed:
with your modified about_me.txt
file: modified: about_me.txt
git commit -m "Update about_me.txt"
git add
on) with the provided message.git push
git push -u origin master
on the first commit (only).Make commits often! They allow you to make checkpoints in your projects that you can always revisit.
Whenever you submit a project in this course, you’ll “tag” the last commit so the course staff knows what version of your code you would like us to grade. The following instructions are for Project 1 but can be adapted for every project:
git tag project-1
git push --tags
git push
command publishes tags to the GitLab server
(viewable in the web interface).about_me.txt
file that you edited earlier). You can do so by following these steps:
about_me.txt
).Project 1.docx
, record an estimation of how long you
think the project will take (this step should be completed after reading through the instructions of each project),
how long the project actually took, and a short, written reflection on the project went for you.
Make sure you have submitted your about_me.txt
file on GitLab by following the instructions in the heading above titled "Submitting Part II." Then, save your Project 1.docx
document as a PDF and submit the document to the assignment titled "Project 1: Course Resources & GitLab Setup" on Gradescope. Project 1 will be considered completed once you have followed these steps.
If you feel like getting ahead, you may look into setting up a text editor for this course by perusing this resource. A text editor will be handy in Project 2 and onward.