I'm applying to computer science PhD programs in the US and I'm worried about how to justify my undergraduate grades. Some other aspects of my application are strong, so I believe I have a chance (see end of post). I'm not aiming at top 10 american schools, I'm exclusively going to try top 20 and top 30 american schools.
My average undergraduate grades are 7.4/10 and my average Master's grades are 9.5/10. I'm not from the US, but I've estimated the undergraduate grades would translate to approximately 2.8/4.0 GPA and the Master's to 4.0/4.0 GPA, but it depends on the scale and method used.
I attended different institutions for undergraduate and Master's, and I believe the grades in my undergraduate institution follow a distribution with a much lower average, but I have no way to prove that. I feel this way because I never met anyone with a final average grade above 9/10 while studying there, and grades above 8.5/10 in many courses were very rare. For instance, in one of the hardest courses, I got top 1 grade of the class with a 7.1/10. Besides, I didn't feel like I studied a whole lot more for my Master's than I did for my undergraduate, and yet I got way better grades in the former. Do grades tend to be inflated in computer science Master's programs? Anyway, I was wondering if there's any acceptable way of discussing this in my statement of purpose or some other part of the application.
I think other points of my application might compensate for the low grades: I have 3 strong letters of recommendation and 1 first-author paper accepted recently in a top conference in my field (in a year with a record low 15 % acceptance rate for 9000+ papers submitted), as well as some other research experience in minor projects.