Distributed Systems

ECE419, Winter 2025
University of Toronto
Instructor: Ashvin Goel

Distributed Systems
HomeLecturesLabsPiazzaQuercus
Lab MachinesLab SetupLab SubmissionLab 1Lab 2Lab 3Lab 4

Lab Submission

Compile and run your code on the UG machines before final submission.

Simply push your code using git push to submit it to your GitHub repository. You can commit your code and push it as many times as you like. We will use the version that you last pushed before the submission deadline to grade your code. We will not use your commit times (or file access times) as proof of submission.

We will be downloading your code exactly at midnight of the submission deadline, so even a minute late is late.

We will create a branch called labNR-grading (e.g., lab1-grading, lab2-grading, etc.) with the results of the grading and push it to your repository. Our branch will overwrite any existing branch with the same name. After we post the grades you can check your results by checking out this branch. Then make sure to checkout the main branch to continue development for later labs.

Checking lab submission

We have provided you a tool for checking whether the files that we have asked you to modify will build correctly using the rest of the starter code. Please use this tool as follows:

ece419-build <UTORid> labNR

The labNR can be lab1, lab2, etc. The expected output from this tool will look similar to the output shown below:

lab1: checking out code before Jan 27 2025 00:00:00 in ./build directory
lab1: checking out lab1/nim-client.go
<UTORid>: getting revision fdac240 from Fri Jan 18 09:46:33 2025 -0500
lab1: build successful
lab1: now make sure to test your code in the ./build/<UTORid> directory

You can use the commit hash (fdac240) and date shown in the output (Fri Jan 18 09:46:33 2025 -0500) above to confirm that the correct revision is used for grading.

If you are submitting late or have a petition, then use the following command to specify the git commit hash.

ece419-build -c commit-hash <UTORid> labNR

The build tool only ensures that your code compiles correctly. It does not check whether your code runs correctly. However, the tool creates all of its output in a temporary ./build dir. You should test your code in that directory, as per the testing instructions for each lab, to make sure that your code works with our grader setup. For example, for Lab 2, you should run:

cd ./build/<UTORid>
ece419-lab2-check

After that, you can remove the build directory.

Note that the build tool downloads your files from your GitHub repo. Make sure to push your changes before running the script, as described above. We will be using a similar script for building your code during grading.

Late submissions

If you plan to submit late, please create a private Piazza post that is visible to all the instructors.

Please name this post: "LabNR - Late Submission".

Please specify you name, UTORid, and the git commit hash to be marked. The git commit hash typically consists of 7 hex characters that you can find on your GitHub commit page:

https://github.com/compeng-gg/2025-winter-ece419-<UTORid>/commit/main

Please make sure to check your submission, as described above.

We will decide the late penalty based on the timestamp of the latest edit to your private Piazza post, not the timestamp of the git commit hash. Please avoid editing your Piazza post after creating it, so be sure to submit the correct information in your post.

You should also create a separate follow up message below your private Piazza post with concrete steps detailing how you will submit on time for future assignments. This should be done separately from the main post so that you have time to actually reflect and it doesn't delay your submission.

If you are curious, we do not use the timestamp of the git commit because it is modifiable and so we cannot rely on it. We require a Piazza post that has a (hopefully) unmodifiable timestamp so we can use it to determine the late penalty.

Petitions

If you are submitting late but have filed a term-work petition, please create a private Piazza post that is visible to all the instructors.

Please name your post: "LabNR - Petitioned Submission".

Please also include your new due date in the post as per the petition that you have submitted to the department.

After your petition is approved by the department, please create a follow up message to your post with the information mentioned (e.g., commit hash) for late submissions.

Please make sure to check your submission, as described above.

We will not penalize your submission and you do not need to create a follow up message regarding submitting future labs in time.

Regrade policy

If you want a regrade, please post a private message on Piazza no more than 3 days after your lab grade is made available.

Please name this post: "LabNR - Regrade Request".

Please specify your name, UTORid and your reason for a remark (be specific and brief).

You may also provide us a git commit hash if we didn't mark the latest commit on your main branch before the lab deadline.

Note that we will not be downloading your code again. Your commit must be visible on the copy of your repository that we downloaded at submission time. Also, if you request that we mark an alternate commit that was not the latest commit on the main branch as of the deadline, we will not accept the regrade request.

Please note that the regrade mark is final. If your regraded lab mark is lower, you will be assigned this lower mark.