README.md 3.57 KB
Newer Older
1 2
# Submitting Homework Assignments
This document describes the basic procedure for completing and submitting homework assignments. 
3

Sanjay Krishnan committed
4 5
Due Date: *Friday April 10, 2020 11:59 pm*

6 7 8
## Initial Setup
All of the coding exercises in this class with use Python3 (NOT Python 2!!!). Python 3 is installed on all of the CSIL machines and you can install it on your own computer by downloading it here:
[https://www.python.org/download/releases/3.0/]
9

10 11 12 13 14 15 16 17 18 19 20 21
On your personal computer, you probably navigate your hard drive by double clicking on icons. While convenient for simple tasks, this approach is limited. For example, imagine that you want to delete all of the music files over 5 MB that you haven't listened to in over a year. This task is very hard to do with the standard double-click interface but is relatively simple using the terminal. All of the instructions in this class will assume access to a terminal interface whether windows, linux, or macos. It is your responsibility to get familiar with using your available terminal. 

There is a great tutorial linked here on accessing the Python interpreter from your command line:
[http://www.cs.bu.edu/courses/cs108/guides/runpython.html]

## Git
The purpose of Git is to manage a project, or a set of files, as they change over time. Git stores this information in a data structure called a repository. A git repository contains, among other things, the following: A set of commit objects. A set of references to commit objects, called heads. 

Git is installed on all of the CSIL computers, and to install git on your machine follow the instructions here:
[https://git-scm.com/book/en/v2/Getting-Started-Installing-Git]

Every student in the class has a git repository (a place where you can store completed assignments). This git repository can be accessed from:
22
[https://mit.cs.uchicago.edu/cmsc13600-spr-20/<your cnetid>.git]
23

24
The first thing to do is to open your terminal application, and ``clone`` this repository (NOTE skr is ME, replace it with your CNET id!!!):
25
```
26
$ git clone https://mit.cs.uchicago.edu/cmsc13600-spr-20/skr.git cmsc13600-submit
27
```
28
Your username and id is your CNET id and CNET password. This will create a new folder that is empty titled cmsc13600-submit. There is similarly a course repository where all of the homework materials will stored. Youshould clone this repository as well:
29
```
30
$ git clone https://mit.cs.uchicago.edu/skr/cmsc13600-public.git cmsc13600-materials 
31
```
32
This will create a new folder titled cmsc13600-materials. This folder will contain your homework assignments. Before you start an assingment you should sync your cloned repository with the online one:
33
```
34
$ cd cmsc13600-materials
35 36
$ git pull
```
37 38
Then, we will tell you which of the pulled materials to copy over to your repository (cmsc13600-submit). Typically, they will be self-contained in a single folder with an obvious title (like hw0). 

39
Try this out on your own! Copy the folder ``hw0`` to your newly cloned submission repository. Enter that repository from the command line and enter the copied ``hw0`` folder. There should be a single file in the folder called ``README.md``. Once you copy over files to your submission repository, you can work on them all you want. Once you are done, you need to add ALL OF THE FILES YOU WISH TO SUBMIT:
40
```
41
$ git add README.md 
42
```
43
After adding your files, to submit your code you must run:
44
```
45
$ git commit -m"My submission"
46 47
$ git push
```
48
We will NOT grade any code that is not added, committed, and pushed to your submission repository. You can confirm your submission by visiting the web interface[https://mit.cs.uchicago.edu/cmsc13600-spr-19/skr]