About This Platform
A custom NSW HSC Software Engineering platform built at Tempe High School.
Who built this and why
This site is a bespoke learning platform created for students of the NSW Stage 6 Software Engineering course at Tempe High School. It is not a commercial product and is not affiliated with NESA — it is a classroom tool built to give students focused, syllabus-aligned practice in everything they need for the HSC examination and project.
The platform is designed and developed by Ben Jones (Mr Jones), Software Engineering teacher at Tempe High School.
A focused LMS for Software Engineering
The platform includes full Learning Management System functionality covering every core concept in the NSW Software Engineering syllabus — from algorithm design and OOP through to mechatronics, secure architecture, DevOps, and the mathematical foundations of the course. Each module is structured into pages with a mix of explanation, worked examples, interactive coding exercises, and progress tracking.
Written-response activities use writing scaffolds aligned directly to the NESA key verbs (identify, describe, explain, analyse, evaluate, justify, construct…). Students are guided to structure responses the way HSC markers expect to see them.
What's on the platform
Past HSC Questions
Every question from the new Software Engineering exams plus selected SDD questions back to 2017, with marking criteria and sample responses — including the new objective response question types (multiple choice, drag-and-drop ordering, fill-in-the-blanks and matching) introduced in the 2025 NESA online examination.
Modelling Validators
Tight, NESA-specific validation of system modelling artifacts — Structure Charts, Data Flow Diagrams, Flowcharts, Class Diagrams, IPO Charts, Decision Trees, Storyboards and Pseudocode — all checked against NESA Course Specifications, not generic UML.
Mechatronics Calculator
A built-in Voltage & Current power-budget calculator for mechatronics projects — pick a power supply (RPi Pico, Arduino, ESP32, AA / LiPo battery packs or a custom supply), add components from a built-in library of sensors, motors and outputs, and instantly see total current draw, headroom and warnings against the supply rating.
Flipcards (incl. PvP)
Practise key terms across Practice, Quiz, Flashcard, and PvP modes — challenge a classmate head-to-head with a shared room code.
Circuit Diagram Tool
Build mechatronics circuit diagrams with a built-in shape library of microcontrollers (RPi Pico, Arduino, ESP32, micro:bit) and the NESA-specified symbols for sensors, actuators, sources and passive components. Diagrams are checked with current-flow validation to catch broken loops and missing returns to ground, and the tool auto-generates a Bill of Materials (BOM) from the components on the canvas.
Programming Challenges
Hundreds of in-browser challenges in Python, SQL, NESA pseudocode, and HSC-style flowcharts — all with automated validation and instant feedback.
Pseudocode Validator
Dedicated pseudocode validator that enforces NESA's reserved verbs and the whitespace / indentation conventions students are expected to use in HSC examination responses.
Documentation Tools
Structured editors and validators for Data Dictionaries and IPO tables that match exactly what NESA expects to see.
The stack
The platform is a server-rendered Python web application designed to run in any modern browser with no install required.
Backend
- Python + Flask (Jinja templates, Blueprints)
- PostgreSQL with SQLAlchemy & Alembic migrations
- Redis for caching and per-day deduplication
- Gunicorn behind Render in production
- GitHub OAuth for authentication
Frontend
- Bootstrap 5, vanilla JavaScript, PWA service worker
- Ace Editor for in-browser code editing (Python, SQL, pseudocode)
- Pyodide — full Python running entirely client-side for execution and grading
- AlaSQL — in-browser SQL execution and grading
- Draw.io (diagrams.net) embedded for flowcharts, DFDs, structure charts and class diagrams
CI/CD & Testing
- pytest for unit and integration tests
- Playwright for end-to-end browser tests
- CodeQL static analysis and Bandit Python security linting
- GitHub Actions runs the full test suite on every push and pull request
-
Automatic deployment to Render.com on merges to
main
By the numbers
A rough snapshot of what's under the hood. Numbers grow every time we ship.
Built at Tempe High School.
Spotted a bug or have an idea? Report it here.