CS4102 - Information about Gradescope and Submitting Assignments

Back to Homeworks

Back to Main Page


For this course, we will be using Gradescope, a platform for submitting programming assignments, grading paper-based exams, and other similar things. You should have an account on Gradescope, linked to your UVa email address. This page summarizes notes related to getting your code submitted correctly on Gradescope.

Programming Assignments

Your assignments can be completed in one of three programming languages: Java, C++, or Python. When you submit your code, you MUST submit the following:

Once your code is uploaded, the autograder will do the following things:

SMALL NOTE: You can test your make file by using a unix terminal and running the following commands:

# compile the code

# run the code
# cat sampleInput.in just outputs the contents of the input file you want to test
# make run takes that input and runs your code on it (as if you are typing it in yourself)
# tail -n +2 removes the first line of output from your code (because it will always be the command that executed, not the real output of the program)
# > outputFile.out writes the output of your solution to a file called yourOutputFile.out
cat sampleInput.in | make run | tail -n +2 > yourOutputFile.out

# test if your program worked correctly. Compares your output file to expected one. -w means ignore differences in whitespace.
# If your program worked, you will see no output at all from this command.
diff -w yourOutputFile.out sampleOutput.out

Meaning of Gradescope Scores

Graded assignments in Gradescope will have a numeric score which will map onto one of the two levels of homework grade possible in our course: Incomplete and Pass.

Example Makefiles

Below are example makefiles for each language. You should look at these and make slight tweaks if necessary. The comments in the Makefile will give you some information about this.