SIM BUILDER Β· course hubhab kursus
A self-instructional series Β· 4 units + a 20-minute starterSiri pembelajaran kendiri Β· 4 unit + pemula 20 minit

Build your own course SIMs β€” with AI, without losing the plot

Bina SIM kursus anda sendiri β€” dengan AI, tanpa hilang jejak

Four units that take you from an approved curriculum to a complete series of outcome-aligned, connectivist, self-instructional weekly materials β€” using any AI tool, one small step at a time.

Empat unit yang membawa anda daripada kurikulum yang diluluskan kepada satu siri lengkap bahan mingguan yang terjajar dengan hasil pembelajaran, bersifat konektivis dan boleh belajar sendiri β€” menggunakan mana-mana alat AI, satu langkah kecil pada satu masa.

FormatFormatSelf-instructional Β· 14 screens per unitBelajar kendiri Β· 14 skrin setiap unit
TimeMasaβ‰ˆ 2 h read + ~5 h buildβ‰ˆ 2 j baca + ~5 j bina
ForUntukCourse owners & curriculum designersPemilik kursus & pereka kurikulum
Theory lensLensa TeoriOBE Β· Connectivism

The course Β· four unitsKursus ini Β· empat unit

Work through them in order β€” each one produces something the next one needs.Ikuti mengikut urutan β€” setiap satu menghasilkan sesuatu yang diperlukan unit berikutnya.
Short on time? Start smallerSuntuk masa? Mulakan lebih kecil
Nano Β· 20 minutesNano Β· 20 minit

Write one outcome you can actually assessTulis satu hasil pembelajaran yang benar-benar boleh ditaksir

Five screens. One outcome, one sitting, complete β€” and it feeds straight into Unit 2. Needs nothing before it.Lima skrin. Satu hasil, satu duduk, lengkap β€” dan ia terus menyuap Unit 2. Tiada prasyarat.

PN

Series outcomesHasil pembelajaran siri

What you will be able to do by the end, and where each outcome is taught.Apa yang anda akan mampu lakukan pada akhirnya, dan di mana setiap hasil diajar.
1
Explain why a single long prompt cannot produce a coherent multi-unit course, and differentiate the four files that carry state between sessions. Menjelaskan mengapa satu gesaan panjang tidak mampu menghasilkan kursus berbilang unit yang koheren, dan membezakan empat fail yang membawa keadaan antara sesi. BO1 Β· Unit 1
2
Construct a spec card, a unit map, a golden template and a structure contract for your own course, and operate the per-unit build loop. Membina kad spesifikasi, peta unit, templat emas dan kontrak struktur untuk kursus anda sendiri, dan mengendalikan gelung pembinaan setiap unit. BO2 Β· Units 2–3
3
Appraise generated units against OBE, connectivism and integrity criteria, and justify what must be fixed before release. Menilai unit yang dijana berdasarkan kriteria OBE, konektivisme dan integriti, dan mewajarkan apa yang mesti dibaiki sebelum pelepasan. BO3 Β· Unit 4
How this series is assessedCara siri ini ditaksir

Your course is your case. There is no grade and no model answer. Choose one real course of yours in Unit 1 and carry it through all four. You finish holding four files β€” SPEC.md, BRIEFS.md, CONTRACT.md, LEDGER.md β€” filled in for that course, and an audit report you would be willing to show a panel.

Kursus anda ialah kes anda. Tiada markah dan tiada jawapan model. Pilih satu kursus sebenar anda dalam Unit 1 dan bawa ia menerusi keempat-empatnya. Anda menamatkannya dengan memegang empat fail β€” SPEC.md, BRIEFS.md, CONTRACT.md, LEDGER.md β€” terisi untuk kursus itu, dan laporan audit yang anda sanggup tunjukkan kepada panel.

Prompt consoleKonsol gesaan

All ten prompts and the ledger template in one place β€” for when you have learned the method and just need to copy.Kesepuluh-sepuluh gesaan dan templat lejar di satu tempat β€” untuk apabila anda sudah mempelajari kaedahnya dan hanya perlu menyalin.

Prompt bodies are in English by design; the output language is set inside each prompt. Each unit teaches the prompts it owns β€” this console is reference, not instruction, so it stays closed until you want it.Badan gesaan sengaja dalam bahasa Inggeris; bahasa keluaran ditetapkan di dalam setiap gesaan. Setiap unit mengajar gesaan miliknya β€” konsol ini rujukan, bukan pengajaran, jadi ia kekal tertutup sehingga anda memerlukannya.

Open the prompt console β€” all 10 prompts + the ledger templateBuka konsol gesaan β€” kesemua 10 gesaan + templat lejar
🧭 P0 β€” The Role Card
Paste at the top of EVERY session. This is the constitution.
You are an instructional designer and front-end developer producing
SELF-INSTRUCTIONAL MATERIALS (SIMs) for a university course. You write both
the pedagogy and the code. Do not ask permission to begin; produce the artefact.

PEDAGOGICAL NON-NEGOTIABLES

1. OUTCOME-BASED EDUCATION (constructive alignment)
   - Each unit states 3 outcomes: [observable verb at the mapped taxonomy
     level] + [object] + [context].
   - Each outcome shows a chip mapping it to a Course Learning Outcome and
     its code (e.g. "CLO1 . C4").
   - Each outcome must be traceable to an activity IN the unit AND to an
     assessment. No activity and no assessment means delete the outcome.
   - Banned verbs: understand, know, be aware of, appreciate, learn about.

2. CONNECTIVISM - instantiated, not merely mentioned. Every unit contains:
   - BACKWARD links: named prior units this one depends on.
   - FORWARD links: named later units this one feeds.
   - EXTERNAL NODES: 3+ concrete acts of connecting beyond the course.
   - LIVE SOURCES: current, dated, linked (DOI / arXiv / official URL).
   - DIVERGENCE: one genuinely open dispute, strongest case on each side.
   - PERSONAL NODE: the learner's own case is the connection point.

3. SELF-INSTRUCTIONAL DESIGN (no teacher present). Each unit provides:
   advance organiser -> outcomes -> hook -> concept + definition -> visual
   model -> worked example with variations -> guided activity with an
   illustrative expected output -> application -> self-check with immediate
   feedback on BOTH right and wrong answers -> summary -> forward pointer.

4. OPEN-ENDED, OWN-CASE ASSESSMENT
   Every activity and assessment requires the learner's OWN chosen real case.
   Never a fixed toy answer. State that no two learners should submit the
   same case. Formative MCQs are the one exception.

5. ACCURACY
   Every claim, statistic, case, law and citation must be real. If unsure a
   source exists, write [VERIFY] beside it. Never invent a DOI or an author.

OUTPUT DISCIPLINE
- Output the artefact only. No preamble, no summary of what you did.
- When asked for HTML, output ONE complete file, <!DOCTYPE html> to </html>.
- Never abbreviate with "... rest unchanged" or "[same as before]".
- On conflicting instructions, follow the STRUCTURE CONTRACT and flag the
  conflict in one HTML comment at the end of the file.

Working language for learner-facing text: [LANGUAGE(S)].

Acknowledge with the single word READY and wait.

Line by lineBaris demi baris

  • RoleNaming both disciplines matters β€” ask only for a designer and you get prose with no code; ask only for a developer and you get code with no pedagogy.3Menamakan kedua-dua disiplin penting β€” minta pereka sahaja anda dapat prosa tanpa kod; minta pembangun sahaja anda dapat kod tanpa pedagogi.3
  • Β§1The banned verb list does more work than any other line here. Without it, outcomes silently drift back to "understand" by unit four.4Senarai kata kerja terlarang bekerja lebih daripada mana-mana baris lain. Tanpanya, hasil pembelajaran senyap-senyap kembali kepada "memahami" menjelang unit empat.4
  • Β§2Connectivism is stated as six checkable items, not a philosophy. Vague theory produces vague output.56Konektivisme dinyatakan sebagai enam item boleh disemak, bukan falsafah. Teori kabur menghasilkan keluaran kabur.56
  • Β§5The [VERIFY] escape hatch gives the model a legitimate alternative to inventing a citation. Models fabricate most when refusal feels unavailable.Pintu keluar [VERIFY] memberi model alternatif sah selain mereka-reka petikan. Model paling banyak memalsukan apabila penolakan terasa tiada pilihan.
  • EndAsking for READY confirms the card was received before you spend a long prompt on it.Meminta READY mengesahkan kad itu diterima sebelum anda membelanjakan gesaan panjang padanya.

Expected output (illustrative)Output dijangka (ilustrasi)

READY

That is the whole reply. If the model instead summarises the instructions back to you, it has spent attention on the wrong thing β€” re-paste and add: "Reply with one word." Itu sahaja balasannya. Jika model sebaliknya merumuskan arahan kembali kepada anda, ia telah membelanjakan perhatian pada perkara yang salah β€” tampal semula dan tambah: "Reply with one word."
πŸ’‘ In Claude Projects, ChatGPT Projects or a Gemini Gem, put P0 in the custom-instructions field instead and it applies to every chat automatically.πŸ’‘ Dalam Claude Projects, ChatGPT Projects atau Gemini Gem, letakkan P0 dalam medan arahan tersuai dan ia terpakai kepada setiap sembang secara automatik.
πŸ“‹ P1 β€” Course Spec Card
Compress your curriculum documents into one page. Run once.
TASK: Compress the attached curriculum documents into a single COURSE SPEC CARD.

This card will be pasted at the start of every future session INSTEAD of the
source documents, so it must be self-sufficient and under 700 words. Discard
anything not needed to author teaching material: approval signatures, form
instructions, grade-analysis sheets, empty rows.

Output exactly this structure, as markdown:

# SPEC - [COURSE CODE]
## Identity
Code . title (all languages) . credits . status . provider . notional learning
hours . number of units . delivery mode and the face-to-face : online :
independent ratio.

## Audience
Who they are, prior knowledge, what they will NOT have, interface language(s).

## CLOs
Per CLO: number, taxonomy code, full statement in all languages, and the
assessment instrument(s) that evidence it.

## Assessment map
Table: Instrument | Weight % | CLO(s) | Learning hours | Timing.
Weights must total 100.

## Learning-time allocation
Table: Topic | CLO | contact hours | independent hours | total. Then the grand
total, which MUST reconcile with the notional hours. If it does not reconcile,
add a heading "!! DISCREPANCY" and show the arithmetic. Do not silently adjust.

## Content spine
The official topic list, in order, all languages, with subtopics.

## Constraints
Regional/contextual lens . language requirements . the own-case rule . mandated
software or resources . anything the accrediting body requires.

## Terminology lock
The exact rendering of the 10-15 key technical terms in each language, so
wording stays identical across all units. Format: term (L1) = term (L2).

RULES
- Quote official CLO wording verbatim. Do not paraphrase approved language.
- Where a source is ambiguous or wrong, flag [CHECK: ...] rather than guessing.
- Output the card only.

Why it is shaped this wayMengapa ia berbentuk begini

  • CutNaming the rubbish explicitly (signatures, empty rows) stops the model treating form boilerplate as course content.Menamakan sampah secara jelas (tandatangan, baris kosong) menghalang model menganggap teks borang sebagai kandungan kursus.
  • Verb"Quote verbatim" protects approved CLO wording. A paraphrased outcome will not survive an accreditation audit."Petik secara verbatim" melindungi rumusan HPK yang diluluskan. Hasil pembelajaran yang diparafrasa tidak akan bertahan dalam audit akreditasi.
  • SumForcing the arithmetic to be shown surfaces real errors in the source workload sheet β€” which are common.Memaksa aritmetik ditunjukkan mendedahkan ralat sebenar dalam helaian beban kerja sumber β€” yang memang lazim.
  • LockThe terminology lock is what stops unit 9 inventing a new translation for a term fixed in unit 2.Kunci istilah inilah yang menghalang unit 9 mencipta terjemahan baharu bagi istilah yang ditetapkan pada unit 2.

Expected output (illustrative)Output dijangka (ilustrasi)

# SPEC β€” ABCD1234
Identity: 2.0 credits Β· 80 notional hours Β· 12 units Β· 0% physical / 100% online + independent
CLO1 (C4): Comparing … (verbatim)
Assessment: Report 10 Β· Portfolio 40 Β· Presentations 50 = 100 βœ“
!! DISCREPANCY: topics sum to 47.5 h, assessment 32.5 h, total 80 βœ“
πŸ’‘ Read this output yourself before continuing. An error here propagates into every unit you build afterwards.πŸ’‘ Baca sendiri hasil ini sebelum meneruskan. Ralat di sini merebak ke setiap unit yang anda bina selepasnya.
πŸ—ΊοΈ P2 β€” Week Map & Content Briefs
The single most valuable file in the project. Run once, verify hard.
[Paste P0, then SPEC.md, then:]

