Aabha Basic JavaScript
Version 2026-10-14.1 · prepared 2026-10-14
Start here
- Extract the whole ZIP to a folder you own. Keep all folders together.
- Open this folder in a plain-text code editor.
- Start a local static server from this folder. With Python 3 already installed:
python3 -m http.server 8000 --bind 127.0.0.1. On Windows with the Python launcher:py -m http.server 8000 --bind 127.0.0.1. - Open http://127.0.0.1:8000/ in a current browser. Keep the terminal open. Ctrl+C stops it. If the port is occupied, use 8001 and change the browser URL too.
- Read syllabus.html, then lessons/01.html. Copy an example folder before changing it.
The browser runs JavaScript natively. The static server delivers files; it does not process registrations. No npm install, build step, framework or external API is needed. If Python is unavailable, use an already installed editor's local HTTP preview, or ask your instructor for official Python installation help. Never disable browser security to run modules from file://. Serve only this course folder, not a directory containing personal files.
Included
- Ten substantial lesson narratives in readable HTML and editable Markdown
- Thirty practice tasks, with separate explained solutions
- Ten runnable lesson versions plus the companion course's static Harbor Together baseline
- Six-checkpoint capstone, editable starter, independent learner-code checks and separate reference
- Local normal, empty, invalid-shape, malformed and markup-like-text fixtures
- Four original instructional SVG diagrams plus the original static baseline illustration
- Browser-native checks, optional Node tests, dated primary-source register and honest QA report
Navigation and editing
index.html is the course home. Each lesson links its exercise and separate solution. The source of each runnable example is in examples/NN/app.js. Start your independent project in capstone/starter. tests/learner.html imports that starter, never the reference. Initial learner failures are intentional. capstone/reference is a complete answer with a walkthrough. The CSS in assets is shared by the course and examples; keep relative paths intact.
Checks
Open tests/reference.html and tests/browser.html through the local server. They test the supplied reference; they do not certify your implementation. tests/browser.html changes only synthetic demo state, restores the capstone storage key afterward and uses same-origin iframes. Use a disposable local practice origin without meaningful personal data. If Node 20+ is already installed, node --test tests/core.test.js runs optional instructor checks without dependencies. The app does not require Node.
Teaching use
Read the concept before copying code. Predict outputs, inspect actual evidence and explain differences. Every module includes guided, repair and transfer work. Planning estimate: about 19–21 hours including a 3–5 hour capstone; not measured. Human beginner pilot, final website integration, real-device/mobile and assistive-technology acceptance are still required. See qa.html for actual checks, not assumptions.
Safety and scope
All events, dates and capacities are fictional. Use Demo Visitor and demo@example.com only. No real registration, email, payment, login, personal-data storage or live deployment is implemented. Only fictional event IDs may be saved locally. Reference code uses safe text insertion; that does not make it a complete production security design. Keep a local teaching demo local until separately reviewed.
Troubleshooting
- A 404: check server root, filename and relative path. The missing.json fixture is intentionally absent.
- Module/CORS errors on file://: use the HTTP URL above.
- Old output: save the source and reload the correct page; verify Console filters.
- Storage looks empty after a port/host change: origins have different storage areas.
- Expected failure fixture logs an error: retry with Normal data; a recovery message is part of the exercise.
- Beginner task shows TODO: this is an intentional starter, not a broken reference.
Primary references were checked on 2026-10-14. All course narratives, scenarios, code and diagrams were originally authored; no documentation passages or third-party code bundles are reproduced. Nothing has been published to a live website.