We will use gradescope for submitting projects. Select to login within your "School Credentials":
and then select William and Mary from the list of available schools:
You will submit your project on gradescope as a zip file. Your project must include a Makefile that builds the appropriate executable file(s) for a given project.
Let's say that your performing development in a directory called p1, which contains two files: Makefile and foo.c. To create the zip file, enter the command:
cd p1
ls
(out) Makefile foo.c
zip -r foo.zip Makefile foo.c
ls
(out) foo.zip Makefile sgrep.c
Or, if you simply want to include all files in the p1 directory, you can replace the above zip command with:
cd p1
zip -r foo.zip *
The name of the zip file does not matter (we used the name foo.zip, but p1.zip, or submission.zip are also perfectly fine). The important thing is to zip the contents of the p1 directory, and not include the directory itself as part of the zip file.
Let's say that the project contains two bonuses: bonus 1 and bonus 2. To indicate that bonus #N should be graded, include an empty file called bonusN in the top-level of your zip file.
For instance, if you implement both bonuses, enter:
cd p1
touch bonus1 bonus2
ls
(out) Makefile foo.c bonus1 bonus2
zip -r foo.zip Makefile foo.c bonus1 bonus2
If you only implemented bonus2, then instead enter:
cd p1
touch bonus2
ls
(out) Makefile foo.c bonus2
zip -r foo.zip Makefile foo.c bonus2
If you develop your projects on the CS lab machines, to copy your zip file off of the lab machine to your laptop, enter the following command on your laptop,
scp -J USER@bastion.wm.edu USER@th121-5.cs.wm.edu:PATH_TO_ZIP/submission.zip .
substituting your user name for USER and the directory path to your zip file for PATH_TO_ZIP. Additionally, any of the th121-NUM machines will work.
If you instead want to transfer a file, say foo.c, from you laptop to the lab machines, enter:
scp -J USER@bastion.wm.edu foo.c USER@th121-5.cs.wm.edu:DST_DIRECTORY
If you are on campus, you can remove the -J USER@bastion.wm.edu parts of these commands.