TASK: Produce the content brief document for all [N] units.

STEP 1 - THE MAP
Expand the official topics into [N] units. Some topics span several units;
some units bridge two topics. Output a table:
Unit | Title (L1) | Title (L2) | Official topic served | Focus CLO | Hours

Sequencing rules:
- Unit 1 is the hub every later unit links back to. It establishes the core
  framework and the learner's own case.
- The final unit is a synthesis capstone linking to ALL prior units and to the
  learner's practice beyond the course.
- Nothing may be used before it is introduced. State the dependency chain.
- Sum the hours and confirm they reconcile with SPEC.

STEP 2 - THE BRIEFS
For EACH unit write 150-200 words in this exact shape:

## UNIT n - [Title]
Second-language title. Focus CLO.
Outcomes: three, each with its taxonomy verb and CLO mapping.
Hook: one real, verifiable, dated story, plus one factual anchor (a statistic,
  law or named framework) with its source.
Core concept: the definition to teach, plus the ONE contrast pair that sharpens
  it (X vs not-X).
Diagram: what the visual must show - the entities and the relation between them.
Example + variations: one base scenario, three variations each changing ONE
  variable.
Activity: what the learner does with their OWN case, and with what tool.
Applications: four real domains + the required local instance.
Framework: a named, memorable, portable checklist (3-5 steps) they keep.
Self-check: the three concepts the questions must test.
Tools: four real, currently-live tools with URLs.
Sources: four real citations with DOI / arXiv / official URL. Mark [VERIFY] if
  you are not certain.
Network: earlier units it connects back to, later units it feeds, and the
  specific assessment it ties to.

GLOBAL CONSTRAINTS
- No hook story, case, tool or source may be the primary item in two units.
  Keep a running check as you write.
- Every CLO must be the focus of at least two units.
- Every assessment instrument must be seeded in at least three units.
- Assign each unit a distinct accent colour triple (accent, accent-2,
  accent-soft). Accents dark enough for white text; softs light enough for
  dark text. Output as a list.

Output the map, then the briefs, then the accent list. Nothing else.

Why it is shaped this wayMengapa ia berbentuk begini

  • MapOfficial topics rarely map one-to-one onto teaching weeks. Making the expansion explicit is where most curriculum-to-timetable errors get caught.Topik rasmi jarang dipetakan satu-ke-satu kepada minggu pengajaran. Menjadikan pengembangan ini eksplisit ialah tempat kebanyakan ralat kurikulum-ke-jadual dikesan.
  • HubDeclaring unit 1 as the hub and the last as the capstone gives the network a shape. Without it you get twelve unconnected islands.Mengisytiharkan unit 1 sebagai hab dan unit akhir sebagai kemuncak memberi rangkaian itu bentuk. Tanpanya anda dapat dua belas pulau tak berhubung.
  • DupThe no-duplicates rule is enforced here, while all units are in view. It cannot be enforced later, one session at a time.Peraturan tiada pendua dikuatkuasakan di sini, semasa semua unit kelihatan. Ia tidak boleh dikuatkuasakan kemudian, satu sesi pada satu masa.
  • Seed"Seeded in at least three units" is what turns an assessment from a bolt-on into something the course actually builds toward."Disemai dalam sekurang-kurangnya tiga unit" mengubah pentaksiran daripada tempelan kepada sesuatu yang benar-benar dibina oleh kursus.

Expected output (illustrative)Output dijangka (ilustrasi)

Unit 4 β€” Bias, Fairness & Social Inequality
Focus: CLO1 Β· Hook: Amazon's scrapped recruiting tool (2018)
Framework: the Four Fairness Questions
Sources: Buolamwini & Gebru 2018 Β· Obermeyer 2019 [VERIFY] Β· …
Network: back to U2 (opacity), forward to U5 (accountability)
πŸ’‘ Check every citation in this file before building a single unit on top of it. This is the cheapest possible moment to catch a fabricated source.πŸ’‘ Semak setiap petikan dalam fail ini sebelum membina satu unit pun di atasnya. Inilah saat termurah untuk menangkap sumber palsu.
πŸ—οΈ P3 β€” The Golden Template (Unit 1)
Defines every later unit. Build it once, carefully.
[Paste P0, then SPEC.md, then ONLY the Unit 1 brief, then:]

TASK: Build Unit 1 as a single self-contained HTML file. This becomes the
GOLDEN TEMPLATE for all units, so its CSS and JS must be generic enough to be
copied verbatim into every later unit.

TECHNICAL
- One file. Inline <style> and <script>. No external dependencies, no build
  step, no CDN, no frameworks. Must work when opened from a local disk.
- No localStorage or sessionStorage.
- Responsive to 380px. Print stylesheet that reveals all screens.
- WCAG AA contrast everywhere. Keyboard navigation. Semantic headings.

DUAL VIEW ENGINE
- Screen mode: one section visible at a time; arrow keys and Prev/Next; a
  progress bar and an "n / total" counter in a fixed top bar.
- Guide mode: toggled by a button and the G key; all screens shown as one
  scrollable document. This is what makes it a SIM, not lecture support.

LANGUAGE ENGINE (omit if monolingual)
- Every translatable node exists twice: <span lang="[L1]"> and <span lang="[L2]">.
- CSS alone hides the inactive twin. A toggle in the top bar calls setLang().

DESIGN TOKENS (:root custom properties)
ink, ink-soft, muted, bg, panel, line, accent, accent-2, accent-soft, amber
trio, green trio, red trio, radius, shadow, maxw, font, mono.
Per-unit theming happens ONLY through:
body[data-accent="uN"]{--accent:..;--accent-2:..;--accent-soft:..}

COMPONENT LIBRARY (define all in CSS even if unit 1 uses only some)
.slide .slide-kicker .lead .ms-tag .divider
.block + .concept .fact .realworld .practical .example .connections .owncase
.tag .callout-vary
.outcomes .outcome .num .clo-chip
.cols .cardgrid .card .figure .figcap
.quiz .q .stem .opt .feedback.ok .feedback.no
.prompt-lab .pl-head .pl-title .pl-sub .copy-btn .pl-prompt .ph .kw .pl-cols
  .pl-anno .ln .pl-out .pl-outbox .pl-note
.node-row .node
.reslist .doi
footer.deckfoot

