The purpose of this assignment is to help you set up your computational environment so you can complete and submit subsequent homework and project assignments.
- Unix: These instructions will assume that you have access to a
Unix
-friendly computational environment (MacOS, Ubuntu, Redhat, etc.). I will not provide support for non-unix operating systems in this class. If you would prefer to use a non-Unix operating system (e.g. Windows), I suggest you install a virtual machine to obtain access to a emulated Unix environment, consider using a virtual desktop, or find a way to perform the instructions below within your operating system of choice. - Python: I assume that you have
Python3
installed on your machine and have basic familiarity with the langugage, including thepip
package manager. - Git: I assumethat you have basic familiarity with
Git
; specifically:clone
,add
,pull
,commit
andpush
. - Markdown: I assume basic familiarity with
Markdown
.
- Navigate to the course's Youtube Channel
- Click the red Subscribe button on the top right of the page. This should keep you informed when new lecture materials are posted.
- Go to the playlists section, and note that there is a playlist for Lecture 1. Future playlists for other lectures will be uploaded to the channel as the semester continues.
- Navigate to MSU's Gitlab
- Sign into Gitlab using your MSU
netID
and password. - If you are unable to sign into MSU's Gitlab, please email
ithelp@msu.edu
requesting Gitlab access and and be sure to CC me (ghassem3@msu.edu
).
- Navigate to the Course Gitlab Page
- On the page, you should see two project rows: (1)
Course Materials
and (2) a project with the same name as younetID
. TheCourse Materials
project is where I will store the materials and assignments for the class. The project with the same name as yournetID
is where you will upload your personal assigments for the class. - Please make sure that you can access both projects by clicking them. Note that the project with your
netID
should be currently empty.
- Navigate to the Course Materials Repository
- Note that the repository contains 5 directories and a README.md file, which is displayed automatically on the page.
- The directories contain raw files for the course: the
homework
directory contains instructions for Homework assignments, theproject
directory contains instructions for the project, and so on. You don't need to investigate these directories unless you want to. I'll provide links to pertinent materials through the course calendar seen in theREADME.md
, as content is uploaded.
- Clone a copy of the course materials to your local machine by running the following command from the Unix terminal:
git clone https://gitlab.msu.edu/cse842-fall-2020/course-materials.git
- Clone a copy of your personal class directory to your local machine by running the following command from the Unix terminal:
git clone https://gitlab.msu.edu/cse842-fall-2020/<YOUR-NET-ID>.git
- Note that the above command assumes you will swap out
<YOUR-NET-ID>
for your actualnetID
value.
- From the command line, copy the
setup.sh
utility to your personal course repository:cp course-materials/utilities/setup.sh <YOUR-NET-ID>/.
- From the command line, change
setup.sh
script permissions :cd <YOUR-NET-ID>
chmod 755 setup.sh
- Run the setup script:
./setup.sh
- Ensure that the script created the following directories:
Project/
,Homework
, andFinalReport
. - within your personal course directory, navigate to the submission directory for Homework 0:
cd Homework/HW0/
- Ensure that the directory contains a
materials/
subdirectory and an empty file for python library requirementsrequirements.txt
. As implied by the name andrequirements.txt
is where you document allPython
libraries required to run your code, andmaterials/
is where you will add supporting scripts, data, and so on that supplement your homework submissions.
- You will be using
jupyterlab
to create your homework and project submissions. To prevent conflicts with any local installations, we will be installing Jupyterlab within a virtual environment (thesetup.sh
script above should have taken care of installing the virtualenvironment package). - To begin, add
jupyterlab
to yourrequirements.txt
file: - Create, activate and install
requirements.txt
in your virtual environment using the following command:virtualenv venv; source venv/bin/activate; pip install -r requirements.txt
- Open the Jupyterlab application using the following command:
jupyter-lab
- Now open your web browser, and visit
http://localhost:8888/lab
. You should see an iPython notebook environment. - Under the Notebook pane of the interface, click Python3. This should create and open a new iPython notebook instance called
Untitled.ipynb
. - Rename your new notebook instance to
submission.ipynb
- From within
submission.ipynb
, create a new Markdown cell and inlcude (1) the name of the assignment, and (2) your full name. - From within
submission.ipynb
, create a Python code cell and include the following lines:sentence = 'I just completed Homework 0!'; sentence.split()
- Be sure to run all cells and save your notebook.
- To submit the assignment, navigate to the main directory of your assignment on the command line and run the following command
git add .; git commit -m 'submitting Homework 0'; git push
- You have now submitted Homework 0.
- Check your submission online:
https://gitlab.msu.edu/cse842-fall-2020/<YOUR-NET-ID>/-/blob/master/Homework/HW0/submission.ipynb
- General announcements in this course, along with Q&A will be performed through Gitlab's Issue's fucntionality. To begin, you will practice how to respond to Gitlab issues.
- From the Course Materials Page, Click the Issues option on the left-side panel.
- Notice that there is one open issue called
Homework 0: Introduce yourself
. - Click the open issue and respond to the instructions provided in the issue. Please do not close the issue.
- From the Issues Page, create a new issue by clicking the green button in the top-right corner.
- Provide a Title and Description (choosing a template, if relevant). Be sure to include an appropriate value for the labels
Labels
field. - Edit your issue by clicking the pen icon to the right of the issue's title.
- Delete your issue by clicking the red delete button.