# assignments_template **Repository Path**: MAR-ZLW/assignments_template ## Basic Information - **Project Name**: assignments_template - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2019-11-24 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Assignments for COS 418 ### Environment Setup Teaching support is only provided for work done using the cycles or courselab servers. The tests are known to work under Go 1.9. Thus later version 1 releases should also work. Learn more about semantic versioning [here](https://semver.org/). Please follow these instructions for requesting access to the servers if you have not already done so. ### Tools
There are many commonly used tools in the Go ecosystem. The three most useful starting out are: Go fmt and Go vet, which are built-ins, and Golint, which is similar to the splint tool you used in COS217.
### EditorsFor those of you in touch with your systems side (this is Distributed Systems, after all), there are quite a few resources for Go development in both emacs (additional information available here) and vim (additional resources here).
As many Princeton COS students have become attached to Sublime, here are the two indispensible Sublime packages for Go development: GoSublime and Sublime-Build. And -- learning from the ancient emacs-vi holy war -- it would be inviting trouble to offer Sublime information without likewise dispensing the must-have Atom plugin: Go-Plus (walkthrough and additional info here).
### Coding StyleAll of the code you turn in for this course should have good style. Make sure that your code has proper indentation, descriptive comments, and a comment header at the beginning of each file, which includes your name, userid, and a description of the file.
It is recommended to use the standard tools gofmt and go vet. You can also use the Go Checkstyle tool for advice on how to improve your code's style. It would also be advisable to produce code that complies with Golint where possible.
Please read this Git Tutorial.
The basic git workflow in the shell (assuming you already have a repo set up):
All programming assignments, require Git for submission.
We are using Github for distributing and collecting your assignments. At the time of seeing this, you should have already joined the COS418F19 organization on Github and forked your private repository. Your Github page should have a link. Normally, you only need to clone the repository once, and you will have everything you need for all the assignments in this class.
```bash
$ git clone https://github.com/COS418F19/assignments-myusername.git 418
$ cd 418
$ ls
assignment1-1 assignment1-2 assignment1-3 assignment2 assignment3 assignment4 assignment5 README.md setup.md
$
```
Now, you have everything you need for doing all assignments, i.e., instructions and starter code. Git allows you to keep track of the changes you make to the code. For example, if you want to checkpoint your progress, you can