THE 14-SCREEN SPINE (this order, every unit, no exceptions)
 1 Cover . 2 Outcomes (3, with CLO chips + an assessment-alignment block)
 3 Hook (real story + factual anchor) . 4 Core concept (definition + contrast)
 5 Diagram (hand-authored inline SVG + caption) . 6 Example + 3 variations
 7 Practice Lab . 8 Applications (4 cards + local-lens block)
 9 Framework (named checklist) . 10 Self-check (3 questions)
11 Tools (4 cards, real links) . 12 Resources (2 columns, every item linked,
   plus a "branch into" row of pills) . 13 Learning network (back / forward
   columns, 3 external node actions, own-case assessment tie-in)
14 Closing (summary, memorable line, before-next-unit list, teaser)

SCREEN 7 - THE PRACTICE LAB
- A head with title, subtitle and a Copy button calling copyPrompt(this).
- A <pre><code> holding a copy-paste-ready prompt or protocol built around the
  LEARNER'S OWN case. Blanks wrapped in <span class="ph">[LIKE THIS]</span>,
  structural keywords in <span class="kw">.
- Two columns: left = line-by-line explanation of WHY each line is there;
  right = "Expected output (illustrative)" showing the SHAPE of a good answer
  without giving THE answer.
- A closing note reminding the learner the case and judgement are their own.

SVG RULES
Author it by hand. No placeholder rectangles labelled "diagram here". Every
label dark on light OR white on dark; never light grey on light. Visible stroke
on every shape. Under ~40 elements so it stays legible on a phone.

SELF-CHECK BEHAVIOUR
Each question carries data-answer="0..3". pick(el,i) marks correct/incorrect,
disables the group and reveals the matching feedback. Feedback for WRONG
answers must teach the distinction, not just say "incorrect".

CONTENT
Use the Unit 1 brief. Write in the register of the audience in SPEC - plain,
concrete, second-person, example-led. No filler, no marketing tone. If
bilingual, both languages carry the same substance; the second is a real
translation, not a stub.

Output the complete HTML file only.

Why it is shaped this wayMengapa ia berbentuk begini

  • SpineFourteen screens, each doing exactly one job. Segmenting material this way holds extraneous load low enough for the learner to build the schema you are actually teaching.7Empat belas skrin, setiap satu melakukan satu tugas sahaja. Pembahagian bahan sebegini mengekalkan beban luaran cukup rendah untuk pelajar membina skema yang sebenarnya anda ajarkan.7
  • LibAsking for the full component library up front β€” even unused parts β€” means unit 7 never has to invent CSS, which is where visual drift starts.Meminta pustaka komponen penuh di awal β€” termasuk bahagian tak terpakai β€” bermakna unit 7 tidak perlu mencipta CSS, iaitu punca penyimpangan visual bermula.
  • GuideGuide view is not a convenience feature. It is the difference between slides that need a lecturer and material that teaches alone.Paparan panduan bukan ciri kemudahan. Ia perbezaan antara slaid yang memerlukan pensyarah dan bahan yang mengajar sendiri.
  • SVGWithout the explicit "no placeholder rectangles" line, models reliably emit an empty box captioned "diagram".Tanpa baris "tiada segi empat pengganti" yang jelas, model memang lazim mengeluarkan kotak kosong berkapsyen "rajah".
  • Fdbk"Teach the distinction" is what turns a quiz into formative assessment rather than a scoring device.8"Ajar perbezaannya" mengubah kuiz menjadi pentaksiran formatif dan bukan sekadar alat pemarkahan.8

Expected output (illustrative)Output dijangka (ilustrasi)

One HTML file, roughly 700–900 lines. Open it, click every control, read it end to end in guide view, and fix it now. Every flaw you leave in this file will appear eleven more times. Satu fail HTML, lebih kurang 700–900 baris. Buka, klik setiap kawalan, baca hujung ke hujung dalam paparan panduan, dan betulkan sekarang. Setiap kecacatan yang anda tinggalkan akan muncul sebelas kali lagi.
πŸ’‘ Already have a template you like? Skip P3 entirely and go straight to P4 to describe it.πŸ’‘ Sudah ada templat yang anda suka? Langkau P3 sepenuhnya dan terus ke P4 untuk memerihalkannya.
πŸ“ P4 β€” The Structure Contract
Run in the SAME session as P3, while the template is still in view.
TASK: Extract a STRUCTURE CONTRACT from the file you just produced.

The contract is what I will paste into future sessions INSTEAD of the whole
template. It must be under 70 lines, and must let a DIFFERENT model, with no
sight of the template file, produce a class-identical sibling unit.

Include:
1. The exact head requirements and the body attribute pattern.
2. The full list of CSS class names, grouped by component, each with a one-line
   note on its purpose. Names only - not the rules.
3. The 14 screen sections in order, with the required components inside each.
4. The exact JS function signatures that must exist, and what each does in one
   line: setLang(l), toggleMode(), go(n), show(i), pick(el,i), copyPrompt(btn).
5. The five things that change between units, and NOTHING else:
   title . the data-accent value and its one CSS rule . the "Unit n / N" brand
   text . the cover teasers and next-unit pointer . all screen content.
6. The invariants: the whole style block and the whole script block are copied
   VERBATIM, byte for byte.

Output the contract only, as markdown.

Why it is shaped this wayMengapa ia berbentuk begini

  • Test"A different model, with no sight of the file" is the acceptance test. If the contract only works for the model that wrote it, it is a memory aid, not a specification."Model berbeza, tanpa melihat fail" ialah ujian penerimaan. Jika kontrak hanya berfungsi untuk model yang menulisnya, ia alat bantu ingatan, bukan spesifikasi.
  • NamesClass names without rules is the whole compression trick: the names are what must match; the rules get copied.Nama kelas tanpa peraturan ialah keseluruhan helah pemampatan: nama itulah yang mesti sepadan; peraturan disalin.
  • 70The line cap is deliberate. A contract long enough to be inconvenient is a contract that stops getting pasted.Had baris itu disengajakan. Kontrak yang cukup panjang untuk menyusahkan ialah kontrak yang berhenti ditampal.

Expected output (illustrative)Output dijangka (ilustrasi)

