Yes. The final is 10% of the grade, the exams are 60%, and the CodeGrade assignments are 30%. You can repeat the 30% CodeGrade and the 60% exams until you get the grade you want. If you get 100% on the CodeGrade assignments and 80% on the tests, you'll have an 86 going into the final project (30 + 48 / 90 = 86.67%), so you would only need to get 20% on the final to finish the course with an 80 (30 + 48 + 2 / 100 = 80%). You can technically get below an 80 in the course and still graduate, because it's your cumulative average that needs to be above 80, across all the courses. They try to get everyone to 80% in every course though, to make sure you're absorbing the material.