## Electronic Submissions

Chambers' sections:

1. Go to https://submit.cs.usna.edu
4. Run submit -c=si204 -p=project-name files

Taylor's section:

1. If on your virtual machine, ssh into a lab machine with the command ssh -X mich302csd01u.academy.usna.edu
2. Change directories so if you type ls, you see the directory you are trying to submit.
3. Run submit - it will list the names of projects you are allowed to submit. If your folder doesn't exactly match one of those, change it so it does.
4. Run submit <foldername>, where <foldername> is, well, the name of the folder you're trying to submit.
5. If it says Submission successful, it worked. Otherwise, something was wrong.

## So your VM isn't working

csunixmount isn't working

• Case 1: You have files within ~/csunix, meaning the script can't put your linux drive directory there. The solution here is to move all files out of the folder and run csunixmount again.
• Case 2: The cause is no route to host. Likely, you're not connected to WIFI. Do that.
• Case 3: You paused the VM without running csunixunmount. Run that, and then re-run csunixmount again.

vmware player can't open the image

• Case 1: vmware player sometimes puts a lock on some files. Reset them by restarting your computer.
• Case 2: Redownload and install the VM from LCDR Kenney's page like you did in the beginning of the course. If you've been putting all your files in ~/csunix, nothing will be lost.

Turn in a printout of the source code for your program (which should have your name and alpha in a comment at the top), a screen capture of the window showing your program running with the example input, and a printout of the pdf linked to above with name, alpha, help-info filled in. These should be stapled together.

A note about using the Internet to complete homeworks: You may be tempted to google how to solve various assignments, and will likely find solutions that use lots of tools that you don't know yet. Please don't go on a solution-finding hunt, and don't use anything we haven't learned yet, because the point of the assignment is to complete it using the skills you currently have based on the lessons so far. The purpose of this homework is for you exercise those skills and not the skill of googling for solutions that have not been covered in class.

Googling basic syntax/C++ questions is fine, just don't go looking for answers.

## How to turn in Homework

Since this is your first time turning in code, here are some instructions for how we want this done. The whole point of the procedure described below is that it produces nice, colorized printouts that use as little paper as possible, even when there are many .cpp files of very long .cpp files.

1. make sure you are in the same directory as the .cpp file(s) you want to print
2. give the command codeprint followed by the names of the .cpp (or .h) files you want to print. For example, if I have files foo.cpp and bar.cpp I would give the command
codeprint foo.cpp bar.cpp
3. The above command produces a file called out.pdf which you can then print out in whatever way works best for you. I recommend you click on the folder icon along the right-hand side of your VM's desktop, navigate to the right directory, and drag out.pdf of the VM desktop and onto your Windows desktop.

When taking a screenshot of your terminal, use Shift+PrintScreen. This will allow you to select the portion of your screen to appear in the image. Shift+PrintScreen does the screencapture within the VM. This means that the resulting .png file (which you name yourself) should be dragged outof the VM desktop and onto the Windows desktop to print.

## VM Resources

• Getting VMPlayer and creating your VM
LCDR Kenny's software page has the .iso files and instructions you need in order to create the Virtual Machine (VM) we want you to use when you're working from your laptop. (see LiveCDs, SI204)
In a terminal window of your virtual machine, give the command csunixmount. This creates a directory named csunix in your home directory on the VM, and mounts your CS Department Unix home directory there. I.e. ~/csunix on the VM is the same as ~/ on your CS Department Unix account. In case you need to un-mount your CS Department Unix home directory, the command is csunixunmount .