Here's one attempt (this is not a day to day activity for me, so I may be doing some weird errors below):
A and B are clearly candidate keys of R. Therefore C is the only non-prime attribute of R
R is in 3NF iff:
a) R is in 2NF
b) Every non-prime attribute of R (C) is non-transitively dependent on every superkey of R.
The superkeys of R is (A, B), (A, C), (A, B, C)
By reflexivity (A, C) -> C AND (A, B, C) -> C
By composition of A->C and B->C we get (A, B) -> (C, C), i.e. (A, B) -> C
C is therefore non-transitively dependent on every superkey of R, and hence R is in 3NF.
Your relation is in 3NF, (and not only in 2NF), since as you say the only non prime attribute is Grade, which only appears on the right hand side of your FDs.
The relation is not in BCNF, because the left hand side of the two small FDs is not a superkey.
You can, however, losslessly decompose the relation to
(SubjectCode, SubjectName) and either
(StudentName, SubjectCode, #Exam, Grade)
or
(StudentName, SubjectName, #Exam, Grade)
This decomposition gives you two BCNF relations and preserves all functional dependencies. This isn't always possible (you can always decompose a relation to 3NF, but not necessarily to BCNF).
2NF
If you want an example of 2NF (and not 3NF), your relation needs to contain transitive dependencies.
For instance, say you have a Score column. Intuitively Score->Grade since all exams with the same score should get the same grade (it would be rather unfair otherwise), but note that we cannot say Grade->Score since several scores can have the same grade (11% and 12% would likely be "Fail", for instance).
Now your relation is:
Gradings(StudentName, SubjectCode, SubjectName, #Exam, Score, Grade)
and you have a new form of redundancy since every time you enter a result with the same score as another Gradings record you also have to repeat the corresponding Grade. To get to 3NF you could therefore decompose to
ScoreGrades(Score,Grade)
with Score as the key, and
Scores(StudentName, SubjectCode, SubjectName, #Exam, Score)
Best Answer
Because we have the candidate keys AB, BC and BD, we have no non-key attributes. This means that the second normal form is approved, because no non-key attribute partially depends on a key. It follows that the relation scheme R must be in the third normal form!