A comprehensive guide to the architecture, authentication, progressive scoring engine, calculation formulas, shortcut commands, analytics tracking, and developer reference for the Number System Trainer.
Section 0x01
The Number System Trainer is an interactive educational learning platform engineered to help computer science students, engineering undergraduates, digital logic design learners, and competitive programmers master positional number base arithmetic and conversion algorithms.
Designed for CS & Electrical Engineering students practicing Binary, Octal, Decimal, and Hexadecimal arithmetic, carrying/borrowing mechanics, 2's complement logic, and bitwise conversions.
Created and maintained by Team KITT. Built with a focus on mathematical correctness, high-performance UI responsiveness, and dark-theme aesthetics.
For bug reports, feature suggestions, or academic inquiries, email directly to sriyansraj02@gmail.com.
Section 0x02
The platform enforces secure user state isolation using Firebase Authentication combined with local session fallbacks:
checkAuth): Guarantees unauthorized guests are routed through the login portal (index.html) while maintaining persistent session tokens (numSysAuth & numSysUser).numSysCurrentUid): Each user's stats, active streak, point history, mistake notebook, and preference settings are partitioned strictly by user UID. Logging out clears sensitive local state.userStats collection.Section 0x03
Master every single feature and hotkey available in the practice trainer (index1.html):
Binary (Base 2), Octal (Base 8), and Hexadecimal (Base 16) for Addition (+), Subtraction (-), and Multiplication (ร).
Real-time digit-by-digit visual carry indicator rows for addition and borrow indicator rows for subtraction.
Optionally hide individual digit boxes to type complete answers into a single input field with automatic character formatting.
Easy (4-bit), Medium (8-bit), Hard (16-bit), and Extreme (32-bit) with scaled digit sizing across bases.
Ref
| Key / Command | Action / Effect | Context |
|---|---|---|
Enter or Space |
Submit current answer for evaluation | Unanswered Question |
Escape or R |
Reset current question inputs (disabled after submission) | Active Practice |
Right Arrow or N |
Advance to Next Question | Practice / Quiz |
Left Arrow or P |
Return to Previous Question | Practice / Quiz |
D or Tab |
Generate a Random Question | Practice Screen |
0-9, A-F |
Type digit into focused box or single input field | Input Field Focus |
Backspace / Delete |
Clear current digit and shift cursor backward | Input Box Grid |
Section 0x04
The platform features a Progressive Score Scaling Engine designed to keep scoring balanced as learners advance through higher point tiers.
Reward = Math.round((5 + Difficulty + Streak + Speed) ร Tier Multiplier)
Every correct submission calculates points based on base reward, difficulty level, active streak, and completion time, scaled by your current score tier.
+5 points base reward for every correct answer.
Ref
| Score Range | Reward Tier Multiplier | Wrong Answer Penalty | Streak Effect |
|---|---|---|---|
0 โ 249 pts |
100% (1.0ร) | -3 pts |
Resets to 0 |
250 โ 499 pts |
80% (0.8ร) | -5 pts |
Resets to 0 |
500 โ 749 pts |
65% (0.65ร) | -7 pts |
Resets to 0 |
750 โ 999 pts |
50% (0.5ร) | -9 pts |
Resets to 0 |
1000+ pts |
40% (0.4ร) | -12 pts |
Resets to 0 |
Section 0x05
The Analytics Dashboard (analytics.html) provides detailed diagnostic insights into user learning trends:
Ref
| Page File | Primary Function | Navigation Links |
|---|---|---|
index1.html |
Main Base Arithmetic Trainer (Binary, Octal, Hex) | Links to Quiz, Analytics, About, Leaderboard |
number-system-quiz.html |
Interactive Base Conversion Quiz | Links to Trainer, Analytics, About |
analytics.html |
Detailed Performance Analytics & Mistake Notebook | Links to Trainer, Quiz, About |
index.html |
User Login & Account Registration Portal | Authenticates user and redirects to Trainer |
about.html |
Documentation, System Guide, Formula Reference, & Feedback | Back-and-forth navigation to all pages |
Section 0x06
All arithmetic operations are calculated strictly using mathematical positional base algorithms:
Sum = (Ai + Bi + Cin) mod 2, Carry Cout = โ(Ai + Bi + Cin) / 2โ.0โ7.0โ9 and letters AโF representing values 10โ15.normalizeAnswerString):
Trims extraneous leading zeros and optional plus signs (e.g., 0DA โก DA, 00F5 โก F5, +7 โก 7) so single-box and multi-box entries match accurately regardless of zero-padding.
We welcome suggestions, bug reports, or feature requests! Email Team KITT directly at: