Grading for most assignments are based on the following:
- Following the Course Standards, including a proper program header, comments, user prompts and output formatting (~20%)
- Following the instructions: All of the instructions (~20%)
- Use appropriate coding elements based on the requirements (loops, if statements, functions, etc.) (~10%)
- Proper naming of variable and functions (~10%)
- Submitting a working program (~20%)
- Making sure that test results and output match any examples provided in the Assignment pages (~20%)
Notice that "a working program" is not at the top of the list. It is not the most important thing. Following the instructions and standards are the basis of good coding and development. Submitting a program that works, but fails the first four elements, will receive a failing grade.
Also notice that, I do not have specific point deductions next to the items above, but relative percentages.
In M01, I will be more lenient and take off fewer points. I will also make suggestions on how to correct issues and urge you to resubmit programs to be re-graded (even when they are submitted late). By M03, I will not be so lenient. And if you continue to repeat the same omissions or mistakes, I will not be as likely to regrade projects. Pay attention to my suggested corrections. They are learning opportunities!
There should not be a case where you submit a non-working program without having touched base with me before you submit it. That is the reason I am here. We can pass your code back and forth until we identity the issues and fix them. There are no points deducted for asking for help or from getting a little bit of guidance.
Now, that means you cannot start on your code on the last night at 10:00pm and expect to get help with it.
My suggestion is to scan through the assignments during day 1 or 2 each week. The objective is to get an idea of how complex the work might be and if there are concepts that you are not familiar with.
If you cannot thoroughly complete the readings, scan through them for highlights. Look for major concepts and new techniques, keywords and coding statements.
By day 5 or 6 (Monday), scan the assignments again and prepare some pseudo code for each exercise. The purpose is to make a rough plan of how to attack each assignment. Add details if you can. This will uncover and make obvious any areas that you are unfamiliar with and may need to review in the readings.
You should work backward and plan 1-2 hours per exercise. That means you may need 2-3 hours on Monday and 2-3 hours on Tuesday - or start earlier to make sure you have enough time.
If you hit a wall and struggle for 20 minutes or more to get a section of code to work, review the readings. If you can't figure it out, send me an email with your complete code. I will try to help figure out any issues and send you suggestions or corrections. We can keep doing that until we get the program working.