How to Get an A
CSCI 515 Compiler Design
Tyson Henry


At the end of the semester I assign a letter grade for the project (55%) and one for the exams (45%).  The course grade is the weighted average of these two grades.

This can be good news if you are good at assignments and hate exams.  If you get an A on the assignments and an F on the exams, your grade is (4.0 * .55) + (0.0 * .45) = 2.2 which is a C (almost a C+).

However, if you want to get an A, you must get an A on both the project and the exams.  


How to get an A on the project

If you don't know how to use gdb or ddd, spend some time at the very start of the semester learning.  You will spend a significant amount of time this semester debugging your project.  If you don't know how to use one of these tools it is very difficult to finish the assignment.

Use assert statements everywhere!  Assert statements will save you tons of time.

If you choose not to follow my advice , I suggest you tell me your approach so I can warn you about some potential problems.  While students not following my advice has lead to some significant improvements in this project, it has also lead to significant heartbreak.

Don't underestimate the difficulty of Phase 5.  If you don't get Phase 5 completed on time it is very unlikely you will get an A.  I suggest that you plan the work in your other classes so you have plenty of time for Phase 5.


How to get an A on the exams

Don't underestimate the difficult of the midterm exam.  While the final is actually much harder, many students are blown away by the midterm because they don't expect an exam to be so hard.  By the time the final rolls around most students realize it will be very hard and prepare appropriately.

Most of the exam questions are easy once you know the answer, so don't expect being able to look at past exams and explain the answers to mean you are prepared for this year's exams.  You should be able to answer all the previous exam questions w/o the answers in front  of you.