Below the HW list, there are details about how the HW will be graded.  Make sure to review this!


The class reading assignments are part of each homework.  These should be completed before class.


If you didn't complete an exercise in class, you should complete it on your own to prepare for the week's homework problems.

Assignments


All homework assignments are due on GitHub by noon on 12:30 pm.  Solutions will be posted to Canvas.


Due DateAssignment       
June 18HW01
June 21 (Fri)HW02
June 25HW03
June 27HW04
July 2 (due by 6am)HW05
July 10 (start early!)HW06
July 10HW07
July 13 (by 3:15)Final Project


General comments on Homework


# Example Program Header
# Name:   Craig Group   Date:  1/20/22
# UserId: rcg6p
# Homework #: 1
# Problem #: 4b
# 
# Program Name: rcg6p_program.py #

Submitting your Homework Online

We will use Github for all HW assignments in this course.

Getting access to your files

Note: to turn in your work use Git from the command line terminal in your Rivanna HW directory.  

But, in case you want to transfer your work to your local computer. Instructions are provided below.

(1)If you use the On Demand Desktop client or web interface then you can open Collab directly on Rivanna and upload your HW files. This should be fairly straightforward.

(2) For copying files to and from rivanna (for example, to your local machine for upload to Collab) you may use the web-based file browser (requires VPN if offsite):

https://rivanna-portal.hpc.virginia.edu

(3)Copy files directly to your computer from rivanna

Alternatively, if you have one of the programs installed that supports secure shell and file copy (ssh and scp) (Software page), you can use that to copy a file to your local PC.

Homework Grading Guidelines

Some general guidelines are below. Rubrics for each assignment will be provided as well.

  1. Compiling without errors, runs OK, and reasonable results: ~25%

  2. If the result is exactly as expected ( no calculation errors, etc. ), the structure/output of the code is clear, and good programming habits are used, then we award the other ~75%. Conversely, poor structure/clarity, output preparation, programming habits, will count against this 75%. The output from your programs should be easily readable and descriptive. Make sure your design satisfies any explicit requirements on program structure. Use descriptive variable names in your code. Include comments in key areas of your code as necessary to explain your work. Refer to the style guide for some tips to make your code more readable.

  3. Avoid compiler warnings: approximately -10% per question, per type of warning message (unused variables, type mismatch, etc…), with a max of three warning penalties. On a 10-point homework question, that means every warning is -1 point, up to -3 total.

We will try to follow the following table when grading HW:




Runs with reasonable results25%-Plot is correct60%
Exact results (+-epsilon)25%-Axis labels10%
Data input validation10%-Units on labels10%
Good variable and function names10%-Title or legend10%
Proper structure (loops and functions)10%-Reasonable domain/range10%
Indentation / Brackets10%-

Good commenting5%-

Input/Output Formatting5%-



Note: We may change this for specific assignments as needed. But following this prescription is the goal of the graders.