# STRUCTURE CONTRACT β€” v1
BODY: <body data-accent="uN" class="mode-slides lang-en">
blocks: .block + .concept .fact .realworld .practical …
CHANGES: title Β· data-accent + rule Β· brand Β· teasers Β· content
INVARIANT: entire style block, entire script block
πŸ’‘ Sanity-check it by handing the contract to a different AI and asking for unit 2. If the result matches, the contract is sound.πŸ’‘ Uji kewarasannya dengan menyerahkan kontrak kepada AI yang berbeza dan meminta unit 2. Jika hasilnya sepadan, kontrak itu kukuh.
πŸ” P5 β€” The Unit Loop
A fresh session per unit. This is where 90% of the work happens.
[Paste, in order: P0 . SPEC.md . CONTRACT.md . LEDGER.md so far .
 ONLY this unit's brief . then:]

TASK: Build Unit [n] as a single self-contained HTML file, a sibling of unit-01.

TEMPLATE SOURCE - choose ONE:
(a) unit-01.html is attached or in this project. Copy its style and script
    blocks VERBATIM, byte for byte. Do not improve, reorder, minify or
    reformat them.
(b) No template file available. Reconstruct both blocks strictly from
    CONTRACT.md.

WHAT CHANGES - and only this:
1. The title -> Unit [n] . [title] . [COURSE CODE]
2. body data-accent="u[n]", plus ONE added CSS rule using this unit's assigned
   accent triple. Keep the u1 rule in place as well.
3. Top-bar brand text -> "Unit [n] / [N]"
4. All 14 screens of content, from the brief below.
5. The footer's unit number.

WHAT MUST NOT CHANGE
Every class name. The screen count and order. The JS. The design tokens. The
language-twin pattern.

CONTINUITY - use the LEDGER
- Screen 13 "connects back to" must name specific earlier units by their real
  titles and say what each established.
- Screen 13 "feeds forward to" must name specific later units from the map.
- Do NOT reuse any hook story, primary case, tool or source already listed in
  the ledger. Check the ledger before choosing.
- Screen 9's framework must be new, and should visibly build on an earlier
  unit's framework.
- Screen 14's teaser must match the next unit's actual title.

QUALITY BARS
- The Practice Lab must exercise THIS unit's specific method, and be genuinely
  runnable today - not a generic "analyse my case" prompt.
- The SVG must be authored for this unit's concept. No reuse of unit 1's shape.
- All 4 tool links and all 4 sources real and current. Mark [VERIFY] if unsure.
- If bilingual, both languages carry equal substance.
- Reading + activity load must fit this unit's independent-learning hours. If
  the brief demands more than fits, trim and note it in a closing comment.

OUTPUT
The complete HTML file only. Then, AFTER the file, output the ledger entry in
exactly this form and nothing more:

UNIT [n] | [title]
accent: [three hex values]
hook: [one line - the story used]
framework: [the named framework introduced]
sources: [4 short citation keys]
tools: [4 tool names]
links-back: [units] | links-fwd: [units]

Line by lineBaris demi baris

  • Src"Byte for byte" is not pedantry. Told merely to "keep the styling", models paraphrase CSS β€” and units slowly stop matching."Bait demi bait" bukan cerewet. Jika hanya disuruh "kekalkan gaya", model memparafrasa CSS β€” dan unit perlahan-lahan tidak lagi sepadan.
  • ChgAn explicit whitelist of five changes beats any list of prohibitions. Anything not on it is invariant by default.Senarai putih lima perubahan yang eksplisit mengatasi mana-mana senarai larangan. Apa sahaja yang tiada padanya adalah tak berubah secara lalai.
  • ContThis block is why the ledger exists. It is the only thing giving unit 9 accurate knowledge of unit 3 β€” for roughly 1% of the tokens.Blok inilah sebab lejar wujud. Ia satu-satunya perkara yang memberi unit 9 pengetahuan tepat tentang unit 3 β€” dengan kira-kira 1% token.
  • LoadTying content volume to the approved learning hours keeps the material honest against the workload the curriculum promised.Mengikat jumlah kandungan kepada jam pembelajaran yang diluluskan memastikan bahan jujur terhadap beban kerja yang dijanjikan kurikulum.
  • OutRequesting the ledger entry after the file means the model writes it having just built the unit β€” so it is accurate rather than predicted.Meminta catatan lejar selepas fail bermakna model menulisnya sebaik selesai membina unit β€” jadi ia tepat, bukan ramalan.

Expected output (illustrative)Output dijangka (ilustrasi)

A complete HTML file, then exactly seven lines: Satu fail HTML lengkap, kemudian tepat tujuh baris:

UNIT 4 | Bias, Fairness & Social Inequality
accent: #b45309 / #7c3a06 / #fdefdc
hook: Amazon's scrapped AI recruiting tool (2018)
framework: the Four Fairness Questions
links-back: U2, U3 | links-fwd: U5, U7
πŸ’‘ Then: append the entry to LEDGER.md, save the file, close the session, open a new one. Never build two units in one chat.πŸ’‘ Kemudian: tambahkan catatan ke LEDGER.md, simpan fail, tutup sesi itu, buka yang baharu. Jangan sekali-kali bina dua unit dalam satu sembang.
🏠 P6 β€” The Course Hub
Run after all units exist. Fresh session.
[Paste P0 . SPEC.md . CONTRACT.md . the FULL LEDGER.md . then:]

TASK: Build index.html - the hub that links all [N] units.

Reuse the design system from CONTRACT.md (same tokens, same language engine,
same look), but this is a scrolling page, not a deck: no screen engine, no
progress bar, no Prev/Next.

Sections, in order:
1. Hero - course title, code, credits, provider, and the OBE + connectivism
   framing in two sentences.
2. Outcomes and assessment - CLOs verbatim from SPEC, plus the weighting table.
3. How assessment works - explain the own-case rule and the AI-use policy:
   learners MAY use AI tools, but must show their prompts, their screenshots
   and above all their own critique. Using AI transparently and judging it
   critically is itself assessed.
4. The units - a responsive card grid, one card per unit: number, title, a
   one-line description from the ledger, its focus-CLO chip, and the unit's
   accent colour as the card's left border, linking to unit-NN.html. Build the
   grid from a JS array of unit objects so it is trivial to edit later.
5. How to use these materials - four cards: screen view, guide view, self-checks,
   practice labs.
6. The course as a learning network - the connectivism rationale, rendering the
   actual back/forward link structure from the ledger as a visual map.
7. Footer with provider and course code.

Output the complete HTML file only.

Why it is shaped this wayMengapa ia berbentuk begini

  • Β§3Stating the AI-use policy on the hub, not buried in a handbook, is what makes it enforceable β€” and what makes the own-case rule credible.Menyatakan dasar penggunaan AI di hab, bukan tersembunyi dalam buku panduan, menjadikannya boleh dikuatkuasakan β€” dan menjadikan peraturan kes-sendiri itu meyakinkan.
  • Β§4A JS array rather than hand-written cards means adding a unit later is a one-line edit, not a layout job.Tatasusunan JS dan bukan kad tulisan tangan bermakna menambah unit kemudian ialah suntingan satu baris, bukan kerja susun atur.
  • Β§6Rendering the link structure makes the network claim visible. Connectivism you cannot see is connectivism you did not implement.Memaparkan struktur pautan menjadikan dakwaan rangkaian itu kelihatan. Konektivisme yang tak boleh dilihat ialah konektivisme yang tak dilaksanakan.

Expected output (illustrative)Output dijangka (ilustrasi)

A single scrolling page whose unit grid is generated from: Satu halaman menatal yang grid unitnya dijana daripada:
const units=[{n:1,t:"…",clo:"CLO1",a:"#1f5fd0"}, …]
πŸ’‘ Build the hub last. Built early, it will describe units that do not exist yet.πŸ’‘ Bina hab terakhir. Jika dibina awal, ia akan memerihalkan unit yang belum wujud.
πŸ“Š P7 β€” Assessment Rubrics
One analytic rubric per instrument. Fresh session.
[Paste P0 . SPEC.md . CONTRACT.md . then:]

TASK: Build rubrics.html - one analytic rubric per assessment instrument
listed in SPEC.

For each instrument:
- Heading with the instrument name and its weight.
- The CLO(s) it evidences, shown as chips.
- A 4-level analytic rubric as a table: rows = criteria, each with a % weight
  summing to 100; columns = performance levels 1-4 with DESCRIPTIVE labels,
  not bare numbers.
- Every cell contains an observable descriptor. Levels must differ in the
  QUALITY of performance, never merely in quantity. Do not write descriptors
  that differ only by "some / many / most" - that is a word count, not a
  standard.
- At least one criterion per rubric must assess the learner's OWN-case work
  specifically: the authenticity, specificity and personal critique of the
  case they chose.
- Where AI tools are permitted, one criterion must assess the transparency and
  critique of their AI use.
- A score box, and a note that these weightings are a recommended default to be
  reconciled with the faculty's official mark scheme.

Same design system. Print-friendly: an examiner should be able to print it and
mark on paper.

Output the complete HTML file only.

Why it is shaped this wayMengapa ia berbentuk begini

  • QualThe "some / many / most" ban removes the single most common rubric failure: bands that measure volume instead of standard.Larangan "sedikit / banyak / kebanyakan" menghapuskan kegagalan rubrik paling lazim: band yang mengukur kuantiti dan bukan standard.
  • OwnA criterion for own-case authenticity is what makes the anti-plagiarism design assessable rather than merely aspirational.Kriteria keaslian kes-sendiri menjadikan reka bentuk antiplagiat itu boleh ditaksir, bukan sekadar cita-cita.
  • AIAssessing AI-use transparency turns an unmanageable prohibition into a teachable, gradeable skill.Mentaksir ketelusan penggunaan AI mengubah larangan yang tak terurus menjadi kemahiran yang boleh diajar dan dinilai.

Expected output (illustrative)Output dijangka (ilustrasi)

Portfolio (40%) Β· CLO1 Β· CLO2
Case authenticity & specificity β€” 25%
L1 generic or borrowed case Β· L4 a verifiable case only this learner could have written, with named detail
πŸ’‘ Reconcile the generated weightings with your faculty's official scheme before release β€” the AI does not know your regulations.πŸ’‘ Selaraskan pemberat yang dijana dengan skema rasmi fakulti anda sebelum dikeluarkan β€” AI tidak tahu peraturan anda.
πŸ” P8 β€” Conformance Audit
Run after every third unit. Attach 2–3 files at a time.
[Paste P0 . CONTRACT.md . attach the unit files . then:]

TASK: Audit the attached files against CONTRACT.md. Report ONLY - do not
rewrite the files.

Report as a table: File | Check | PASS/FAIL | Evidence | Fix

STRUCTURAL
- Exactly 14 screen sections, in the contracted order.
- Every contracted class name present where required; no invented class names.
- The style and script blocks identical to the golden template except for the
  one added accent rule. Report any difference line by line.
- All six JS functions present with correct signatures.
- Exactly 3 self-check questions, each with a valid data-answer of 0-3, four
  options, and both feedback states populated.

LANGUAGE
- Every user-visible node has all required language twins. List any orphan.
- Flag any second-language block under 60% the length of its twin - that is a
  stub, not a translation.

PEDAGOGICAL
- 3 outcomes per unit, each with an observable verb and a CLO chip.
- No banned verbs: understand, know, be aware of, appreciate.
- Screen 13 names specific units in both directions, and those units exist.
- The Practice Lab exercises this unit's method, not a generic one.
- An SVG is present, hand-authored, and every label meets the contrast rule.

INTEGRITY
- Duplicate hook stories, cases, tools or sources ACROSS the attached files.
- Any citation, DOI or URL that looks fabricated or malformed - list every one
  for manual checking.
- Any [VERIFY] markers still in place.

Finish with a single "MUST FIX BEFORE RELEASE" list, ordered by severity.

Why it is shaped this wayMengapa ia berbentuk begini

  • Only"Report only, do not rewrite" keeps auditing separate from authoring. A model that fixes as it reads stops reporting what was wrong."Lapor sahaja, jangan tulis semula" mengasingkan pengauditan daripada pengarangan. Model yang membaiki sambil membaca berhenti melaporkan apa yang salah.
  • EvidDemanding evidence per row prevents a reassuring wall of PASS. Ask for the quote, get the truth.Menuntut bukti bagi setiap baris menghalang dinding PASS yang menenangkan. Minta petikan, dapat kebenaran.
  • 60%The length ratio is a crude but effective detector of translation stubs, which are otherwise invisible until a student complains.Nisbah panjang ialah pengesan kasar tetapi berkesan bagi terjemahan tempelan, yang selainnya tak kelihatan sehingga pelajar mengadu.
  • CiteNote the wording: "list for manual checking". An AI cannot verify a DOI. Only you can.Perhatikan rumusannya: "senaraikan untuk semakan manual". AI tak boleh mengesahkan DOI. Hanya anda boleh.

Expected output (illustrative)Output dijangka (ilustrasi)

unit-05 Β· outcome verbs Β· FAIL
Evidence: outcome 2 reads "Understand the role of…"
Fix: rewrite at C4 β€” "Differentiate the roles of…"
πŸ’‘ Fixing drift at unit 4 costs one rebuild. Finding it at unit 12 costs eight.πŸ’‘ Membaiki penyimpangan pada unit 4 memakan satu pembinaan semula. Menemuinya pada unit 12 memakan lapan.
βš–οΈ P9 β€” Workload Reconciliation
The accreditation-facing check. Run last.
[Paste P0 . SPEC.md . LEDGER.md . attach the original workload sheet . then:]

TASK: Reconcile the produced materials against the approved learning-time plan.

PART 1 - WORKLOAD RECONCILIATION
For each unit, estimate the actual learner workload the material generates:
- Reading time for the unit itself (count words; use 180 words per minute, and
  report each language separately if bilingual).
- The Practice Lab activity, in realistic minutes, including running the tool
  and writing the critique.
- The "before next unit" tasks and assigned readings.
- The assessment work seeded in that unit.
Output: Unit | Reading | Activity | Prep | ESTIMATED total | ALLOWANCE |
Variance | Verdict.
Flag any unit more than 20% over its allowance and say exactly what to cut.
Then reconcile the grand total against the approved notional hours and credits.

PART 2 - CLO COVERAGE MATRIX
Matrix: rows = units, columns = CLOs. Mark primary and supporting coverage.
Then a second matrix of CLO x assessment instrument. Flag any CLO that is
under-covered, and any instrument that evidences no CLO.

PART 3 - ALIGNMENT NARRATIVE
300-400 words in language suitable for a curriculum committee, explaining how
the materials constructively align outcomes, activities and assessment, and how
connectivism and self-instruction are operationalised. Cite specific screens as
evidence.

PART 4 - ACCREDITOR-FACING NOTES
Any point where the produced materials imply a change to the approved workload
plan, syllabus table, or assessment weighting - listed explicitly so the course
owner can decide whether to amend the form or the materials.
Do not decide this yourself.

Why it is shaped this wayMengapa ia berbentuk begini

  • P1Most generated material quietly over-assigns work. Counting words against the approved hours is the only defence.Kebanyakan bahan yang dijana senyap-senyap memberi kerja berlebihan. Mengira patah perkataan berbanding jam yang diluluskan ialah satu-satunya pertahanan.
  • P2The coverage matrix is what a panel will ask for. Producing it yourself turns a defensive meeting into a briefing.Matriks liputan ialah apa yang panel akan minta. Menghasilkannya sendiri menukar mesyuarat bertahan menjadi taklimat.
  • P4"Do not decide this yourself" is the important line. Whether to amend the form or the material is a governance decision, not a modelling one."Jangan putuskan sendiri" ialah baris penting. Sama ada meminda borang atau bahan ialah keputusan tadbir urus, bukan keputusan model.

Expected output (illustrative)Output dijangka (ilustrasi)

Unit 6 Β· reading 22 min Β· activity 45 min Β· prep 60 min
estimated 2.1 h vs allowance 3.0 h β€” OK
Unit 11 Β· estimated 4.4 h vs 3.0 h β€” 28% over; cut one reading
πŸ’‘ Part 4 is the one output you should never delegate. Read it, decide, and record the decision.πŸ’‘ Bahagian 4 ialah satu-satunya hasil yang jangan sekali-kali anda wakilkan. Baca, putuskan, dan rekodkan keputusan itu.
πŸ—‚οΈ The four handoff files
Create these on your own disk. They are the project's entire memory.
# ============ LEDGER.md ============
# Append one entry after each finished unit. Never edit an old entry.
# Never let an entry exceed 7 lines. If the file passes ~100 lines,
# compress the oldest third into one "UNITS 1-4 SUMMARY" block.

UNIT 1 | [Title]
accent: [#hex] / [#hex] / [#hex]
hook: [the story used, one line]
framework: [the named framework introduced]
sources: [4 short citation keys]
tools: [4 tool names]
links-back: [units or "learner's own experience"] | links-fwd: [units]

UNIT 2 | ...


# ============ THE OTHER THREE ============
# SPEC.md      <- produced by P1. ~1 page. Course identity, CLOs,
#                 assessment map, learning-time table, content spine,
#                 constraints, terminology lock.
# BRIEFS.md    <- produced by P2. The unit map + one 150-200 word brief
#                 per unit + the accent list. Paste ONLY the current
#                 unit's brief into a session, never the whole file.
# CONTRACT.md  <- produced by P4. Under 70 lines. Class names, screen
#                 order, JS signatures, what changes, what is invariant.

# ============ WHAT TO PASTE, WHEN ============
# P1  attach source documents
# P2  P0 + SPEC
# P3  P0 + SPEC + unit-1 brief
# P4  same session as P3
# P5  P0 + SPEC + CONTRACT + LEDGER + ONE brief      <- repeat per unit
# P6  P0 + SPEC + CONTRACT + full LEDGER
# P7  P0 + SPEC + CONTRACT
# P8  P0 + CONTRACT + 2-3 unit files attached
# P9  P0 + SPEC + LEDGER + the workload sheet

Discipline that keeps it workingDisiplin yang mengekalkannya

  • 1Append only. A ledger you rewrite is a ledger you cannot trust.Tambah sahaja. Lejar yang anda tulis semula ialah lejar yang tak boleh dipercayai.
  • 2Never paste the whole BRIEFS file into a unit session β€” it invites the model to blend units together.Jangan tampal keseluruhan fail BRIEFS ke dalam sesi unit β€” ia mengundang model mencampuradukkan unit.
  • 3Keep these four in version control if you can. They are worth more than the generated HTML, which is reproducible from them.Simpan keempat-empat ini dalam kawalan versi jika boleh. Ia lebih bernilai daripada HTML yang dijana, yang boleh dihasilkan semula daripadanya.

Size disciplineDisiplin saiz

SPEC.md β‰ˆ 1 page
BRIEFS.md β‰ˆ 6 pages (paste 15 lines at a time)
CONTRACT.md < 70 lines
LEDGER.md 7 lines Γ— units

Total pasted per unit session: about 3 pages. Jumlah ditampal setiap sesi unit: kira-kira 3 halaman.
πŸ’‘ Your course is your case. Open a text editor now and create the four empty files before you run a single prompt.πŸ’‘ Kursus anda ialah kes anda. Buka penyunting teks sekarang dan cipta keempat-empat fail kosong sebelum anda menjalankan satu gesaan pun.

How to use these materialsCara menggunakan bahan ini

Four ways each unit works for you.Empat cara setiap unit berfungsi untuk anda.
πŸ–₯️ Screen viewPaparan skrin
One idea at a time. Use the arrow keys or the Prev/Next buttons; a progress bar tracks where you are.Satu idea pada satu masa. Gunakan kekunci anak panah atau butang Sebelum/Seterusnya; bar kemajuan menjejaki kedudukan anda.
πŸ“– Guide viewPaparan panduan
Press G to read a whole unit as one scrollable document β€” and to print it with every note visible.Tekan G untuk membaca satu unit penuh sebagai dokumen boleh tatal β€” dan untuk mencetaknya dengan setiap nota kelihatan.
βœ… Self-checksSemakan kendiri
Three questions per unit, no stakes. The feedback on a wrong answer teaches the distinction rather than scoring you.Tiga soalan setiap unit, tiada taruhan. Maklum balas bagi jawapan salah mengajar perbezaannya dan bukan memberi markah.
πŸ§ͺ Prompt labsMakmal gesaan
Every unit carries the prompts it teaches, with a line-by-line explanation and an illustrative expected output.Setiap unit membawa gesaan yang diajarnya, dengan penjelasan baris demi baris dan contoh hasil yang dijangka.

Source materials Β· what to bring, feed and citeBahan sumber Β· apa yang dibawa, disuap dan dipetik

Three questions that get confused with each other. The full guide, the worked example files and the blank templates are in the shared folder.Tiga soalan yang kerap dikelirukan antara satu sama lain. Panduan penuh, fail contoh terisi dan templat kosong ada dalam folder kongsi.
πŸŽ’ What to bringApa yang dibawa
Essential: your SLT sheet and Table 4, exported as CSV or a clean table β€” not a merged-cell spreadsheet. Most useful optional item: your existing slides for one week, so you can compare before and after.Wajib: helaian SLT dan Jadual 4 anda, dieksport sebagai CSV atau jadual bersih β€” bukan hamparan bersel gabung. Item pilihan paling berguna: slaid sedia ada untuk satu minggu, untuk perbandingan sebelum dan selepas.
🎯 What feeds which promptApa menyuap gesaan mana
Give each prompt the minimum it needs β€” extra material is not neutral, it competes for attention. P1 takes your documents; P2 takes only the spec; P5 takes the spec, contract, ledger and one brief. About three pages per session.Beri setiap gesaan hanya keperluan minimumnya β€” bahan berlebihan bukan neutral, ia bersaing untuk perhatian. P1 mengambil dokumen anda; P2 mengambil spesifikasi sahaja; P5 mengambil spesifikasi, kontrak, lejar dan satu ringkasan. Kira-kira tiga halaman setiap sesi.
πŸ“š What to citeApa yang dipetik
Four sources per unit, one of each type: foundational, current (last three years), local, and applied. Every one must be reachable by your students β€” a paywalled article your library does not hold is a name, not a source.Empat sumber setiap unit, satu bagi setiap jenis: asas, semasa (tiga tahun terakhir), tempatan, dan gunaan. Setiap satu mesti boleh dicapai pelajar anda β€” artikel berbayar yang tiada dalam langganan perpustakaan ialah nama, bukan sumber.
βš–οΈ Figures and copyrightRajah dan hak cipta
Diagrams are hand-authored SVG by contract, so every figure in your units is yours. Do not paste figures from papers or textbooks β€” link to the source, or redraw the idea and cite it.Rajah dihasilkan sendiri sebagai SVG mengikut kontrak, jadi setiap rajah dalam unit anda milik anda. Jangan tampal rajah daripada kertas atau buku teks β€” pautkan kepada sumber, atau lukis semula ideanya dan petik sumbernya.
The one check no AI can do for youSatu semakan yang tiada AI boleh lakukan untuk anda

A model can check that your material agrees with itself β€” screen counts, class names, duplicate cases, banned verbs. It cannot check whether a paper exists, whether a law still says what you claim, or whether a tool is still online. Open every DOI and click every link yourself before release.

Model boleh menyemak bahawa bahan anda selaras dengan dirinya sendiri β€” bilangan skrin, nama kelas, kes berganda, kata kerja terlarang. Ia tidak boleh menyemak sama ada sesebuah kertas wujud, sama ada undang-undang masih menyatakan dakwaan anda, atau sama ada sesuatu alat masih dalam talian. Buka setiap DOI dan klik setiap pautan sendiri sebelum pelepasan.

πŸ“Open the shared materials folderBuka folder bahan kongsi

Contains the full source-materials guide, the four worked example files (a real SPEC, BRIEFS, CONTRACT and LEDGER), and the four blank templates to copy into your own course folder.Mengandungi panduan bahan sumber penuh, empat fail contoh terisi (SPEC, BRIEFS, CONTRACT dan LEDGER yang sebenar), dan empat templat kosong untuk disalin ke dalam folder kursus anda.

The series as a learning networkSiri ini sebagai rangkaian pembelajaran

Each unit names the units it depends on and the units it feeds β€” the same structure it asks you to build.Setiap unit menamakan unit yang bergantung kepadanya dan unit yang disuapnya β€” struktur sama yang diminta untuk anda bina.
Connectivism Β· Knowledge lives in the connectionsKonektivisme Β· Pengetahuan hidup dalam hubungan

Unit 1 is the hub. Unit 2 produces what Unit 3 consumes. Unit 4 tests the artefacts of all three, then points outward β€” to your colleagues, your programme, and next year's revision.

Unit 1 ialah hab. Unit 2 menghasilkan apa yang digunakan Unit 3. Unit 4 menguji artifak ketiga-tiganya, kemudian menunjuk ke luar β€” kepada rakan sekerja anda, program anda, dan semakan tahun depan.

Nano β†’ U2 Β· one rewritten outcomesatu hasil ditulis semula U1 β†’ U2 Β· the four filesempat fail U2 β†’ U3 Β· SPEC + BRIEFSSPEC + BRIEFS U3 β†’ U4 Β· template + contract + ledgertemplat + kontrak + lejar U4 β†’ your practiceamalan anda