Skip to content

Anonyoumss/SatDesmosRegressionTrainer

 
 

Repository files navigation

🧮 SAT Desmos Regression Trainer (Nebula Edition)

A free, fully interactive, browser-based test preparation platform designed specifically to train students in using Desmos as a regression and solver machine for the Digital SAT. Rather than treating Desmos as a simple graphing calculator, this environment teaches advanced regression techniques that can crack difficult SAT systems, percentages, circles, and quadratics in seconds.

🔗 Live Deployments & Hosted Domains


📜 Project History & Evolution

This tool represents the culmination of multiple community iterations aimed at expanding Digital SAT prep access:

  1. The Foundation (Sceptrell): The original concept was built by Sceptrell to provide procedural question generation alongside a basic Desmos layout.
  2. The Evolution (fifaaworldcup): Upgraded by fifaaworldcup to add additional question banks, refined logic, and structural fixes.
  3. The Nebula Edition (Anonyoumss): Built out into a full Bluebook-compliant simulation platform featuring pacing engines, comprehensive analytics, adjustable panels, reference sheets, and strategy injection directly into the calculator API.

✨ Features & Architecture

⏱ Nebula Pacing Engine (Perfect Time)

  • Goal-Oriented Spacing: Every question type features a customized Perfect Time target (e.g., 60 seconds for easy questions, up to 120 seconds for hard limits).
  • Visual Pacing Bar: A high-contrast pacing bar at the top of the interface fills up in real time. It turns neon red and glows once you cross the target time, reinforcing the exam pacing instinct.
  • Hard Mode Scaler: Toggle Hard Mode to automatically scale target time constraints down to 80% of original levels and hide hints/solved example assets.

📐 Draggable Layout & Detachable Desmos

  • Resizable 2-Column Split: Designed using CSS Grid, users can drag the vertical partition divider to adjust layout widths. Partition sizing is persisted across reloads via localStorage.
  • Detachable Floating Window: Hit the Detach button on the Desmos toolbar to pop the calculator out into a centered, overlay frame (80vw x 80vh), allowing focus mode on complex equations.

📖 MathJax Reference & Click-to-Inject Strategies

  • Collapsible Reference Drawer: Pulls live text from reference.md and converts it to formatted layout cards via marked.js.
  • LaTeX Renderings: Renders complex mathematical formulas inside strategy sheets using MathJax v3.
  • Direct Script Injection: Click on any highlighted strategy expression in the reference sheet to dynamically inject it into the active Desmos workspace (e.g., automatically inserting a regression structure y1 ~ ax1^2 + bx1 + c).

📊 Performance Analytics Dashboard

  • Dynamic Grid: Displays your progress across all 15 test categories.
  • Color-Coded Mastery Bands:
    • 🟢 Master (Green): High accuracy and fast solve times.
    • 🔵 Pro (Blue): Highly accurate but slower than the Perfect Time target.
    • 🟡 Intermediate (Yellow): Needs practice to build consistency.
    • 🔴 Beginner (Red): Struggling with correctness/accuracy in this category.

🚩 Flagging & Study Pack Exporter

  • F-Key Flagging: Mark challenging questions for review.
  • Offline Study Packs: Export flagged questions client-side to generate a printable HTML/CSS formatted document complete with formula guidelines and problem sheets.

🎓 Timed Test Report Card

  • Simulated Exams: Initiate a mock test using the navigation action.
  • Automated Feedback: Generates an official report card grading accuracy and speed, diagnosing weakest categories, and providing action-oriented feedback.

✂ Annotation Tools

  • Cross-Out Mode (C): Toggle annotations and click words inside question paragraphs to cross them out.
  • Click-to-Copy Numbers: Standalone constants are rendered with dotted underlines. Click them to copy raw value numbers directly to your clipboard (safely skipping LaTeX brackets).

📚 Question Banks (15 Procedural Categories)

Difficulty Category Target Pace (Pacing Engine)
Easy Linear Properties from Two Points 60 seconds
Easy Trigonometric Identity Evaluation 60 seconds
Easy Simple Percentage Change 60 seconds
Medium Two Points Non-Linear 90 seconds
Medium Circle Regression 90 seconds
Medium Equivalent Expression Constants 90 seconds
Medium Exponential Coefficients 90 seconds
Medium Complex Percentage Relationships 90 seconds
Medium Quadratic System of Equations 90 seconds
Medium Parabola Symmetry (Vertex & Intercepts) 90 seconds
Medium Radius of Non-Standard Circle 90 seconds
Medium Trinomial Factoring 90 seconds
Hard Factoring a Quartic Function 120 seconds
Hard Quadratic and Linear Intersection 120 seconds
Hard Quadratic Regression Limit 120 seconds

⌨ Keyboard Shortcuts

Shortcut Action
Enter Check inputted answer
Shift + Enter Check & auto-load next question (if correct)
Alt + Enter Start / Stop Timed Test mode
Ctrl + D Toggle Dark / Light Theme
F Flag current question for review
C Toggle annotation cross-out mode
H Open / Close Searchable Cheat Sheet
1 - 4 Select multiple choice options
Esc Close modals and active drawers

🤝 Contribution Guidelines

We welcome contributions from math instructors, educators, and developers! Here is how you can help:

1. Adding New Question Generators

To add a question category:

  1. Open questions.js.
  2. Append a new category object to the categories array. Ensure you provide:
    • Unique id and title.
    • difficulty ('easy', 'medium', or 'hard').
    • perfectTime (in seconds).
    • questionGenerator function returning { questionText: "...", answer: value }.

2. Improving UI & Styles

  • Adjust stylesheet rules inside style.css.
  • Make sure to respect the responsive grid configuration (keeping phone/mobile layouts in sync).

3. Testing Changes Local Development

You can run a local test server using python or node:

# Python 3
python3 -m http.server 8000

# Node/Static Server
npx http-server

Run our headless testing suite to verify script execution:

npm install
node test_local.js (located in scratch directory)

🛠 Tech Stack

  • Core: Vanilla ECMAScript, HTML5, CSS3 Custom Properties.
  • Embedded Calc: Desmos API v1.11.
  • LaTeX Math Engine: MathJax v3.
  • Markdown Compiler: marked.js.
  • Sound Synth: Web Audio API (real-time sound generation).

🙏 Credits & Acknowledgments

  • Original author: Sceptrell
  • Evolution codebase: fifaaworldcup
  • Current platform: Anonyoumss
  • Special thanks to AdiarMath, LearnSATMath, and student feedback loops.

About

Desmos Regression Trainer: currently contains 15 categories of regression-involving questions as well as solved examples. Made with the help of AdiarMath, LearnSATMath, much feedback and AI. Enjoy!

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • HTML 85.6%
  • JavaScript 11.2%
  • CSS 3.2%