Well apart from the fact I get completely different results using the sql you have so far, Wombaticus has raised a perfectly valid point that you shouldn't assume that the higher qualification is gained after the lower qualification.
I would use something like
with CTE as (
select Max(b_id) as Highest, a_Id
from c group by a_Id
)
select a.[Name], b.Course, c.Year_Completed
from CTE
inner join a on a.Id = CTE.a_Id
inner join b on b.Id = CTE.Highest
inner join c on a.Id = c.a_Id and c.b_Id = b.Id
The Common Table Expression determines the highest qualification gained by each applicant. I can then use that to determine the name of the course and link to table c to find the year the applicant gained it. Table a is included only to get the name of the applicant.