Using chisubmit
This course uses chisubmit
(pronounced "kai-submit," as in the Greek letter χ) to collect homeworks and projects and to
distribute the support code you will need to do the projects.
chisubmit combines the chisubmit tool,
developed at UChicago, for handing assignments, the Git distributed version control
system for handling your code and other work, and the UChicago GitLab server
for hosting your files. There are Git tutorials online, including here,
here, and here.
Note: chisubmit is relatively new, and this is the first time we're using it for this class. As a result,
you might encounter some issues using it, and the instructions below might need some tweaking. Please bear with us,
and if you have any questions, please post on Piazza.
Instructions
Here are general instructions for setting up
and using chisubmit.
Using chisubmit is a two part process:
- Registering for each assignment so that you can begin working on it, submitting assignments, and
managing group projects (Projects 4 and 5) is done using the
chisubmit
tool. The
chisubmit
tool is only installed on CS department machines and must be run there.
(Installing chisubmit
on your own machine is a painful, multi-step processs
and is currently unsupported.)
- Actually working with code and other files is handled using Git and can be done on your own machine.
You can use Git to pull the assignment templates and support code from the UCHicago GitLab server
into your own local repository. Then, you can edit the files and commit revisions. Finally, you can use
Git to push local commits to your GitLab repository. Note: Pushing your commits to the GitLab server
does not submit an assignment. You must explicitly submit it using the
chisubmit
tool.
Further clarifications to the chisubmit instructions:
- chisubmit supports both individual Git repositories and shared repositories for group assignments.
In the instructions, both of these types of repositories are confusingly referred to as "teams."
- Your individual repository, which you'll use for all assignments except for Projects 4 and 5, is
hosted on the UChicago GitLab server rather than on GitHub, and so please follow the directions for
GitLab rather than GitHub.
- You can view the contents of your repository on the GitLab server in a web browser at:
https://mit.cs.uchicago.edu/cmsc23200-aut-17/[your CNetID here]
Please make sure this URL is accessible. If it's not, please contact a member of the course staff.
- The URL that you point Git at to pull and push to your repository over HTTPS (called
GIT_URL
in
the instructions) is:
https://mit.cs.uchicago.edu/cmsc23200-aut-17/[your CNetID here].git
Note: If you've optionally enabled two-factor authentication on the GitLab server (we'll learn what that is and why it's
a good thing in this course!), you'll need to access your repository over SSH instead of over HTTPS. See
https://mit.cs.uchicago.edu/profile/keys
for details on how to set that up.
- The instructions refer to an "upstream repository" which will contain the files, such as submission templates
and support code, that you'll need to get started on each assignment. The URL for the upstream repository
(called
UPSTREAM_URL
in the instructions) is:
https://mit.cs.uchicago.edu/cmsc23200-aut-17/cmsc23200-aut-17.git