I took a course, with 2 term exams (20% each) and a final (30%). I achieved close to the highest score on the first term exam, the highest score on the second term exam, and the highest score on the final exam. In all cases, I was significantly above the average score (by >20 points). But I did rather poorly on the assignments, so my final score was 420/600. The average score was 250/600, and the class is graded on a curve.

The Professor gave me a final grade of B, instead of an A, claiming that a different student (caucasian) had a higher pre-final average than me by 40 points. This is possible, due to the assignments, but does not take into account our performances on the final exam, which was very difficult. The other student has not yet taken the final exam due to "external reasons" (so, it's possible no one will get an A in this class). Can I accuse the professor of discrimination, as I feel is the case?

How can I handle this?

Additional details:

* The "pre-final" score is a weighted average of Exams and HW
* I may have received the highest grade in the class. The student who didn't take the final has not yet received a grade.