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 Date | Assignment |
June 18 | HW01 |
June 21 (Fri) | HW02 |
June 25 | HW03 |
June 27 | HW04 |
July 2 (due by 6am) | HW05 |
July 10 (start early!) | HW06 |
July 10 | HW07 |
July 13 (by 3:15) | Final Project |
General comments on Homework
Follow the weekly instructions carefully.
Start your homework early. At least read over the problems on Wednesday when they are posted.
Don't start coding a problem until you have a good understanding of how to approach it. Otherwise, you may write a different program than the expected one and this may add a lot of extra work.
Questions? See your TA/Instructor, and use the Piazza.
You may (and are encouraged to) discuss the programs (strategies, coding problems, etc) with your classmates, but you may not share/copy code solutions.
Your submitted source will be used for grading - comments will be returned to you electronically via GitHub.
You will pledge the electronic copy, and this pledge signifies that you are the sole author of the assigned source code. See the example below for the required comment heading to be included in your program files.
# 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.
Compiling without errors, runs OK, and reasonable results: ~25%
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.
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 results | 25% | - | Plot is correct | 60% |
Exact results (+-epsilon) | 25% | - | Axis labels | 10% |
Data input validation | 10% | - | Units on labels | 10% |
Good variable and function names | 10% | - | Title or legend | 10% |
Proper structure (loops and functions) | 10% | - | Reasonable domain/range | 10% |
Indentation / Brackets | 10% | - | ||
Good commenting | 5% | - | ||
Input/Output Formatting | 5% | - |
Note: We may change this for specific assignments as needed. But following this prescription is the goal of the graders.