• Homework Submission Guide
Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 9 Next »

 

Comp 311 Homework Submission Guide

We will use Rice's Subversion (SVN) repositories for all homework submissions in this course.

All students (regardless of enrollment in Comp311 vs Comp544) will submit their homework to the same repository using the course name comp311 URL.

While Rice provides a simplified turnin command on its Clear cluster for accessing the repository, it is restricted to shells running on CLEAR machines.  For this reason, we strongly recommend that  regular SVN commands to submit assignments from your personal machines so you will need to learn how to use an SVN client to directly interact with the repository. If you prefer using Git, you can also try using the Subversion client built into Git (git svn).

The turnin program is a script that uses Subversion to enable student homework submissions. It is available only in the Clear cluster.

Option A: Using SVN commands for direct repository access from personal machines

Submitting your Homework from your Linux or Mac machine (Using SVN commands)

  1.  One time setup on your machine

    1. Make a new empty directory comp311 in your home directory and switch to that directory:
      mkdir comp311 
      cd comp311

    2. Use Subversion to check out your submission directory:
      svn checkout https://svn.rice.edu/r/comp311/turnin/«current-semester»/«your-net-id»
      E.g., for Fall 2017 and the NetID  "xyz99":
      https://svn.rice.edu/r/comp311/turnin/F17/xyz99


  2. To check the status of your current directory, run :
    svn status 
    This should show all your files that are added(A) / not added(?) / deleted(D) / modified (M) to the Subversion repository.

  3. To add folders/ files, use : 
    svn add «file_name» (without angle brackets)
    svn add «folder_name» (without angle brackets) – recursively adds all files in it
    This should show all files/ folders that have been added to the Repository (this is still a local copy)
    1. To delete folders/ files, use : 
      svn del «file_name» (without angle brackets)
      svn del «folder_name» (without angle brackets) – recursively adds all files in it
      This should show all files/ folders that have been deleted to the Repository (this is still a local copy)

  4. To commit your files, use: 
    svn ci -m "Some relevant message here"
    This should show all the files that have been added/ modified/ deleted ... followed by
    -- Transmitting file data.
    -- Committed revision «rev. no»

  5. And you have successfully added your folder/ files to the SVN repository. Visit repo on the browser to confirm that all the file structure is intact.

Submitting your homework from your Windows machine

If you are using Windows 10, the course sttaff recommends that you either:

  1. Set up the Windows Subsystem for Linux (WSL) and then follow the steps above for using the SVN command on Linux, or 
  2. Use a standalone visual SVN client like TortoiseSVN, which augments the menus embedded Windows File Explorer with SVN commands.  

I am following the second approach which is working well.  I highly recommend it.  I also have WSL installed on my Windows 10 laptop but I strongly prefer running the native Windows 10 edition of Racket on my machine than the Linux edition of Racket inside WSL.  If you install WSL, there are two choices:

  • WSL 1.0, the original version which embeds the Linux file system inside the Windows 10 file system and implements the Linux kernel as a Windows 10 application built on top of Windows services.  
  • WSL 2.0, a new implementation based on OS virtualization (as done by VMWare and VirtualBox).  

In my experience, WSL 2.0 works better than WSL 1.0.  Both are available for download from Microsoft (who developed them) and there are detailed instructions on the web on how to install either system.  Regardless of whether you choose WSL 1.0 or WSL 2.0, you can select the particular variety of Linux that you want to install.  I strongly recommend installing the latest version of the long-term release of Ubuntu (20.04).  I have WSL 2.0 Unbuntu 20.04 installed on my laptop.  The principal problem with WSL 1.0 is that the final name space in Windows is much more restrictive that it is in Linux and many apps that you try to install on WSL 1.0 blow up because they use illegal fie names.  The principal hassle with both WSL 1.0 and 2.0 is that GUI applications are painful to set up because they require some control over the windowing system on Windows 10.  The hack that I use (again consult the web for various ways to solve the GUI issue)  requires eliminating firewall protection for the base Windows 10 system, which I dislike.  In contrast, the conventional command line interface simply relies on Windows 10 terminal applications for program interaction, so security on your laptop is not compromised.  Microsoft is feverishly working on providing better support for GUI applications in WSL 2.0 so I expect a much better solution to this problem within a year.  For now, WSL 2.0 is an interesting curiosity and works well for Linux apps without a GUI interface, but how many modern apps do not have a GUI?

Note: in the latter part of the course when programming in Java, you may want to use SVN integration supported by your IDE if it is available.  DrJava does not support IDE integration, but IntelliJ IDEA and Eclipse do.

Option B: Using the turnin command on CLEAR

One time Setup in Clear

  1. Login to CLEAR:
    ssh <your netid>@ssh.clear.rice.edu
    <your password>

  2. Make a new empty directory comp311 in your home directory and switch to that directory:
    mkdir comp311 
    cd comp311
     
  3. Use Subversion to check out your submission directory:
    svn checkout https://svn.rice.edu/r/comp311/turnin/«current-semester»/«your-net-id»
    E.g., for Fall 2017 and the NetID  "xyz99":
    https://svn.rice.edu/r/comp311/turnin/F17/xyz99


  4. You might be asked if you wish to store your password unencrypted. Always say no when asked this.
  5. Now you should have a folder named «your netid» in the comp311 directory you created.

Submitting your Homework from the Clear Network

  1. Make sure you are in your turnin directory.
    cd ~/comp311/<your netid>
     
  2. To check the status of your current directory, run :
    svn status 
    This should show all your files that are added(A) / not added(?) / deleted(D) / modified (M) to the Subversion repository.

  3. To add folders/ files, use : 
    svn add «file_name» (without angle brackets)
    svn add «folder_name» (without angle brackets) – recursively adds all files in it
    This should show all files/ folders that have been added to the Repository (this is still a local copy)

    1. To delete folders/ files, use : 
      svn del «file_name» (without angle brackets)
      svn del «folder_name» (without angle brackets) – recursively adds all files in it
      This should show all files/ folders that have been deleted to the Repository (this is still a local copy)

  4. To commit your files, use: 
    svn ci -m "Some relevant message here"
    This should show all the files that have been added/ modified/ deleted ... followed by
    -- Transmitting file data.
    -- Committed revision «rev. no»

  5. And you have successfully added your folder/ files to the SVN repository. Visit repo on the browser to confirm that all the file structure is intact.

Submitting your Homework from Your Own Unix Machine (Including Linux and Mac OS)

  1. Go to the folder on your machine that contains all (and only) the files you are submitting for your homework.
    cd <your local homework directory> 
     
  2. Zip the files you want to submit. Here ’n’ refers to the homework number.
    zip -r hw_n.zip *

  3. Use sftp to copy the zip file to Clear.
    sftp <your-netid>@ssh.clear.rice.edu
    <your-password>
     
  4. You should have the sftp prompt sftp> now. Go to to your comp311/netID directory.
    cd comp311/netID/
     
  5. Create a new folder with the name hw_n for this homework number n
    mkdir  hw_n
     
  6. Now move your zip file to this directory:
    cd hw_n
    put hw_n.zip
    The sftp app should indicate that your zip file has been copied to the folder hw_n.
  7. Log in to your Clear account.
    ssh <your-netid>@ssh.clear.rice.edu
    <your-password>
     
  8. Go the folder hw_n
    cd hw_n
     
  9. Unzip the file
    unzip hw_n.zip
     
  10. Delete the zip file
    rm hw_n.zip

  11. Follow the instructions for Submitting Your Homework from the Clear Network

Submitting Your Homework from Your Own Windows Machine

NOTE: These instructions were written for an older SSH/SFTP client that is no longer available. However, the same general instructions should apply to the newer client we recommend here. We'll update these instructions soon.

  1. Click this link to download secure SSH and SFTP clients to your computer: Bitvise SSH Client

  2. You will be asked to log in. Just use your Net ID and password as you would when logging into Owlspace. 

  3. Your browser should start downloading an installer file. Once it is downloaded, run it. You’ll be asked a series of configuration questions.

  4. The software will install itself and present you with a window indicating that setup is complete. Click Finish

  5. Now we have the software necessary to transfer files between your laptop and Clear. Go to your Start menu and under the new folder titled SSH Secure Shell, select the application Secure File Transfer Client

  6. A window will pop up. This is a client for transferring files from your computer using the Secure File Transfer Protocol (FTP). In the upper left hand corner of the window, there is a Quick Connect button. Select that. Next to Host Name type ssh.clear.rice.edu. Next to User Name type your Net ID. Hit Connect. You will be presented with a Host Identification window. Just click Yes

  7. Click OK when the Rice University Network prompt comes up. Enter the password you use for logging in to Owlspace at the next prompt. 

  8. It may take a few seconds, but the right hand side of the window should now show the files you have on Clear. To copy your homework to Clear, just navigate to where the files are on your computer in the left hand side of the window, and then click and drag them to the right. An entry will appear in the list at the bottom of the screen showing how much time is left in the transfer. 

  9. Congratulations! Your file is now on Clear. Use the Secure Shell Client that you downloaded with the Secure File Transfer Client (found in your Start menu under SSH Secure Shell) to connect to Clear.

  10. Follow the instructions for submitting from the Clear network.

Submitting Your Homework from a Windows Machine at Rice

 If you are submitting homework from one of Rice’s Windows machines, such as those in the library or college computer labs,

  1. Save the document to your U:\ drive and see it on Clear. 
  2. Put all of the files for your nth homework assignment in a subdirectory of your comp311 folder named hw_n.
  3. Follow the instructions for submitting from the Clear network.

 Submitting your Homework from the Clear Network (Using Turnin)

  1. Make sure you are in your turnin directory.
    cd ~/comp311/<your netid>
     
  2. All of your files for your nth homework assignment should be in a subdirectory named hw_nSubmit the folder hw_n
    turnin comp311:hw_n
    This should show all your files being added to the Subversion repository.
  • No labels