Skip to course content
Free course

Machine Learning Foundations / Resources

Learner resource

Machine Learning Foundations - Browser-Local Progress Behaviour

Status: Draft standard Applies to: the account-free public course shell

Purpose

The first release should not require learner accounts. Progress can be remembered in the learner's browser only, while all course content remains usable without stored progress.

Progress model

The course shell may track:

  • visited lessons;
  • completed checkpoints;
  • downloaded resources;
  • last opened module;
  • learner-selected resume point; and
  • local completion percentage.

The course shell must not track:

  • name;
  • email;
  • phone number;
  • payment information;
  • private notes;
  • uploaded files;
  • code content;
  • model outputs;
  • personal datasets; or
  • cross-site identifiers.

Storage rule

If browser storage is used, store only small non-sensitive progress flags in local storage. The learner should be able to clear progress from the course interface.

Suggested key pattern:

aabhaai.ml-foundations.progress.v1

The value should be versioned JSON with module and lesson identifiers, not personal information.

No-account fallback

If local storage is blocked or cleared:

  • all pages must still open;
  • all downloads must still work;
  • lessons must remain in normal order;
  • notebooks must still run; and
  • the learner can manually continue from the module list.

Reset behaviour

The course shell should offer:

  • reset current module progress;
  • reset full course progress;
  • confirmation before clearing progress; and
  • a short note that this affects only the current browser.

Export behaviour

For the first release, progress export is optional. If added, export only a simple text or JSON progress summary. Do not include learner code, notes, datasets, or model outputs.

Privacy copy

Use simple copy near the progress control:

Progress is saved only in this browser. No account is required.

Acceptance checks

Before publication:

  • complete a lesson and refresh the page;
  • confirm progress is remembered;
  • reset progress and confirm it clears;
  • block local storage and confirm content still works;
  • open in a private window and confirm no account is required;
  • check keyboard access for progress controls; and
  • confirm no progress data is sent to the server.