The CGPA calculator that refuses to guess
We could have filled in your credits automatically and it would have looked brilliant. Here is why we left the fields empty, and why the calculator rejects two whole schemes on purpose.
A CGPA calculator is one of the easiest features to make impressive. Type your grades, watch the number appear, done. Every extra thing it fills in for you looks like a feature.
Three of those things we deliberately did not build.
It will not fill in your credits
CGPA is a credit-weighted average, so credits are not a detail — they are half the calculation. Get them wrong and the number is wrong, proportionally, in a way that still looks completely plausible.
The tempting move is to ship a table of credits per scheme, per branch, per semester, so the student never types them. It would feel like magic.
We do not have that table. VTU's credit values vary by scheme, branch and semester, and we could not verify them from where we sit. And a credit table is not the kind of thing we could hedge — either a subject is four credits or it is three, and if we guessed and got it wrong, the student would have no way to tell.
So the fields are empty and you type eight numbers once, from your own scheme document. It is less impressive and it is correct, and only one of those two things matters for a number you will put on a form.
It rejects two schemes outright
The calculator implements the 2018 CBCS grade scale, and only that one:
- O — 10
- A+ — 9
- A — 8
- B+ — 7
- B — 6
- C — 5
- P — 4
- F — 0
The 2015 and 2016 CBCS schemes used different letters: S, A, B, C, D and E. There is no officially published mapping from those onto the 2018 scale, so the code returns nothing for them. It does not guess at a correspondence, and the grade table on screen says why.
A student on an older scheme can still enter their SGPA figures directly, because that part of the arithmetic is not scheme-dependent. What they cannot do is type in a letter grade and be handed a number we made up.
It separates the published formula from the inverse
VTU publishes one conversion, from CGPA to percentage:
Percentage = (CGPA − 0.75) × 10
That is a university rule, so the calculator applies it exactly.
Type in a percentage and ask for the CGPA and it will do the algebra — but it labels the answer an estimate, because that is what it is. The university does not publish that direction. The inverse of a published formula is a reasonable piece of arithmetic, not an official conversion, and the difference matters the moment someone puts the number on an application.
The two mistakes that would have been invisible
Both of these are cases where the obvious implementation produces a confidently wrong answer.
A semester with no published SGPA is not a zero. Provisional VTU results carry no SGPA at all — the marks are there and the grade point average is not yet published. If you average that semester in as a zero, a student's CGPA drops by a full semester's worth of marks, for a semester they may well have passed. The calculator skips it, and their CGPA does not move until the real figure arrives.
A re-sat semester counts once. Sit a semester again and you get a second result. Counting both double-weights it. Counting the older one keeps a subject you have since cleared dragging your average down. The calculator uses the latest attempt per semester.
One definition, everywhere
The app shows your CGPA in more than one place — the calculator, and the results screen after you fetch a result. Those two are not allowed to disagree, so they do not each have their own arithmetic. They call the same function over the same set of semesters.
Before that, the same student could see two different CGPAs in two screens of the same app, which is the kind of thing that destroys trust in every other number too.
Where the line is
None of this is caution for its own sake. A calculator with empty credit fields is a slightly worse product. A calculator that invents your credits, silently skips a semester, or converts a grade letter it does not understand is a worse product that also lies to you — and a student has no way to audit a number they did not compute themselves.
Refusing to answer is a feature when the alternative is being wrong quietly.
Keep reading
Related reading
A topic you have not opened in a month still says 'Yesterday'
Daily Revision schedules reviews on a five-rung ladder and then labels them with times that cannot be right. An item untouched for a month still reads "Yesterday".
The card you mark as known never comes back
Flashcards has three states and no spaced-repetition scheduler. Marking a card known removes it from revision permanently, and four different screens disagree about which cards are due.
Every rule that makes a timetable a timetable is English text in a prompt
We went looking for the scheduler in our AI study timetable and there is not one. No overlap detection, no chronological sort, no feasibility check — the plan is whatever the model returns, and the rules exist only as sentences asking it to behave.