• Homework Self Checking

    What is homework self checking?

    • most assignments will be graded using a computer program
    • we have made this computer program available to the students so they can check their work before submitting it

    Why use the homework self checking tool?

    • so you can know if you are on the right track while doing your homework assignments
    • a side note:
      • what you are essentially doing is test driven development (TDD) (yes, there are programs that test programs)
      • you are writing programs that fulfills certain requirements (or tests)
      • typically with TDD, you will be writing the tests and the programs, whereas, in our case, the graders have written the tests for your programs to be built against
      • TDD is an industry best practice
      • there are other flavors/extensions of TDD such as behavior driven development (BDD)

    How to use the homework self checking tool?

    • syntax: ruby ~/ee160_scripts/grade check ASSIGNMENT UH_USERNAME
    • example: ruby ~/ee160_scripts/grade check 02_1 zhaol
    • the homework self checking tool will print out a report (e.g. zhaol_02_1.report to show you your rough score as well as which criterion was not satisfied
    • you can modify your assignment and rerun the self checking program as many times as you want or need
    • ensure you are running the above command in the directory with your assignment files
        for example, if checking homework assignment 02_1:
      • please make sure you are in the correct folder
        • when you issue pwd, you should get
          /home/ubuntu/workspace/ee160/homeworks/02_1
          
      • please make sure the folder has your assignment files
        • when you issue ls, you should see USERNAME_02_1.c (e.g. zhaol_02_1.c)
    • This video walks through how to self check your assignment: How to Self Check A Program
  • Homework Uploading

    What is submitted and graded?

    • every assignment statement will list files to be submitted
    • these files are named in a particular format to facilitate grading
    • only properly named files attached to your Laulima Assignments are graded
      • improperly named files are not graded because our grading program cannot recognize it
      • files on Laulima Dropbox are not graded (only the files attached to Laulima Assignments are graded)

    Why use the homework upload tool?

    • it is a pain to download the files from your Cloud9 workspace and then upload them to Laulima Dropbox
    • please remember that after the files are uploaded to Laulima Dropbox, the files still need to be attached to Laulima Assignments in order for your assignment to be completely submitted

    How to use the homework upload tool?

    • syntax: ruby ~/ee160_scripts/grade check ASSIGNMENT UH_USERNAME
    • example: ruby ~/ee160_scripts/grade check 02_1 zhaol
    • the homework upload tool will package your assignment files and then upload them to your Laulima Dropbox
    • then you are able to attach the files from Laulima Dropbox to your Laulima Assignments, without needing to upload the files manually
    • Laulima Assignments will allow you to resubmit/reattach files up until the deadline, in case you made some changes to the assignment
    • if the homework upload tool does not package and upload all of the required assignment files, then please post this issue to Piazza
    • please note that it is the student's responsibility to ensure that all of the required files are properly named and attached to Laulima Assignments (files in Laulima Dropbox and your Cloud9 workspace are not graded)
    • ensure you are running the above command in the directory with your assignment files
        for example, if submitting homework assignment 02_1:
      • please make sure you are in the correct folder
        • when you issue pwd, you should get
          /home/ubuntu/workspace/ee160/homeworks/02_1
          
      • please make sure the folder has your assignment files
        • when you issue ls, you should see USERNAME_02_1.c (e.g. zhaol_02_1.c)
    • please ensure the submitted .tar file contains only the files related to the assignment
    • This video walks through how to upload your assignment: How to Upload A Program
  • wget

    What is wget?

    Why use wget?

    without wget one would need to:

    • create a new file
    • copy & paste the code from hello_world.c to the new file

    doing things without wget is both tedious and error prone (i.e. you might miss copying a character when the programs get larger)

    How to use wget?

      syntax: wget URL_TO_FILE

      • example: wget https://raw.githubusercontent.com/zhaol/ee160/gh-pages/code/hello_world/hello_world.c

      to get the URL to the raw file: