AI-Assisted Software Engineering
Zero to a live Northline Digital web app: write HTML, CSS, and JavaScript yourself, then specify, inspect, test, and ship with an AI coding partner. This is not AI Engineering - that course builds LLM products (RAG, tools, eval) and assumes programming logic already.
15 modules, in order
- 0OrientationThe 11-step loop, a labeled bad-vs-good AI workflow, and an honest self-check. Everyone still starts at Module 1. Nothing here locks.
- 1Your first shipped change45mTicket NL-001: Saturday hours are wrong. Change one line, render it, write a commit message a colleague would accept.
- 2Requirements: turning “make it better” into work70mTicket NL-002: Dan’s one-sentence brief. Stories, acceptance criteria, edges, and an explicit out-of-scope list before any agent.
- 3HTML: the structure under every page60mTicket NL-003: semantic HTML for the clinic landing page. You write it, then catch what an agent gets subtly wrong.
- 4CSS: layout that survives a phone70mTicket NL-004: box model, flexbox, one breakpoint you can defend when the page opens on a phone.
- 5JavaScript: logic you can defend80mTicket NL-005: hours, filters, greetings - written by you, because you will be reviewing this shape forever.
- 6The DOM, events, and data that arrives late65mTicket NL-006: four UI states (loading, empty, error, data) and a real click handler. We do not pretend to grade a live fetch.
- 7Prompt Engineering for Software Engineers80mTicket NL-014: turn vague requests into Context → Task → Constraints → Acceptance → Verify. Graded prompt labs, not ChatGPT tricks. Sits before Cursor so you can use the skill in later labs.
- 8AI as your pair programmer65mTicket NL-007: the full loop in Cursor. You bring the actual output back and we run tests against it. Desktop Lab A starts here.
- 9AI Code Detective65mTicket NL-008: plausible AI code with real defects mixed with innocent lines. Find them, then prove the fix.
- 10Testing and debugging under pressure65mTicket NL-009: write the test that catches the planted booking-validation bug. “Works on my machine” is not a defence.
- 11Git, GitHub, and code review60mTicket NL-010: branch, diff, PR. In-browser git practice is a labeled simulation. Desktop Lab B is a repo you own.
- 12Refactoring, security, and maintenance60mTicket NL-011: change the shape without changing the behaviour. Then find the leak.
- 13Python for scripts and small tools60mTicket NL-012: a JSON/Python helper for clinic data. Enough Python to kill a Monday chore. Not RAG.
- 14Release: ship the application150mTicket NL-013: one live Northline product - tests, a repo, a release note, and a URL someone else can open. A github.com repo is not that URL.
5 sections, 30 real pages
Learn5 pagesCourse structure, reference material, and where you left off
- DashboardYour home base: progress, streaks, and what's next
- SyllabusThe full course outline, module by module
- Ticket boardThe Northline Digital ticket board driving every module
- Learning RoadmapThe whole journey mapped on one page
- Cheat SheetsPrintable quick-reference for every tool
Practice9 pagesExtra reps, quizzes, and skill tracking
- Quiz CenterEvery module's quiz, plus a cumulative final
- HTMLGraded HTML exercises, written by hand
- CSSGraded CSS layout exercises
- JavaScriptGraded JavaScript logic exercises
- TestingGraded test-writing exercises
- PythonGraded Python exercises in a real interpreter
- AI Code DetectiveFind and prove real defects in AI-generated code
- Skill DiagnosticA placement check for where to start
- Mastery ProfileYour real skill level, tracked per tool
Decide · simulations8 pagesJudgment-call scenarios, labeled simulations
- Specs LabLabeled simulation: scope a messy ticket into a spec
- Git LabLabeled simulation: branches, diffs, and conflicts
- PR Review LabLabeled simulation: review an AI-shaped pull request
- IntegratedCross-tool challenges combining everything you've learned
- AI Review LabCatch bad output from an AI coding agent
- InterviewPractice explaining your own decisions
- IncidentLabeled simulation: your service just went down
- Release reviewTen real ship-or-don't-ship decisions
Build4 pagesThe real projects and labs you'll actually ship
- Desktop LabsThe required lab done in the real desktop tool, not a simulation
- AI work sessionA self-reported record of a real AI-assisted session
- ProjectsThe real portfolio projects you'll build
- Deploy GuideStep-by-step: deploy your work live
Evidence4 pagesPortfolio, career path, and proof you can show
- Evidence PassportYour evidence passport: score, timeline, competencies
- PortfolioEvery completed project, auto-summarized
- Career PathCareer Path Edition: readiness and job-landing playbook
- GraduationWhat you actually have to show, laid out honestly
212 tasks, broken down
- Build a real page from a brief in HTML, by hand
- Match a layout spec in CSS, including one responsive rule
- Write JavaScript functions in the browser before any coding agent
- Write acceptance criteria a stranger could implement
- Write engineering prompts for an AI coding assistant with context, constraints, and verification
- Install Cursor, change a starter repo, and record a real Desktop Lab
- Own a public repo with a README, at least three commits, and a PR or documented branch
- Write a test that fails on a planted bug
- Ship a small web app with tests, a GitHub repo, and a live https URL that is not the repo itself
- Module 0 orientation plus 14 sequential modules (NL-001 through NL-014, with prompt engineering after the web tickets)
- Hard locks from Module 2 (quiz ≥80% and the graded exercise)
- Capstone also needs 3+ passes in at least three of HTML / CSS / JS / Detective, plus both Desktop Labs
- Desktop Labs for Cursor and GitHub (both required; Lab A URL optional)
- Quiz Center, diagnostic, mastery profile, learning roadmap
- Projects with separate repo and live URLs, portfolio, deploy guide, career path with explicit gaps
AI will write most of the characters. You are paid to specify, reject, test, and ship.
In-browser Spec, Git, and PR labs are labeled simulations. They never unlock the capstone.
Both Desktop Labs are required: Cursor evidence and a GitHub repo you own. Pick-one is not enough.
This course does not teach RAG, tool-calling agents, or model eval - that is AI Engineering.
A junior who can specify a small web feature, drive a coding agent, read the diff, write tests, open a PR, and deploy a live URL. Not a senior engineer. No job guarantee.
Ready to start? Self-paced, start whenever you are.
Get access