{
  "schema": "b80-educator-map-en/1",
  "contract": "course-learning-capability/1",
  "course_id": "B80",
  "locale": "en",
  "title": "B80 educator map · Mathematical Computing and Reproducible Experiments",
  "shared_identity": true,
  "units": [
    {
      "unit_id": "o002.p01",
      "title": "Primer P01 - Running Python Experiments",
      "reader_url": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/p01-menjalankan-eksperimen-python.html",
      "objectives_url": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/p01-menjalankan-eksperimen-python.html#sec-o002-p01-objectives",
      "previous_unit_ids": [],
      "exercises": [
        {
          "exercise_id": "ex-o002-p01-01",
          "title": "Exercise 1 - values, types, and operators",
          "kind": "core",
          "curriculum_status": "complete",
          "exercise_url": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/p01-menjalankan-eksperimen-python.html#ex-o002-p01-01",
          "hint": {
            "label": "Hint",
            "source_anchor": "ex-o002-p01-01",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/p01-menjalankan-eksperimen-python.html#ex-o002-p01-01"
          },
          "check": {
            "label": "chk-o002-p01-01",
            "source_anchor": "ex-o002-p01-01",
            "status": "executable",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/p01-menjalankan-eksperimen-python.html#ex-o002-p01-01"
          },
          "solution": {
            "label": "sol-o002-p01-01",
            "source_anchor": "ex-o002-p01-01",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/p01-menjalankan-eksperimen-python.html#ex-o002-p01-01"
          }
        },
        {
          "exercise_id": "ex-o002-p01-02",
          "title": "Exercise 2 - imports, calls, and help",
          "kind": "core",
          "curriculum_status": "complete",
          "exercise_url": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/p01-menjalankan-eksperimen-python.html#ex-o002-p01-02",
          "hint": {
            "label": "Hint",
            "source_anchor": "ex-o002-p01-02",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/p01-menjalankan-eksperimen-python.html#ex-o002-p01-02"
          },
          "check": {
            "label": "chk-o002-p01-02",
            "source_anchor": "ex-o002-p01-02",
            "status": "executable",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/p01-menjalankan-eksperimen-python.html#ex-o002-p01-02"
          },
          "solution": {
            "label": "sol-o002-p01-02",
            "source_anchor": "ex-o002-p01-02",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/p01-menjalankan-eksperimen-python.html#ex-o002-p01-02"
          }
        },
        {
          "exercise_id": "ex-o002-p01-03",
          "title": "Exercise 3 - reading and fixing a traceback",
          "kind": "core",
          "curriculum_status": "complete",
          "exercise_url": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/p01-menjalankan-eksperimen-python.html#ex-o002-p01-03",
          "hint": {
            "label": "Hint",
            "source_anchor": "ex-o002-p01-03",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/p01-menjalankan-eksperimen-python.html#ex-o002-p01-03"
          },
          "check": {
            "label": "chk-o002-p01-03",
            "source_anchor": "ex-o002-p01-03",
            "status": "executable",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/p01-menjalankan-eksperimen-python.html#ex-o002-p01-03"
          },
          "solution": {
            "label": "sol-o002-p01-03",
            "source_anchor": "ex-o002-p01-03",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/p01-menjalankan-eksperimen-python.html#ex-o002-p01-03"
          }
        },
        {
          "exercise_id": "ex-o002-p01-04",
          "title": "Exercise 4 - computation, display, and scripts",
          "kind": "core",
          "curriculum_status": "complete",
          "exercise_url": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/p01-menjalankan-eksperimen-python.html#ex-o002-p01-04",
          "hint": {
            "label": "Hint",
            "source_anchor": "ex-o002-p01-04",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/p01-menjalankan-eksperimen-python.html#ex-o002-p01-04"
          },
          "check": {
            "label": "chk-o002-p01-04",
            "source_anchor": "ex-o002-p01-04",
            "status": "executable",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/p01-menjalankan-eksperimen-python.html#ex-o002-p01-04"
          },
          "solution": {
            "label": "sol-o002-p01-04",
            "source_anchor": "ex-o002-p01-04",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/p01-menjalankan-eksperimen-python.html#ex-o002-p01-04"
          }
        },
        {
          "exercise_id": "ex-o002-p01-05",
          "title": "Exercise 5 - clean kernels and hidden state",
          "kind": "core",
          "curriculum_status": "complete",
          "exercise_url": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/p01-menjalankan-eksperimen-python.html#ex-o002-p01-05",
          "hint": {
            "label": "Hint",
            "source_anchor": "ex-o002-p01-05",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/p01-menjalankan-eksperimen-python.html#ex-o002-p01-05"
          },
          "check": {
            "label": "chk-o002-p01-05",
            "source_anchor": "ex-o002-p01-05",
            "status": "executable",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/p01-menjalankan-eksperimen-python.html#ex-o002-p01-05"
          },
          "solution": {
            "label": "sol-o002-p01-05",
            "source_anchor": "ex-o002-p01-05",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/p01-menjalankan-eksperimen-python.html#ex-o002-p01-05"
          }
        }
      ]
    },
    {
      "unit_id": "o002.p02",
      "title": "Control Flow, Collections, Functions, Modules, and Files",
      "reader_url": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/p02-kontrol-koleksi-fungsi-modul-berkas.html",
      "objectives_url": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/p02-kontrol-koleksi-fungsi-modul-berkas.html#sec-o002-p02-objectives",
      "previous_unit_ids": [
        "o002.p01"
      ],
      "exercises": [
        {
          "exercise_id": "ex-o002-p02-01",
          "title": "Exercise 1 - collections and slices",
          "kind": "core",
          "curriculum_status": "complete",
          "exercise_url": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/p02-kontrol-koleksi-fungsi-modul-berkas.html#ex-o002-p02-01",
          "hint": {
            "label": "Hint",
            "source_anchor": "ex-o002-p02-01",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/p02-kontrol-koleksi-fungsi-modul-berkas.html#ex-o002-p02-01"
          },
          "check": {
            "label": "Executable check",
            "source_anchor": "ex-o002-p02-01",
            "status": "executable",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/p02-kontrol-koleksi-fungsi-modul-berkas.html#ex-o002-p02-01"
          },
          "solution": {
            "label": "Answer and solution",
            "source_anchor": "ex-o002-p02-01",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/p02-kontrol-koleksi-fungsi-modul-berkas.html#ex-o002-p02-01"
          }
        },
        {
          "exercise_id": "ex-o002-p02-02",
          "title": "Exercise 2 - control flow before comprehensions",
          "kind": "core",
          "curriculum_status": "complete",
          "exercise_url": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/p02-kontrol-koleksi-fungsi-modul-berkas.html#ex-o002-p02-02",
          "hint": {
            "label": "Hint",
            "source_anchor": "ex-o002-p02-02",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/p02-kontrol-koleksi-fungsi-modul-berkas.html#ex-o002-p02-02"
          },
          "check": {
            "label": "Executable check",
            "source_anchor": "ex-o002-p02-02",
            "status": "executable",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/p02-kontrol-koleksi-fungsi-modul-berkas.html#ex-o002-p02-02"
          },
          "solution": {
            "label": "Answer and solution",
            "source_anchor": "ex-o002-p02-02",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/p02-kontrol-koleksi-fungsi-modul-berkas.html#ex-o002-p02-02"
          }
        },
        {
          "exercise_id": "ex-o002-p02-03",
          "title": "Exercise 3 - functions, scope, and errors",
          "kind": "core",
          "curriculum_status": "complete",
          "exercise_url": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/p02-kontrol-koleksi-fungsi-modul-berkas.html#ex-o002-p02-03",
          "hint": {
            "label": "Hint",
            "source_anchor": "ex-o002-p02-03",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/p02-kontrol-koleksi-fungsi-modul-berkas.html#ex-o002-p02-03"
          },
          "check": {
            "label": "Executable check",
            "source_anchor": "ex-o002-p02-03",
            "status": "executable",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/p02-kontrol-koleksi-fungsi-modul-berkas.html#ex-o002-p02-03"
          },
          "solution": {
            "label": "Answer and solution",
            "source_anchor": "ex-o002-p02-03",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/p02-kontrol-koleksi-fungsi-modul-berkas.html#ex-o002-p02-03"
          }
        },
        {
          "exercise_id": "ex-o002-p02-04",
          "title": "Exercise 4 - a learner module and red-green tests",
          "kind": "core",
          "curriculum_status": "complete",
          "exercise_url": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/p02-kontrol-koleksi-fungsi-modul-berkas.html#ex-o002-p02-04",
          "hint": {
            "label": "Hint",
            "source_anchor": "ex-o002-p02-04",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/p02-kontrol-koleksi-fungsi-modul-berkas.html#ex-o002-p02-04"
          },
          "check": {
            "label": "Executable check",
            "source_anchor": "ex-o002-p02-04",
            "status": "executable",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/p02-kontrol-koleksi-fungsi-modul-berkas.html#ex-o002-p02-04"
          },
          "solution": {
            "label": "Answer and solution",
            "source_anchor": "ex-o002-p02-04",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/p02-kontrol-koleksi-fungsi-modul-berkas.html#ex-o002-p02-04"
          }
        },
        {
          "exercise_id": "ex-o002-p02-05",
          "title": "Exercise 5 - text, CSV, JSON, and a manifest",
          "kind": "core",
          "curriculum_status": "complete",
          "exercise_url": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/p02-kontrol-koleksi-fungsi-modul-berkas.html#ex-o002-p02-05",
          "hint": {
            "label": "Hint",
            "source_anchor": "ex-o002-p02-05",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/p02-kontrol-koleksi-fungsi-modul-berkas.html#ex-o002-p02-05"
          },
          "check": {
            "label": "Executable check",
            "source_anchor": "ex-o002-p02-05",
            "status": "executable",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/p02-kontrol-koleksi-fungsi-modul-berkas.html#ex-o002-p02-05"
          },
          "solution": {
            "label": "Answer and solution",
            "source_anchor": "ex-o002-p02-05",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/p02-kontrol-koleksi-fungsi-modul-berkas.html#ex-o002-p02-05"
          }
        }
      ]
    },
    {
      "unit_id": "o002.u01",
      "title": "Computation, Representation, and Proof",
      "reader_url": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/01-komputasi-bukti.html",
      "objectives_url": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/01-komputasi-bukti.html#sec-o002-u01-objectives",
      "previous_unit_ids": [
        "o002.p02"
      ],
      "exercises": [
        {
          "exercise_id": "ex-o002-u01-01",
          "title": "Exercise 1 - representation",
          "kind": "core",
          "curriculum_status": "complete",
          "exercise_url": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/01-komputasi-bukti.html#ex-o002-u01-01",
          "hint": {
            "label": "Hint",
            "source_anchor": "ex-o002-u01-01",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/01-komputasi-bukti.html#ex-o002-u01-01"
          },
          "check": {
            "label": null,
            "source_anchor": "ex-o002-u01-01",
            "status": "not_present",
            "href": null
          },
          "solution": {
            "label": "Answer and solution",
            "source_anchor": "ex-o002-u01-01",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/01-komputasi-bukti.html#ex-o002-u01-01"
          }
        },
        {
          "exercise_id": "ex-o002-u01-02",
          "title": "Exercise 2 - specifying tolerances",
          "kind": "core",
          "curriculum_status": "complete",
          "exercise_url": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/01-komputasi-bukti.html#ex-o002-u01-02",
          "hint": {
            "label": "Hint",
            "source_anchor": "ex-o002-u01-02",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/01-komputasi-bukti.html#ex-o002-u01-02"
          },
          "check": {
            "label": null,
            "source_anchor": "ex-o002-u01-02",
            "status": "not_present",
            "href": null
          },
          "solution": {
            "label": "Answer and solution",
            "source_anchor": "ex-o002-u01-02",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/01-komputasi-bukti.html#ex-o002-u01-02"
          }
        },
        {
          "exercise_id": "ex-o002-u01-03",
          "title": "Exercise 3 - the limits of an experiment",
          "kind": "core",
          "curriculum_status": "complete",
          "exercise_url": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/01-komputasi-bukti.html#ex-o002-u01-03",
          "hint": {
            "label": "Hint",
            "source_anchor": "ex-o002-u01-03",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/01-komputasi-bukti.html#ex-o002-u01-03"
          },
          "check": {
            "label": null,
            "source_anchor": "ex-o002-u01-03",
            "status": "not_present",
            "href": null
          },
          "solution": {
            "label": "Answer and solution",
            "source_anchor": "ex-o002-u01-03",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/01-komputasi-bukti.html#ex-o002-u01-03"
          }
        },
        {
          "exercise_id": "ex-o002-u01-04",
          "title": "Exercise 4 - a counterexample",
          "kind": "core",
          "curriculum_status": "complete",
          "exercise_url": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/01-komputasi-bukti.html#ex-o002-u01-04",
          "hint": {
            "label": "Hint",
            "source_anchor": "ex-o002-u01-04",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/01-komputasi-bukti.html#ex-o002-u01-04"
          },
          "check": {
            "label": null,
            "source_anchor": "ex-o002-u01-04",
            "status": "not_present",
            "href": null
          },
          "solution": {
            "label": "Answer and solution",
            "source_anchor": "ex-o002-u01-04",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/01-komputasi-bukti.html#ex-o002-u01-04"
          }
        },
        {
          "exercise_id": "ex-o002-u01-05",
          "title": "Exercise 5 - an experiment record",
          "kind": "core",
          "curriculum_status": "complete",
          "exercise_url": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/01-komputasi-bukti.html#ex-o002-u01-05",
          "hint": {
            "label": "Hint",
            "source_anchor": "ex-o002-u01-05",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/01-komputasi-bukti.html#ex-o002-u01-05"
          },
          "check": {
            "label": null,
            "source_anchor": "ex-o002-u01-05",
            "status": "not_present",
            "href": null
          },
          "solution": {
            "label": "Answer and solution",
            "source_anchor": "ex-o002-u01-05",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/01-komputasi-bukti.html#ex-o002-u01-05"
          }
        }
      ]
    },
    {
      "unit_id": "o002.u02",
      "title": "Objects, Values, and Functions",
      "reader_url": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/02-objek-fungsi.html",
      "objectives_url": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/02-objek-fungsi.html#sec-o002-u02-objectives",
      "previous_unit_ids": [
        "o002.u01"
      ],
      "exercises": [
        {
          "exercise_id": "ex-o002-u02-01",
          "title": "Exercise 1 - choosing representations",
          "kind": "core",
          "curriculum_status": "complete",
          "exercise_url": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/02-objek-fungsi.html#ex-o002-u02-01",
          "hint": {
            "label": "Hint",
            "source_anchor": "ex-o002-u02-01",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/02-objek-fungsi.html#ex-o002-u02-01"
          },
          "check": {
            "label": null,
            "source_anchor": "ex-o002-u02-01",
            "status": "not_present",
            "href": null
          },
          "solution": {
            "label": "Answer and solution",
            "source_anchor": "ex-o002-u02-01",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/02-objek-fungsi.html#ex-o002-u02-01"
          }
        },
        {
          "exercise_id": "ex-o002-u02-02",
          "title": "Exercise 2 - values and identity",
          "kind": "core",
          "curriculum_status": "complete",
          "exercise_url": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/02-objek-fungsi.html#ex-o002-u02-02",
          "hint": {
            "label": "Hint",
            "source_anchor": "ex-o002-u02-02",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/02-objek-fungsi.html#ex-o002-u02-02"
          },
          "check": {
            "label": null,
            "source_anchor": "ex-o002-u02-02",
            "status": "not_present",
            "href": null
          },
          "solution": {
            "label": "Answer and solution",
            "source_anchor": "ex-o002-u02-02",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/02-objek-fungsi.html#ex-o002-u02-02"
          }
        },
        {
          "exercise_id": "ex-o002-u02-03",
          "title": "Exercise 3 - a function contract",
          "kind": "core",
          "curriculum_status": "complete",
          "exercise_url": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/02-objek-fungsi.html#ex-o002-u02-03",
          "hint": {
            "label": "Hint",
            "source_anchor": "ex-o002-u02-03",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/02-objek-fungsi.html#ex-o002-u02-03"
          },
          "check": {
            "label": null,
            "source_anchor": "ex-o002-u02-03",
            "status": "not_present",
            "href": null
          },
          "solution": {
            "label": "Answer and solution",
            "source_anchor": "ex-o002-u02-03",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/02-objek-fungsi.html#ex-o002-u02-03"
          }
        },
        {
          "exercise_id": "ex-o002-u02-04",
          "title": "Exercise 4 - a dangerous alias",
          "kind": "core",
          "curriculum_status": "complete",
          "exercise_url": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/02-objek-fungsi.html#ex-o002-u02-04",
          "hint": {
            "label": "Hint",
            "source_anchor": "ex-o002-u02-04",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/02-objek-fungsi.html#ex-o002-u02-04"
          },
          "check": {
            "label": null,
            "source_anchor": "ex-o002-u02-04",
            "status": "not_present",
            "href": null
          },
          "solution": {
            "label": "Answer and solution",
            "source_anchor": "ex-o002-u02-04",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/02-objek-fungsi.html#ex-o002-u02-04"
          }
        },
        {
          "exercise_id": "ex-o002-u02-05",
          "title": "Exercise 5 - tests and proof",
          "kind": "core",
          "curriculum_status": "complete",
          "exercise_url": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/02-objek-fungsi.html#ex-o002-u02-05",
          "hint": {
            "label": "Hint",
            "source_anchor": "ex-o002-u02-05",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/02-objek-fungsi.html#ex-o002-u02-05"
          },
          "check": {
            "label": null,
            "source_anchor": "ex-o002-u02-05",
            "status": "not_present",
            "href": null
          },
          "solution": {
            "label": "Answer and solution",
            "source_anchor": "ex-o002-u02-05",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/02-objek-fungsi.html#ex-o002-u02-05"
          }
        }
      ]
    },
    {
      "unit_id": "o002.u03",
      "title": "Arrays, Shapes, and Vectorization",
      "reader_url": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/03-array-vektorisasi.html",
      "objectives_url": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/03-array-vektorisasi.html#sec-o002-u03-objectives",
      "previous_unit_ids": [
        "o002.u02"
      ],
      "exercises": [
        {
          "exercise_id": "ex-o002-u03-01",
          "title": "Exercise 1 - shape and axis meanings",
          "kind": "core",
          "curriculum_status": "complete",
          "exercise_url": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/03-array-vektorisasi.html#ex-o002-u03-01",
          "hint": {
            "label": "Hint",
            "source_anchor": "ex-o002-u03-01",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/03-array-vektorisasi.html#ex-o002-u03-01"
          },
          "check": {
            "label": null,
            "source_anchor": "ex-o002-u03-01",
            "status": "not_present",
            "href": null
          },
          "solution": {
            "label": "Answer and solution",
            "source_anchor": "ex-o002-u03-01",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/03-array-vektorisasi.html#ex-o002-u03-01"
          }
        },
        {
          "exercise_id": "ex-o002-u03-02",
          "title": "Exercise 2 - vectorization and invariants",
          "kind": "core",
          "curriculum_status": "complete",
          "exercise_url": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/03-array-vektorisasi.html#ex-o002-u03-02",
          "hint": {
            "label": "Hint",
            "source_anchor": "ex-o002-u03-02",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/03-array-vektorisasi.html#ex-o002-u03-02"
          },
          "check": {
            "label": null,
            "source_anchor": "ex-o002-u03-02",
            "status": "not_present",
            "href": null
          },
          "solution": {
            "label": "Answer and solution",
            "source_anchor": "ex-o002-u03-02",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/03-array-vektorisasi.html#ex-o002-u03-02"
          }
        },
        {
          "exercise_id": "ex-o002-u03-03",
          "title": "Exercise 3 - a broadcasting contract",
          "kind": "core",
          "curriculum_status": "complete",
          "exercise_url": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/03-array-vektorisasi.html#ex-o002-u03-03",
          "hint": {
            "label": "Hint",
            "source_anchor": "ex-o002-u03-03",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/03-array-vektorisasi.html#ex-o002-u03-03"
          },
          "check": {
            "label": null,
            "source_anchor": "ex-o002-u03-03",
            "status": "not_present",
            "href": null
          },
          "solution": {
            "label": "Answer and solution",
            "source_anchor": "ex-o002-u03-03",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/03-array-vektorisasi.html#ex-o002-u03-03"
          }
        },
        {
          "exercise_id": "ex-o002-u03-04",
          "title": "Exercise 4 - tracing a view",
          "kind": "core",
          "curriculum_status": "complete",
          "exercise_url": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/03-array-vektorisasi.html#ex-o002-u03-04",
          "hint": {
            "label": "Hint",
            "source_anchor": "ex-o002-u03-04",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/03-array-vektorisasi.html#ex-o002-u03-04"
          },
          "check": {
            "label": null,
            "source_anchor": "ex-o002-u03-04",
            "status": "not_present",
            "href": null
          },
          "solution": {
            "label": "Answer and solution",
            "source_anchor": "ex-o002-u03-04",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/03-array-vektorisasi.html#ex-o002-u03-04"
          }
        },
        {
          "exercise_id": "ex-o002-u03-05",
          "title": "Exercise 5 - experiments are not general proofs",
          "kind": "core",
          "curriculum_status": "complete",
          "exercise_url": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/03-array-vektorisasi.html#ex-o002-u03-05",
          "hint": {
            "label": "Hint",
            "source_anchor": "ex-o002-u03-05",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/03-array-vektorisasi.html#ex-o002-u03-05"
          },
          "check": {
            "label": null,
            "source_anchor": "ex-o002-u03-05",
            "status": "not_present",
            "href": null
          },
          "solution": {
            "label": "Answer and solution",
            "source_anchor": "ex-o002-u03-05",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/03-array-vektorisasi.html#ex-o002-u03-05"
          }
        }
      ]
    },
    {
      "unit_id": "o002.u04",
      "title": "Visualization with Integrity",
      "reader_url": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/04-visualisasi-integritas.html",
      "objectives_url": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/04-visualisasi-integritas.html#sec-o002-u04-objectives",
      "previous_unit_ids": [
        "o002.u03"
      ],
      "exercises": [
        {
          "exercise_id": "ex-o002-u04-01",
          "title": "Exercise 1 - question and encoding",
          "kind": "core",
          "curriculum_status": "complete",
          "exercise_url": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/04-visualisasi-integritas.html#ex-o002-u04-01",
          "hint": {
            "label": "Hint",
            "source_anchor": "ex-o002-u04-01",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/04-visualisasi-integritas.html#ex-o002-u04-01"
          },
          "check": {
            "label": null,
            "source_anchor": "ex-o002-u04-01",
            "status": "not_present",
            "href": null
          },
          "solution": {
            "label": "Answer and solution",
            "source_anchor": "ex-o002-u04-01",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/04-visualisasi-integritas.html#ex-o002-u04-01"
          }
        },
        {
          "exercise_id": "ex-o002-u04-02",
          "title": "Exercise 2 - a truncated axis",
          "kind": "core",
          "curriculum_status": "complete",
          "exercise_url": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/04-visualisasi-integritas.html#ex-o002-u04-02",
          "hint": {
            "label": "Hint",
            "source_anchor": "ex-o002-u04-02",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/04-visualisasi-integritas.html#ex-o002-u04-02"
          },
          "check": {
            "label": null,
            "source_anchor": "ex-o002-u04-02",
            "status": "not_present",
            "href": null
          },
          "solution": {
            "label": "Answer and solution",
            "source_anchor": "ex-o002-u04-02",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/04-visualisasi-integritas.html#ex-o002-u04-02"
          }
        },
        {
          "exercise_id": "ex-o002-u04-03",
          "title": "Exercise 3 - the meaning of error bars",
          "kind": "core",
          "curriculum_status": "complete",
          "exercise_url": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/04-visualisasi-integritas.html#ex-o002-u04-03",
          "hint": {
            "label": "Hint",
            "source_anchor": "ex-o002-u04-03",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/04-visualisasi-integritas.html#ex-o002-u04-03"
          },
          "check": {
            "label": null,
            "source_anchor": "ex-o002-u04-03",
            "status": "not_present",
            "href": null
          },
          "solution": {
            "label": "Answer and solution",
            "source_anchor": "ex-o002-u04-03",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/04-visualisasi-integritas.html#ex-o002-u04-03"
          }
        },
        {
          "exercise_id": "ex-o002-u04-04",
          "title": "Exercise 4 - an accessible description",
          "kind": "core",
          "curriculum_status": "complete",
          "exercise_url": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/04-visualisasi-integritas.html#ex-o002-u04-04",
          "hint": {
            "label": "Hint",
            "source_anchor": "ex-o002-u04-04",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/04-visualisasi-integritas.html#ex-o002-u04-04"
          },
          "check": {
            "label": null,
            "source_anchor": "ex-o002-u04-04",
            "status": "not_present",
            "href": null
          },
          "solution": {
            "label": "Answer and solution",
            "source_anchor": "ex-o002-u04-04",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/04-visualisasi-integritas.html#ex-o002-u04-04"
          }
        },
        {
          "exercise_id": "ex-o002-u04-05",
          "title": "Exercise 5 - figures and proof",
          "kind": "core",
          "curriculum_status": "complete",
          "exercise_url": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/04-visualisasi-integritas.html#ex-o002-u04-05",
          "hint": {
            "label": "Hint",
            "source_anchor": "ex-o002-u04-05",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/04-visualisasi-integritas.html#ex-o002-u04-05"
          },
          "check": {
            "label": null,
            "source_anchor": "ex-o002-u04-05",
            "status": "not_present",
            "href": null
          },
          "solution": {
            "label": "Answer and solution",
            "source_anchor": "ex-o002-u04-05",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/04-visualisasi-integritas.html#ex-o002-u04-05"
          }
        },
        {
          "exercise_id": "ex-o002-u04-m01",
          "title": "Mastery exercise - from data to plot to manifest",
          "kind": "mastery",
          "curriculum_status": "complete",
          "exercise_url": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/04-visualisasi-integritas.html#ex-o002-u04-m01",
          "hint": {
            "label": "Hint",
            "source_anchor": "ex-o002-u04-m01",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/04-visualisasi-integritas.html#ex-o002-u04-m01"
          },
          "check": {
            "label": "chk-o002-u04-m01",
            "source_anchor": "ex-o002-u04-m01",
            "status": "executable",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/04-visualisasi-integritas.html#ex-o002-u04-m01"
          },
          "solution": {
            "label": "sol-o002-u04-m01",
            "source_anchor": "ex-o002-u04-m01",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/04-visualisasi-integritas.html#ex-o002-u04-m01"
          }
        }
      ]
    },
    {
      "unit_id": "o002.u05",
      "title": "Exact and Symbolic Computation",
      "reader_url": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/05-eksak-simbolik-sage.html",
      "objectives_url": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/05-eksak-simbolik-sage.html#sec-o002-u05-objectives",
      "previous_unit_ids": [
        "o002.u04"
      ],
      "exercises": [
        {
          "exercise_id": "ex-o002-u05-01",
          "title": "Exercise 1 - expressions and values",
          "kind": "core",
          "curriculum_status": "complete",
          "exercise_url": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/05-eksak-simbolik-sage.html#ex-o002-u05-01",
          "hint": {
            "label": "Hint",
            "source_anchor": "ex-o002-u05-01",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/05-eksak-simbolik-sage.html#ex-o002-u05-01"
          },
          "check": {
            "label": null,
            "source_anchor": "ex-o002-u05-01",
            "status": "not_present",
            "href": null
          },
          "solution": {
            "label": "Answer and solution",
            "source_anchor": "ex-o002-u05-01",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/05-eksak-simbolik-sage.html#ex-o002-u05-01"
          }
        },
        {
          "exercise_id": "ex-o002-u05-02",
          "title": "Exercise 2 - a missing assumption",
          "kind": "core",
          "curriculum_status": "complete",
          "exercise_url": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/05-eksak-simbolik-sage.html#ex-o002-u05-02",
          "hint": {
            "label": "Hint",
            "source_anchor": "ex-o002-u05-02",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/05-eksak-simbolik-sage.html#ex-o002-u05-02"
          },
          "check": {
            "label": null,
            "source_anchor": "ex-o002-u05-02",
            "status": "not_present",
            "href": null
          },
          "solution": {
            "label": "Answer and solution",
            "source_anchor": "ex-o002-u05-02",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/05-eksak-simbolik-sage.html#ex-o002-u05-02"
          }
        },
        {
          "exercise_id": "ex-o002-u05-03",
          "title": "Exercise 3 - equivalence and domains",
          "kind": "core",
          "curriculum_status": "complete",
          "exercise_url": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/05-eksak-simbolik-sage.html#ex-o002-u05-03",
          "hint": {
            "label": "Hint",
            "source_anchor": "ex-o002-u05-03",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/05-eksak-simbolik-sage.html#ex-o002-u05-03"
          },
          "check": {
            "label": null,
            "source_anchor": "ex-o002-u05-03",
            "status": "not_present",
            "href": null
          },
          "solution": {
            "label": "Answer and solution",
            "source_anchor": "ex-o002-u05-03",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/05-eksak-simbolik-sage.html#ex-o002-u05-03"
          }
        },
        {
          "exercise_id": "ex-o002-u05-04",
          "title": "Exercise 4 - factors, roots, and checks",
          "kind": "core",
          "curriculum_status": "complete",
          "exercise_url": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/05-eksak-simbolik-sage.html#ex-o002-u05-04",
          "hint": {
            "label": "Hint",
            "source_anchor": "ex-o002-u05-04",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/05-eksak-simbolik-sage.html#ex-o002-u05-04"
          },
          "check": {
            "label": null,
            "source_anchor": "ex-o002-u05-04",
            "status": "not_present",
            "href": null
          },
          "solution": {
            "label": "Answer and solution",
            "source_anchor": "ex-o002-u05-04",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/05-eksak-simbolik-sage.html#ex-o002-u05-04"
          }
        },
        {
          "exercise_id": "ex-o002-u05-05",
          "title": "Exercise 5 - stable symbolic artifacts",
          "kind": "core",
          "curriculum_status": "complete",
          "exercise_url": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/05-eksak-simbolik-sage.html#ex-o002-u05-05",
          "hint": {
            "label": "Hint",
            "source_anchor": "ex-o002-u05-05",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/05-eksak-simbolik-sage.html#ex-o002-u05-05"
          },
          "check": {
            "label": null,
            "source_anchor": "ex-o002-u05-05",
            "status": "not_present",
            "href": null
          },
          "solution": {
            "label": "Answer and solution",
            "source_anchor": "ex-o002-u05-05",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/05-eksak-simbolik-sage.html#ex-o002-u05-05"
          }
        },
        {
          "exercise_id": "ex-o002-u05-sage-01",
          "title": "Sage exercise 1 - parents, coercion, and factors",
          "kind": "mastery",
          "curriculum_status": "complete",
          "exercise_url": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/05-eksak-simbolik-sage.html#ex-o002-u05-sage-01",
          "hint": {
            "label": "Hint",
            "source_anchor": "ex-o002-u05-sage-01",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/05-eksak-simbolik-sage.html#ex-o002-u05-sage-01"
          },
          "check": {
            "label": "Executable check",
            "source_anchor": "ex-o002-u05-sage-01",
            "status": "executable",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/05-eksak-simbolik-sage.html#ex-o002-u05-sage-01"
          },
          "solution": {
            "label": "Answer and solution",
            "source_anchor": "ex-o002-u05-sage-01",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/05-eksak-simbolik-sage.html#ex-o002-u05-sage-01"
          }
        },
        {
          "exercise_id": "ex-o002-u05-sage-02",
          "title": "Sage exercise 2 - exact solutions and approximations",
          "kind": "mastery",
          "curriculum_status": "complete",
          "exercise_url": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/05-eksak-simbolik-sage.html#ex-o002-u05-sage-02",
          "hint": {
            "label": "Hint",
            "source_anchor": "ex-o002-u05-sage-02",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/05-eksak-simbolik-sage.html#ex-o002-u05-sage-02"
          },
          "check": {
            "label": "Executable check",
            "source_anchor": "ex-o002-u05-sage-02",
            "status": "executable",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/05-eksak-simbolik-sage.html#ex-o002-u05-sage-02"
          },
          "solution": {
            "label": "Answer and solution",
            "source_anchor": "ex-o002-u05-sage-02",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/05-eksak-simbolik-sage.html#ex-o002-u05-sage-02"
          }
        }
      ]
    },
    {
      "unit_id": "o002.u06",
      "title": "Floating-Point Numbers, Error, and Stability",
      "reader_url": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/06-titik-mengambang-stabilitas.html",
      "objectives_url": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/06-titik-mengambang-stabilitas.html#sec-o002-u06-objectives",
      "previous_unit_ids": [
        "o002.u05"
      ],
      "exercises": [
        {
          "exercise_id": "ex-o002-u06-01",
          "title": "Exercise 1 - `ulp` and the lost increment",
          "kind": "core",
          "curriculum_status": "complete",
          "exercise_url": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/06-titik-mengambang-stabilitas.html#ex-o002-u06-01",
          "hint": {
            "label": "Hint",
            "source_anchor": "ex-o002-u06-01",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/06-titik-mengambang-stabilitas.html#ex-o002-u06-01"
          },
          "check": {
            "label": null,
            "source_anchor": "ex-o002-u06-01",
            "status": "not_present",
            "href": null
          },
          "solution": {
            "label": "Answer and solution",
            "source_anchor": "ex-o002-u06-01",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/06-titik-mengambang-stabilitas.html#ex-o002-u06-01"
          }
        },
        {
          "exercise_id": "ex-o002-u06-02",
          "title": "Exercise 2 - eliminating cancellation",
          "kind": "core",
          "curriculum_status": "complete",
          "exercise_url": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/06-titik-mengambang-stabilitas.html#ex-o002-u06-02",
          "hint": {
            "label": "Hint",
            "source_anchor": "ex-o002-u06-02",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/06-titik-mengambang-stabilitas.html#ex-o002-u06-02"
          },
          "check": {
            "label": null,
            "source_anchor": "ex-o002-u06-02",
            "status": "not_present",
            "href": null
          },
          "solution": {
            "label": "Answer and solution",
            "source_anchor": "ex-o002-u06-02",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/06-titik-mengambang-stabilitas.html#ex-o002-u06-02"
          }
        },
        {
          "exercise_id": "ex-o002-u06-03",
          "title": "Exercise 3 - forward and backward error",
          "kind": "core",
          "curriculum_status": "complete",
          "exercise_url": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/06-titik-mengambang-stabilitas.html#ex-o002-u06-03",
          "hint": {
            "label": "Hint",
            "source_anchor": "ex-o002-u06-03",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/06-titik-mengambang-stabilitas.html#ex-o002-u06-03"
          },
          "check": {
            "label": null,
            "source_anchor": "ex-o002-u06-03",
            "status": "not_present",
            "href": null
          },
          "solution": {
            "label": "Answer and solution",
            "source_anchor": "ex-o002-u06-03",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/06-titik-mengambang-stabilitas.html#ex-o002-u06-03"
          }
        },
        {
          "exercise_id": "ex-o002-u06-04",
          "title": "Exercise 4 - conditioning or algorithm?",
          "kind": "core",
          "curriculum_status": "complete",
          "exercise_url": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/06-titik-mengambang-stabilitas.html#ex-o002-u06-04",
          "hint": {
            "label": "Hint",
            "source_anchor": "ex-o002-u06-04",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/06-titik-mengambang-stabilitas.html#ex-o002-u06-04"
          },
          "check": {
            "label": null,
            "source_anchor": "ex-o002-u06-04",
            "status": "not_present",
            "href": null
          },
          "solution": {
            "label": "Answer and solution",
            "source_anchor": "ex-o002-u06-04",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/06-titik-mengambang-stabilitas.html#ex-o002-u06-04"
          }
        },
        {
          "exercise_id": "ex-o002-u06-05",
          "title": "Exercise 5 - summation, tolerance, and limits on claims",
          "kind": "core",
          "curriculum_status": "complete",
          "exercise_url": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/06-titik-mengambang-stabilitas.html#ex-o002-u06-05",
          "hint": {
            "label": "Hint",
            "source_anchor": "ex-o002-u06-05",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/06-titik-mengambang-stabilitas.html#ex-o002-u06-05"
          },
          "check": {
            "label": null,
            "source_anchor": "ex-o002-u06-05",
            "status": "not_present",
            "href": null
          },
          "solution": {
            "label": "Answer and solution",
            "source_anchor": "ex-o002-u06-05",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/06-titik-mengambang-stabilitas.html#ex-o002-u06-05"
          }
        },
        {
          "exercise_id": "ex-o002-u06-scipy-01",
          "title": "SciPy exercise - stability of `exprel`",
          "kind": "mastery",
          "curriculum_status": "complete",
          "exercise_url": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/06-titik-mengambang-stabilitas.html#ex-o002-u06-scipy-01",
          "hint": {
            "label": "Hint",
            "source_anchor": "ex-o002-u06-scipy-01",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/06-titik-mengambang-stabilitas.html#ex-o002-u06-scipy-01"
          },
          "check": {
            "label": "Executable check",
            "source_anchor": "ex-o002-u06-scipy-01",
            "status": "executable",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/06-titik-mengambang-stabilitas.html#ex-o002-u06-scipy-01"
          },
          "solution": {
            "label": "Answer and solution",
            "source_anchor": "ex-o002-u06-scipy-01",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/06-titik-mengambang-stabilitas.html#ex-o002-u06-scipy-01"
          }
        }
      ]
    },
    {
      "unit_id": "o002.u07",
      "title": "Designing Experiments That Can Be Checked",
      "reader_url": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/07-rancangan-eksperimen.html",
      "objectives_url": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/07-rancangan-eksperimen.html#sec-o002-u07-objectives",
      "previous_unit_ids": [
        "o002.u06"
      ],
      "exercises": [
        {
          "exercise_id": "ex-o002-u07-01",
          "title": "Exercise 1 - variables and confounders",
          "kind": "core",
          "curriculum_status": "complete",
          "exercise_url": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/07-rancangan-eksperimen.html#ex-o002-u07-01",
          "hint": {
            "label": "Hint",
            "source_anchor": "ex-o002-u07-01",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/07-rancangan-eksperimen.html#ex-o002-u07-01"
          },
          "check": {
            "label": null,
            "source_anchor": "ex-o002-u07-01",
            "status": "not_present",
            "href": null
          },
          "solution": {
            "label": "Answer and solution",
            "source_anchor": "ex-o002-u07-01",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/07-rancangan-eksperimen.html#ex-o002-u07-01"
          }
        },
        {
          "exercise_id": "ex-o002-u07-02",
          "title": "Exercise 2 - a seed is not a time machine",
          "kind": "core",
          "curriculum_status": "complete",
          "exercise_url": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/07-rancangan-eksperimen.html#ex-o002-u07-02",
          "hint": {
            "label": "Hint",
            "source_anchor": "ex-o002-u07-02",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/07-rancangan-eksperimen.html#ex-o002-u07-02"
          },
          "check": {
            "label": null,
            "source_anchor": "ex-o002-u07-02",
            "status": "not_present",
            "href": null
          },
          "solution": {
            "label": "Answer and solution",
            "source_anchor": "ex-o002-u07-02",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/07-rancangan-eksperimen.html#ex-o002-u07-02"
          }
        },
        {
          "exercise_id": "ex-o002-u07-03",
          "title": "Exercise 3 - selection and holdout",
          "kind": "core",
          "curriculum_status": "complete",
          "exercise_url": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/07-rancangan-eksperimen.html#ex-o002-u07-03",
          "hint": {
            "label": "Hint",
            "source_anchor": "ex-o002-u07-03",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/07-rancangan-eksperimen.html#ex-o002-u07-03"
          },
          "check": {
            "label": null,
            "source_anchor": "ex-o002-u07-03",
            "status": "not_present",
            "href": null
          },
          "solution": {
            "label": "Answer and solution",
            "source_anchor": "ex-o002-u07-03",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/07-rancangan-eksperimen.html#ex-o002-u07-03"
          }
        },
        {
          "exercise_id": "ex-o002-u07-04",
          "title": "Exercise 4 - effect size and stopping rules",
          "kind": "core",
          "curriculum_status": "complete",
          "exercise_url": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/07-rancangan-eksperimen.html#ex-o002-u07-04",
          "hint": {
            "label": "Hint",
            "source_anchor": "ex-o002-u07-04",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/07-rancangan-eksperimen.html#ex-o002-u07-04"
          },
          "check": {
            "label": null,
            "source_anchor": "ex-o002-u07-04",
            "status": "not_present",
            "href": null
          },
          "solution": {
            "label": "Answer and solution",
            "source_anchor": "ex-o002-u07-04",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/07-rancangan-eksperimen.html#ex-o002-u07-04"
          }
        },
        {
          "exercise_id": "ex-o002-u07-05",
          "title": "Exercise 5 - negative results and limits of evidence",
          "kind": "core",
          "curriculum_status": "complete",
          "exercise_url": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/07-rancangan-eksperimen.html#ex-o002-u07-05",
          "hint": {
            "label": "Hint",
            "source_anchor": "ex-o002-u07-05",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/07-rancangan-eksperimen.html#ex-o002-u07-05"
          },
          "check": {
            "label": null,
            "source_anchor": "ex-o002-u07-05",
            "status": "not_present",
            "href": null
          },
          "solution": {
            "label": "Answer and solution",
            "source_anchor": "ex-o002-u07-05",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/07-rancangan-eksperimen.html#ex-o002-u07-05"
          }
        }
      ]
    },
    {
      "unit_id": "o002.u08",
      "title": "Testing and Validating Computations",
      "reader_url": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/08-pengujian-validasi.html",
      "objectives_url": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/08-pengujian-validasi.html#sec-o002-u08-objectives",
      "previous_unit_ids": [
        "o002.u07"
      ],
      "exercises": [
        {
          "exercise_id": "ex-o002-u08-01",
          "title": "Exercise 1 — choosing an assertion",
          "kind": "core",
          "curriculum_status": "complete",
          "exercise_url": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/08-pengujian-validasi.html#ex-o002-u08-01",
          "hint": {
            "label": "Hint",
            "source_anchor": "ex-o002-u08-01",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/08-pengujian-validasi.html#ex-o002-u08-01"
          },
          "check": {
            "label": null,
            "source_anchor": "ex-o002-u08-01",
            "status": "not_present",
            "href": null
          },
          "solution": {
            "label": "Answer and solution",
            "source_anchor": "ex-o002-u08-01",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/08-pengujian-validasi.html#ex-o002-u08-01"
          }
        },
        {
          "exercise_id": "ex-o002-u08-02",
          "title": "Exercise 2 — constructing an oracle",
          "kind": "core",
          "curriculum_status": "complete",
          "exercise_url": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/08-pengujian-validasi.html#ex-o002-u08-02",
          "hint": {
            "label": "Hint",
            "source_anchor": "ex-o002-u08-02",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/08-pengujian-validasi.html#ex-o002-u08-02"
          },
          "check": {
            "label": null,
            "source_anchor": "ex-o002-u08-02",
            "status": "not_present",
            "href": null
          },
          "solution": {
            "label": "Answer and solution",
            "source_anchor": "ex-o002-u08-02",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/08-pengujian-validasi.html#ex-o002-u08-02"
          }
        },
        {
          "exercise_id": "ex-o002-u08-03",
          "title": "Exercise 3 — metamorphic relations",
          "kind": "core",
          "curriculum_status": "complete",
          "exercise_url": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/08-pengujian-validasi.html#ex-o002-u08-03",
          "hint": {
            "label": "Hint",
            "source_anchor": "ex-o002-u08-03",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/08-pengujian-validasi.html#ex-o002-u08-03"
          },
          "check": {
            "label": null,
            "source_anchor": "ex-o002-u08-03",
            "status": "not_present",
            "href": null
          },
          "solution": {
            "label": "Answer and solution",
            "source_anchor": "ex-o002-u08-03",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/08-pengujian-validasi.html#ex-o002-u08-03"
          }
        },
        {
          "exercise_id": "ex-o002-u08-04",
          "title": "Exercise 4 — a boundary regression test",
          "kind": "core",
          "curriculum_status": "complete",
          "exercise_url": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/08-pengujian-validasi.html#ex-o002-u08-04",
          "hint": {
            "label": "Hint",
            "source_anchor": "ex-o002-u08-04",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/08-pengujian-validasi.html#ex-o002-u08-04"
          },
          "check": {
            "label": null,
            "source_anchor": "ex-o002-u08-04",
            "status": "not_present",
            "href": null
          },
          "solution": {
            "label": "Answer and solution",
            "source_anchor": "ex-o002-u08-04",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/08-pengujian-validasi.html#ex-o002-u08-04"
          }
        },
        {
          "exercise_id": "ex-o002-u08-05",
          "title": "Exercise 5 — the limits of testing evidence",
          "kind": "core",
          "curriculum_status": "complete",
          "exercise_url": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/08-pengujian-validasi.html#ex-o002-u08-05",
          "hint": {
            "label": "Hint",
            "source_anchor": "ex-o002-u08-05",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/08-pengujian-validasi.html#ex-o002-u08-05"
          },
          "check": {
            "label": null,
            "source_anchor": "ex-o002-u08-05",
            "status": "not_present",
            "href": null
          },
          "solution": {
            "label": "Answer and solution",
            "source_anchor": "ex-o002-u08-05",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/08-pengujian-validasi.html#ex-o002-u08-05"
          }
        }
      ]
    },
    {
      "unit_id": "o002.u09",
      "title": "Data, Configuration, and Provenance",
      "reader_url": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/09-data-konfigurasi-provenans.html",
      "objectives_url": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/09-data-konfigurasi-provenans.html#sec-o002-u09-objectives",
      "previous_unit_ids": [
        "o002.u08"
      ],
      "exercises": [
        {
          "exercise_id": "ex-o002-u09-01",
          "title": "Exercise 1 — raw data, derived data, and lineage",
          "kind": "core",
          "curriculum_status": "complete",
          "exercise_url": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/09-data-konfigurasi-provenans.html#ex-o002-u09-01",
          "hint": {
            "label": "Hint",
            "source_anchor": "ex-o002-u09-01",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/09-data-konfigurasi-provenans.html#ex-o002-u09-01"
          },
          "check": {
            "label": null,
            "source_anchor": "ex-o002-u09-01",
            "status": "not_present",
            "href": null
          },
          "solution": {
            "label": "Answer and solution",
            "source_anchor": "ex-o002-u09-01",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/09-data-konfigurasi-provenans.html#ex-o002-u09-01"
          }
        },
        {
          "exercise_id": "ex-o002-u09-02",
          "title": "Exercise 2 — schemas and units",
          "kind": "core",
          "curriculum_status": "complete",
          "exercise_url": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/09-data-konfigurasi-provenans.html#ex-o002-u09-02",
          "hint": {
            "label": "Hint",
            "source_anchor": "ex-o002-u09-02",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/09-data-konfigurasi-provenans.html#ex-o002-u09-02"
          },
          "check": {
            "label": null,
            "source_anchor": "ex-o002-u09-02",
            "status": "not_present",
            "href": null
          },
          "solution": {
            "label": "Answer and solution",
            "source_anchor": "ex-o002-u09-02",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/09-data-konfigurasi-provenans.html#ex-o002-u09-02"
          }
        },
        {
          "exercise_id": "ex-o002-u09-03",
          "title": "Exercise 3 — configuration and safe paths",
          "kind": "core",
          "curriculum_status": "complete",
          "exercise_url": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/09-data-konfigurasi-provenans.html#ex-o002-u09-03",
          "hint": {
            "label": "Hint",
            "source_anchor": "ex-o002-u09-03",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/09-data-konfigurasi-provenans.html#ex-o002-u09-03"
          },
          "check": {
            "label": null,
            "source_anchor": "ex-o002-u09-03",
            "status": "not_present",
            "href": null
          },
          "solution": {
            "label": "Answer and solution",
            "source_anchor": "ex-o002-u09-03",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/09-data-konfigurasi-provenans.html#ex-o002-u09-03"
          }
        },
        {
          "exercise_id": "ex-o002-u09-04",
          "title": "Exercise 4 — rights and privacy",
          "kind": "core",
          "curriculum_status": "complete",
          "exercise_url": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/09-data-konfigurasi-provenans.html#ex-o002-u09-04",
          "hint": {
            "label": "Hint",
            "source_anchor": "ex-o002-u09-04",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/09-data-konfigurasi-provenans.html#ex-o002-u09-04"
          },
          "check": {
            "label": null,
            "source_anchor": "ex-o002-u09-04",
            "status": "not_present",
            "href": null
          },
          "solution": {
            "label": "Answer and solution",
            "source_anchor": "ex-o002-u09-04",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/09-data-konfigurasi-provenans.html#ex-o002-u09-04"
          }
        },
        {
          "exercise_id": "ex-o002-u09-05",
          "title": "Exercise 5 — semantics, bytes, and hashes",
          "kind": "core",
          "curriculum_status": "complete",
          "exercise_url": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/09-data-konfigurasi-provenans.html#ex-o002-u09-05",
          "hint": {
            "label": "Hint",
            "source_anchor": "ex-o002-u09-05",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/09-data-konfigurasi-provenans.html#ex-o002-u09-05"
          },
          "check": {
            "label": null,
            "source_anchor": "ex-o002-u09-05",
            "status": "not_present",
            "href": null
          },
          "solution": {
            "label": "Answer and solution",
            "source_anchor": "ex-o002-u09-05",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/09-data-konfigurasi-provenans.html#ex-o002-u09-05"
          }
        }
      ]
    },
    {
      "unit_id": "o002.u10",
      "title": "Automation and Reproducible Workflows",
      "reader_url": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/10-otomasi-pipa.html",
      "objectives_url": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/10-otomasi-pipa.html#sec-o002-u10-objectives",
      "previous_unit_ids": [
        "o002.u09"
      ],
      "exercises": [
        {
          "exercise_id": "ex-o002-u10-01",
          "title": "Exercise 1 — task order",
          "kind": "core",
          "curriculum_status": "complete",
          "exercise_url": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/10-otomasi-pipa.html#ex-o002-u10-01",
          "hint": {
            "label": "Hint",
            "source_anchor": "ex-o002-u10-01",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/10-otomasi-pipa.html#ex-o002-u10-01"
          },
          "check": {
            "label": null,
            "source_anchor": "ex-o002-u10-01",
            "status": "not_present",
            "href": null
          },
          "solution": {
            "label": "Answer and solution",
            "source_anchor": "ex-o002-u10-01",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/10-otomasi-pipa.html#ex-o002-u10-01"
          }
        },
        {
          "exercise_id": "ex-o002-u10-02",
          "title": "Exercise 2 — a cycle",
          "kind": "core",
          "curriculum_status": "complete",
          "exercise_url": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/10-otomasi-pipa.html#ex-o002-u10-02",
          "hint": {
            "label": "Hint",
            "source_anchor": "ex-o002-u10-02",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/10-otomasi-pipa.html#ex-o002-u10-02"
          },
          "check": {
            "label": null,
            "source_anchor": "ex-o002-u10-02",
            "status": "not_present",
            "href": null
          },
          "solution": {
            "label": "Answer and solution",
            "source_anchor": "ex-o002-u10-02",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/10-otomasi-pipa.html#ex-o002-u10-02"
          }
        },
        {
          "exercise_id": "ex-o002-u10-03",
          "title": "Exercise 3 — timestamps",
          "kind": "core",
          "curriculum_status": "complete",
          "exercise_url": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/10-otomasi-pipa.html#ex-o002-u10-03",
          "hint": {
            "label": "Hint",
            "source_anchor": "ex-o002-u10-03",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/10-otomasi-pipa.html#ex-o002-u10-03"
          },
          "check": {
            "label": null,
            "source_anchor": "ex-o002-u10-03",
            "status": "not_present",
            "href": null
          },
          "solution": {
            "label": "Answer and solution",
            "source_anchor": "ex-o002-u10-03",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/10-otomasi-pipa.html#ex-o002-u10-03"
          }
        },
        {
          "exercise_id": "ex-o002-u10-04",
          "title": "Exercise 4 — a write failure",
          "kind": "core",
          "curriculum_status": "complete",
          "exercise_url": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/10-otomasi-pipa.html#ex-o002-u10-04",
          "hint": {
            "label": "Hint",
            "source_anchor": "ex-o002-u10-04",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/10-otomasi-pipa.html#ex-o002-u10-04"
          },
          "check": {
            "label": null,
            "source_anchor": "ex-o002-u10-04",
            "status": "not_present",
            "href": null
          },
          "solution": {
            "label": "Answer and solution",
            "source_anchor": "ex-o002-u10-04",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/10-otomasi-pipa.html#ex-o002-u10-04"
          }
        },
        {
          "exercise_id": "ex-o002-u10-05",
          "title": "Exercise 5 — a green workflow",
          "kind": "core",
          "curriculum_status": "complete",
          "exercise_url": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/10-otomasi-pipa.html#ex-o002-u10-05",
          "hint": {
            "label": "Hint",
            "source_anchor": "ex-o002-u10-05",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/10-otomasi-pipa.html#ex-o002-u10-05"
          },
          "check": {
            "label": null,
            "source_anchor": "ex-o002-u10-05",
            "status": "not_present",
            "href": null
          },
          "solution": {
            "label": "Answer and solution",
            "source_anchor": "ex-o002-u10-05",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/10-otomasi-pipa.html#ex-o002-u10-05"
          }
        }
      ]
    },
    {
      "unit_id": "o002.u11",
      "title": "Numerical Experiments and Their Prerequisites",
      "reader_url": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/11-eksperimen-numerik.html",
      "objectives_url": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/11-eksperimen-numerik.html#sec-o002-u11-objectives",
      "previous_unit_ids": [
        "o002.u10"
      ],
      "exercises": [
        {
          "exercise_id": "ex-o002-u11-01",
          "title": "Exercise 1 - bisection invariants",
          "kind": "core",
          "curriculum_status": "complete",
          "exercise_url": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/11-eksperimen-numerik.html#ex-o002-u11-01",
          "hint": {
            "label": "Hint",
            "source_anchor": "ex-o002-u11-01",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/11-eksperimen-numerik.html#ex-o002-u11-01"
          },
          "check": {
            "label": null,
            "source_anchor": "ex-o002-u11-01",
            "status": "not_present",
            "href": null
          },
          "solution": {
            "label": "Answer and solution",
            "source_anchor": "ex-o002-u11-01",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/11-eksperimen-numerik.html#ex-o002-u11-01"
          }
        },
        {
          "exercise_id": "ex-o002-u11-02",
          "title": "Exercise 2 - an iteration bound",
          "kind": "core",
          "curriculum_status": "complete",
          "exercise_url": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/11-eksperimen-numerik.html#ex-o002-u11-02",
          "hint": {
            "label": "Hint",
            "source_anchor": "ex-o002-u11-02",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/11-eksperimen-numerik.html#ex-o002-u11-02"
          },
          "check": {
            "label": null,
            "source_anchor": "ex-o002-u11-02",
            "status": "not_present",
            "href": null
          },
          "solution": {
            "label": "Answer and solution",
            "source_anchor": "ex-o002-u11-02",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/11-eksperimen-numerik.html#ex-o002-u11-02"
          }
        },
        {
          "exercise_id": "ex-o002-u11-s01",
          "title": "SciPy exercise - two implementations for a root of a cubic",
          "kind": "mastery",
          "curriculum_status": "complete",
          "exercise_url": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/11-eksperimen-numerik.html#ex-o002-u11-s01",
          "hint": {
            "label": "Hint",
            "source_anchor": "ex-o002-u11-s01",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/11-eksperimen-numerik.html#ex-o002-u11-s01"
          },
          "check": {
            "label": "chk-o002-u11-s01",
            "source_anchor": "ex-o002-u11-s01",
            "status": "executable",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/11-eksperimen-numerik.html#ex-o002-u11-s01"
          },
          "solution": {
            "label": "sol-o002-u11-s01",
            "source_anchor": "ex-o002-u11-s01",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/11-eksperimen-numerik.html#ex-o002-u11-s01"
          }
        },
        {
          "exercise_id": "ex-o002-u11-03",
          "title": "Exercise 3 - a quadrature check",
          "kind": "core",
          "curriculum_status": "prerequisite_deferred",
          "exercise_url": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/11-eksperimen-numerik.html#ex-o002-u11-03",
          "hint": {
            "label": "Hint",
            "source_anchor": "ex-o002-u11-03",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/11-eksperimen-numerik.html#ex-o002-u11-03"
          },
          "check": {
            "label": null,
            "source_anchor": "ex-o002-u11-03",
            "status": "not_present",
            "href": null
          },
          "solution": {
            "label": "Answer and solution",
            "source_anchor": "ex-o002-u11-03",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/11-eksperimen-numerik.html#ex-o002-u11-03"
          }
        },
        {
          "exercise_id": "ex-o002-u11-04",
          "title": "Exercise 4 - a residual is not a solution error",
          "kind": "core",
          "curriculum_status": "prerequisite_deferred",
          "exercise_url": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/11-eksperimen-numerik.html#ex-o002-u11-04",
          "hint": {
            "label": "Hint",
            "source_anchor": "ex-o002-u11-04",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/11-eksperimen-numerik.html#ex-o002-u11-04"
          },
          "check": {
            "label": null,
            "source_anchor": "ex-o002-u11-04",
            "status": "not_present",
            "href": null
          },
          "solution": {
            "label": "Answer and solution",
            "source_anchor": "ex-o002-u11-04",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/11-eksperimen-numerik.html#ex-o002-u11-04"
          }
        },
        {
          "exercise_id": "ex-o002-u11-05",
          "title": "Exercise 5 - an Euler experiment",
          "kind": "core",
          "curriculum_status": "prerequisite_deferred",
          "exercise_url": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/11-eksperimen-numerik.html#ex-o002-u11-05",
          "hint": {
            "label": "Hint",
            "source_anchor": "ex-o002-u11-05",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/11-eksperimen-numerik.html#ex-o002-u11-05"
          },
          "check": {
            "label": null,
            "source_anchor": "ex-o002-u11-05",
            "status": "not_present",
            "href": null
          },
          "solution": {
            "label": "Answer and solution",
            "source_anchor": "ex-o002-u11-05",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/11-eksperimen-numerik.html#ex-o002-u11-05"
          }
        }
      ]
    },
    {
      "unit_id": "o002.u12",
      "title": "A Verifiable Capstone Project",
      "reader_url": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/12-proyek-akhir.html",
      "objectives_url": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/12-proyek-akhir.html#sec-o002-u12-objectives",
      "previous_unit_ids": [
        "o002.u11"
      ],
      "exercises": [
        {
          "exercise_id": "ex-o002-u12-01",
          "title": "Exercise 1 - classifying claims",
          "kind": "core",
          "curriculum_status": "complete",
          "exercise_url": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/12-proyek-akhir.html#ex-o002-u12-01",
          "hint": {
            "label": "Hint",
            "source_anchor": "ex-o002-u12-01",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/12-proyek-akhir.html#ex-o002-u12-01"
          },
          "check": {
            "label": null,
            "source_anchor": "ex-o002-u12-01",
            "status": "not_present",
            "href": null
          },
          "solution": {
            "label": "Answer and solution",
            "source_anchor": "ex-o002-u12-01",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/12-proyek-akhir.html#ex-o002-u12-01"
          }
        },
        {
          "exercise_id": "ex-o002-u12-02",
          "title": "Exercise 2 - an incomplete manifest",
          "kind": "core",
          "curriculum_status": "complete",
          "exercise_url": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/12-proyek-akhir.html#ex-o002-u12-02",
          "hint": {
            "label": "Hint",
            "source_anchor": "ex-o002-u12-02",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/12-proyek-akhir.html#ex-o002-u12-02"
          },
          "check": {
            "label": null,
            "source_anchor": "ex-o002-u12-02",
            "status": "not_present",
            "href": null
          },
          "solution": {
            "label": "Answer and solution",
            "source_anchor": "ex-o002-u12-02",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/12-proyek-akhir.html#ex-o002-u12-02"
          }
        },
        {
          "exercise_id": "ex-o002-u12-03",
          "title": "Exercise 3 - an unsafe path",
          "kind": "core",
          "curriculum_status": "complete",
          "exercise_url": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/12-proyek-akhir.html#ex-o002-u12-03",
          "hint": {
            "label": "Hint",
            "source_anchor": "ex-o002-u12-03",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/12-proyek-akhir.html#ex-o002-u12-03"
          },
          "check": {
            "label": null,
            "source_anchor": "ex-o002-u12-03",
            "status": "not_present",
            "href": null
          },
          "solution": {
            "label": "Answer and solution",
            "source_anchor": "ex-o002-u12-03",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/12-proyek-akhir.html#ex-o002-u12-03"
          }
        },
        {
          "exercise_id": "ex-o002-u12-04",
          "title": "Exercise 4 - nonidentical reproduction",
          "kind": "core",
          "curriculum_status": "complete",
          "exercise_url": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/12-proyek-akhir.html#ex-o002-u12-04",
          "hint": {
            "label": "Hint",
            "source_anchor": "ex-o002-u12-04",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/12-proyek-akhir.html#ex-o002-u12-04"
          },
          "check": {
            "label": null,
            "source_anchor": "ex-o002-u12-04",
            "status": "not_present",
            "href": null
          },
          "solution": {
            "label": "Answer and solution",
            "source_anchor": "ex-o002-u12-04",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/12-proyek-akhir.html#ex-o002-u12-04"
          }
        },
        {
          "exercise_id": "ex-o002-u12-05",
          "title": "Exercise 5 - responding to review",
          "kind": "core",
          "curriculum_status": "complete",
          "exercise_url": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/12-proyek-akhir.html#ex-o002-u12-05",
          "hint": {
            "label": "Hint",
            "source_anchor": "ex-o002-u12-05",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/12-proyek-akhir.html#ex-o002-u12-05"
          },
          "check": {
            "label": null,
            "source_anchor": "ex-o002-u12-05",
            "status": "not_present",
            "href": null
          },
          "solution": {
            "label": "Answer and solution",
            "source_anchor": "ex-o002-u12-05",
            "status": "complete",
            "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/12-proyek-akhir.html#ex-o002-u12-05"
          }
        }
      ]
    }
  ],
  "prerequisite_routes": [
    {
      "exercises": [
        "ex-o002-u11-01",
        "ex-o002-u11-02",
        "ex-o002-u11-s01"
      ],
      "gate_id": null,
      "id": "route-o002-u11-a30",
      "prerequisite": "A30",
      "required_for_b80": true,
      "sections": [
        "sec-o002-u11-method-theorem",
        "sec-o002-u11-bisection",
        "sec-o002-u11-scipy-bisection",
        "sec-o002-u11-error-sources",
        "sec-o002-u11-artifacts"
      ],
      "status": "core",
      "title": "A30/B80 core route: methods, bisection, SciPy, and sources of error",
      "unit": "o002.u11",
      "required_for_course": true,
      "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/11-eksperimen-numerik.html#sec-o002-u11-method-theorem"
    },
    {
      "exercises": [
        "ex-o002-u11-03"
      ],
      "gate_id": "gate-o002-u11-b30",
      "id": "route-o002-u11-b30",
      "prerequisite": "B30",
      "required_for_b80": false,
      "sections": [
        "sec-o002-u11-quadrature"
      ],
      "status": "deferred",
      "title": "B30 extension route: quadrature",
      "unit": "o002.u11",
      "required_for_course": false,
      "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/11-eksperimen-numerik.html#sec-o002-u11-quadrature"
    },
    {
      "exercises": [
        "ex-o002-u11-04"
      ],
      "gate_id": "gate-o002-u11-b40",
      "id": "route-o002-u11-b40",
      "prerequisite": "B40",
      "required_for_b80": false,
      "sections": [
        "sec-o002-u11-linear"
      ],
      "status": "deferred",
      "title": "B40 extension route: linear systems",
      "unit": "o002.u11",
      "required_for_course": false,
      "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/11-eksperimen-numerik.html#sec-o002-u11-linear"
    },
    {
      "exercises": [
        "ex-o002-u11-05"
      ],
      "gate_id": "gate-o002-u11-b70",
      "id": "route-o002-u11-b70",
      "prerequisite": "B70",
      "required_for_b80": false,
      "sections": [
        "sec-o002-u11-euler"
      ],
      "status": "deferred",
      "title": "B70 extension route: Euler steps",
      "unit": "o002.u11",
      "required_for_course": false,
      "href": "https://kokunoyumeto.github.io/mathematical-computing-reproducible-experiments-en/source/units/11-eksperimen-numerik.html#sec-o002-u11-euler"
    }
  ],
  "labs": [
    {
      "artifact_ids": [
        "art-o002-u04-data",
        "art-o002-u04-figure",
        "art-o002-u04-alt",
        "art-o002-u04-manifest"
      ],
      "environment": "env-o002-python",
      "evidence": "Current English source, executable checks, environment, and generated artifacts are bound.",
      "exercise_ids": [
        "ex-o002-u04-m01"
      ],
      "id": "lab-o002-u04-plotting-m01",
      "kind": "plotting",
      "requirements": [
        "progressive fig/ax plot scatter errorbar construction",
        "labels units legend and accessible description",
        "deterministic data-to-plot-to-manifest mastery"
      ],
      "source_paths": [
        "source/units/04-visualisasi-integritas.qmd",
        "source/code/unit04_visualization.py",
        "tests/test_unit04.py"
      ],
      "status": "complete",
      "unit": "o002.u04"
    },
    {
      "artifact_ids": [
        "art-o002-u05-sage-results"
      ],
      "environment": "env-o002-sage",
      "evidence": "Current English source, executable checks, environment, and generated artifacts are bound.",
      "exercise_ids": [
        "ex-o002-u05-sage-01",
        "ex-o002-u05-sage-02"
      ],
      "id": "lab-o002-u05-sage",
      "kind": "sagemath",
      "requirements": [
        "local execution of ZZ QQ RR SR and coercion",
        "polynomial factorization solving and approximation",
        "two executable Sage mastery exercises with full solutions"
      ],
      "source_paths": [
        "source/units/05-eksak-simbolik-sage.qmd",
        "source/code/unit05_symbolic.py",
        "source/code/unit05_sage_lab.py",
        "tests/test_unit05.py",
        "tests/test_unit05_sage.py"
      ],
      "status": "complete",
      "unit": "o002.u05"
    },
    {
      "artifact_ids": [
        "art-o002-u06-results"
      ],
      "environment": "env-o002-python",
      "evidence": "Current English source, executable checks, environment, and generated artifacts are bound.",
      "exercise_ids": [
        "ex-o002-u06-scipy-01"
      ],
      "id": "lab-o002-u06-scipy",
      "kind": "scipy",
      "requirements": [
        "scipy.special.exprel stable-versus-naive comparison",
        "domain conditioning forward/backward error and proof boundary",
        "executable mastery exercise and tests"
      ],
      "source_paths": [
        "source/units/06-titik-mengambang-stabilitas.qmd",
        "source/code/unit06_floating.py",
        "tests/test_unit06.py"
      ],
      "status": "complete",
      "unit": "o002.u06"
    },
    {
      "artifact_ids": [
        "art-o002-u11-results"
      ],
      "environment": "env-o002-python",
      "evidence": "Current English source, executable checks, environment, and generated artifacts are bound.",
      "exercise_ids": [
        "ex-o002-u11-s01"
      ],
      "id": "lab-o002-u11-scipy",
      "kind": "scipy",
      "requirements": [
        "original bisection versus scipy.optimize.root_scalar(method=bisect)",
        "version bracketing convergence residual and result validation",
        "executable A30 mastery exercise and tests"
      ],
      "source_paths": [
        "source/units/11-eksperimen-numerik.qmd",
        "source/code/unit11_numerical.py",
        "tests/test_unit11.py"
      ],
      "status": "complete",
      "unit": "o002.u11"
    }
  ],
  "limitations": [
    "This is an additive English projection of the same B80 course, units, exercises, laboratories, and prerequisite routes; it is not a duplicate backend.",
    "The map routes to the public English reader and does not execute Python or SageMath in this program website.",
    "Native experiment receipts are preserved as source evidence and are not rerun by this adapter.",
    "The navigation page works offline; linked lessons and course tools require their own download or network access."
  ]
}
