Grading Policy

Submission to Git

There will be six homework assignments and one final coding project. All homework assignments and the final project will be submitted to each student’s Git repository and to the course Canvas page. Any form of email submission will not be graded without explicit permission of the instructor.

Final Course Grade

The final course grade will be assigned based on the following scale:

Letter Grades

Overall

A+

96-100

A

92-95

A-

89-91

B+

85-88

B

81-84

B-

77-80

C+

73-76

C

65-72

D

50-64

F

0-49

Course deliverables

There will be six homework assignments (accounting for 80% of the grade), and one final project (accounting for 20% of the grade). For each assignment you will submit a report in PDF format to canvas, and all related source code to a git repository. The first assignment is the only exception to this.

Assignment Reports

  • You may use any software you like to create the reports (LaTeX, Microsoft Word, etc.), but the report must be in PDF format for submission

  • The commit hash for the associated source code should be written at the top of you report (more on this later)

  • The purpose of the reports is to discuss and analyze the problem posed in the assignment. You can think of the code you write as the how, while the report is the why and the what.

    • You should fully discuss what the problem being solved is, and what is significant about it. Consider what makes it an interesting problem to solve.

    • You should describe your approach to solving the problem, and how the code you’ve written accomplishes this. Ensure that this discussion adds to the code you’ve submitted.

    • Do not include code in the report. You can refer to particular files, functions, or modules, but do not include any source code in your report. That is what the git repository is for.

    • Gather all relevant results that your code produces and organize them clearly into the report (as tables, figures, etc). Discuss the significance of your results. What do they mean? How do they relate to the overall goal of the assignment?

  • Note: A simple text file is sufficient for HW1

Source code submission

  • All source code will be submitted by pushing it to your personal git repositories.

  • You do not need any prior experience with git. The first assignment will walk through how to set these repositories up, and familiarize you with how to use them.

  • Write comments as often as is reasonable, particularly at the start of a source file to indicate what its overall purpose is. All functions/subroutines should have a comment explaining their purpose and usage. Inline comments are also helpful for explaining any complicated sections. Consider adding these wherever you have some non-trivial math, or anywhere that has complicated indexing.

  • All code should compile and run on a general platform, rather than only on your specific computer/machine. Ideally you will be able to test your code on multiple platforms. Refer to Computing platforms for more information.

    • Note: Windows support does not matter, you don’t need to test for that.

Late Homework Policy

Late homework will receive penalties as outlined in the following table. If you are struggling to complete an assignment by the due date please do not hesitate to reach out to the instructor!

Late by

Result

<= 24 hrs

80% maximum

> 24 hrs

50% maximum

> 48 hrs

20% maximum

> 72 hrs

0% maximum

Canvas Course Site

We will use the Canvas site for the following posting purposes:

  • Announcements on homework assignments, due dates, updates, and changes

  • Submission of assignment reports

  • Grades

  • Managing any Zoom links should they be needed

All other course-related materials such as lecture notes, homework and project problems, example problems, etc. will be maintained and posted on this website.