meta: add interactive draft URL

This commit is contained in:
2026-07-20 08:36:16 +02:00
parent 9996be03fc
commit 9e17c55b98
+102 -33
View File
@@ -43,7 +43,8 @@
"show_repository_qr": false,
"height_cm": 2.6,
"repeat_on_every_page": true,
"replace_front_matter": true
"replace_front_matter": true,
"url": "https://dce7fb9d-7b2f-5d49-96a2-3a30d3070b84.mpabi.pl/853a7dd7-b00b-4f4a-96e8-c160fc5bb04a"
},
"front_page_scope": {
"title": "Cel karty",
@@ -74,26 +75,36 @@
"bloom_level": "Analiza",
"label": "Model schedulera",
"text": "Uczeń wyjaśnia związek stanu, priorytetu i gotowości oraz odróżnia czas trwania od punktu tickowego.",
"assessment_criteria": ["K04.KW01"]
"assessment_criteria": [
"K04.KW01"
]
},
"K04.EK01": {
"bloom_level": "Zastosowanie",
"label": "Ślad przełączeń",
"text": "Uczeń odtwarza osiem snapshotów, alternację równych priorytetów, blokadę na trzy ticki i natychmiastowe wywłaszczenie.",
"assessment_criteria": ["K04.KW01"]
"assessment_criteria": [
"K04.KW01"
]
}
},
"assessment_criteria": {
"K04.KW01": {
"text": "Program kończy się PASS; ślad ma relację X,Y,X; A jest obserwowane jako BLOCKED; elapsed=3; B działa z p3 między znacznikami BEFORE i AFTER; osiem snapshotów jest spójnych.",
"learning_effects": ["K04.EN01", "K04.EK01"]
"learning_effects": [
"K04.EN01",
"K04.EK01"
]
}
},
"educational_requirements": {
"K04.WE01": {
"text": "Przewidzenie i udowodnienie decyzji schedulera FreeRTOS.",
"label": "Stany, priorytety i ticki",
"learning_effects": ["K04.EN01", "K04.EK01"],
"learning_effects": [
"K04.EN01",
"K04.EK01"
],
"learning_tree": {
"schema": "we-learning-tree.v1",
"policy": "Każde twierdzenie o schedulerze ma odpowiadający snapshot, tick albo znacznik kolejności.",
@@ -151,20 +162,32 @@
"title": "Stan i gotowość do wykonania",
"content_kind": "prose",
"content_tex": "Zadanie o najwyższym priorytecie wygrywa tylko wtedy, gdy jest gotowe. Przewidź READY, RUNNING, BLOCKED i DELETED w ośmiu punktach.",
"educational_requirement_refs": ["K04.WE01"],
"learning_effect_refs": ["K04.EN01"],
"assessment_criterion_refs": ["K04.KW01"],
"area_tree_refs": ["K04.WE01.OG.LOCAL.RTOS.MODEL.01"],
"educational_requirement_refs": [
"K04.WE01"
],
"learning_effect_refs": [
"K04.EN01"
],
"assessment_criterion_refs": [
"K04.KW01"
],
"area_tree_refs": [
"K04.WE01.OG.LOCAL.RTOS.MODEL.01"
],
"steps": [
{
"id": "S01",
"title": "Wypełnij tabelę stanów przed uruchomieniem kodu.",
"tree_refs": ["K04.WE01.OG.LOCAL.RTOS.MODEL.01"]
"tree_refs": [
"K04.WE01.OG.LOCAL.RTOS.MODEL.01"
]
},
{
"id": "S02",
"title": "Wyjaśnij, dlaczego BLOCKED/p4 przegrywa z READY/p2.",
"tree_refs": ["K04.WE01.OG.LOCAL.RTOS.MODEL.01"]
"tree_refs": [
"K04.WE01.OG.LOCAL.RTOS.MODEL.01"
]
}
]
},
@@ -172,20 +195,32 @@
"title": "Time slicing i blokada na trzy ticki",
"content_kind": "prose",
"content_tex": "Dopuść A--B--A albo B--A--B, a następnie pokaż A jako BLOCKED i różnicę end-start równą 3 ticki.",
"educational_requirement_refs": ["K04.WE01"],
"learning_effect_refs": ["K04.EK01"],
"assessment_criterion_refs": ["K04.KW01"],
"area_tree_refs": ["K04.WE01.TECH.LOCAL.DBG.SCHED.01"],
"educational_requirement_refs": [
"K04.WE01"
],
"learning_effect_refs": [
"K04.EK01"
],
"assessment_criterion_refs": [
"K04.KW01"
],
"area_tree_refs": [
"K04.WE01.TECH.LOCAL.DBG.SCHED.01"
],
"steps": [
{
"id": "S03",
"title": "Sprawdź relację first==third i first!=second.",
"tree_refs": ["K04.WE01.TECH.LOCAL.DBG.SCHED.01"]
"tree_refs": [
"K04.WE01.TECH.LOCAL.DBG.SCHED.01"
]
},
{
"id": "S04",
"title": "Zapisz snapshot BLOCKED/RUNNING oraz trzy ticki elapsed.",
"tree_refs": ["K04.WE01.TECH.LOCAL.DBG.SCHED.01"]
"tree_refs": [
"K04.WE01.TECH.LOCAL.DBG.SCHED.01"
]
}
]
},
@@ -193,20 +228,32 @@
"title": "Natychmiastowe wywłaszczenie po zmianie priorytetu",
"content_kind": "prose",
"content_tex": "A zapisuje BEFORE=1, podnosi B do p3 i dopiero po wznowieniu zapisuje AFTER=3. B musi zapisać HIGH=2 pomiędzy nimi.",
"educational_requirement_refs": ["K04.WE01"],
"learning_effect_refs": ["K04.EK01"],
"assessment_criterion_refs": ["K04.KW01"],
"area_tree_refs": ["K04.WE01.TECH.LOCAL.DBG.SCHED.01"],
"educational_requirement_refs": [
"K04.WE01"
],
"learning_effect_refs": [
"K04.EK01"
],
"assessment_criterion_refs": [
"K04.KW01"
],
"area_tree_refs": [
"K04.WE01.TECH.LOCAL.DBG.SCHED.01"
],
"steps": [
{
"id": "S05",
"title": "Pokaż B jako RUNNING/p3, gdy A jest READY/p2.",
"tree_refs": ["K04.WE01.TECH.LOCAL.DBG.SCHED.01"]
"tree_refs": [
"K04.WE01.TECH.LOCAL.DBG.SCHED.01"
]
},
{
"id": "S06",
"title": "Udowodnij porządek markerów 1,2,3.",
"tree_refs": ["K04.WE01.TECH.LOCAL.DBG.SCHED.01"]
"tree_refs": [
"K04.WE01.TECH.LOCAL.DBG.SCHED.01"
]
}
]
},
@@ -214,20 +261,32 @@
"title": "Typy i granica nieposiadającej referencji",
"content_kind": "prose",
"content_tex": "Ticks opisuje czas trwania, TickPoint punkt licznika, a TaskRef tylko widok uchwytu. Po usunięciu taska widok może wisieć.",
"educational_requirement_refs": ["K04.WE01"],
"learning_effect_refs": ["K04.EN01"],
"assessment_criterion_refs": ["K04.KW01"],
"area_tree_refs": ["K04.WE01.OG.LOCAL.RTOS.MODEL.01"],
"educational_requirement_refs": [
"K04.WE01"
],
"learning_effect_refs": [
"K04.EN01"
],
"assessment_criterion_refs": [
"K04.KW01"
],
"area_tree_refs": [
"K04.WE01.OG.LOCAL.RTOS.MODEL.01"
],
"steps": [
{
"id": "S07",
"title": "Porównaj vTaskDelay z xTaskDelayUntil.",
"tree_refs": ["K04.WE01.OG.LOCAL.RTOS.MODEL.01"]
"tree_refs": [
"K04.WE01.OG.LOCAL.RTOS.MODEL.01"
]
},
{
"id": "S08",
"title": "Uzasadnij brak odczytu przez TaskRef po delete.",
"tree_refs": ["K04.WE01.OG.LOCAL.RTOS.MODEL.01"]
"tree_refs": [
"K04.WE01.OG.LOCAL.RTOS.MODEL.01"
]
}
]
}
@@ -238,11 +297,21 @@
"uuid": "853a7dd7-b00b-4f4a-96e8-c160fc5bb04a",
"prompt_tex": "Przewidź tabelę stanów, uruchom Hazard3 i udowodnij time slicing, blokadę na trzy ticki oraz wywłaszczenie kolejnością BEFORE--HIGH--AFTER.",
"criterion": "Ślad X,Y,X; A=BLOCKED/B=RUNNING; elapsed=3; B/p3 między znacznikami 1 i 3; osiem snapshotów; pass=1.",
"educational_requirement_refs": ["K04.WE01"],
"learning_effect_refs": ["K04.EN01", "K04.EK01"],
"educational_requirement_refs": [
"K04.WE01"
],
"learning_effect_refs": [
"K04.EN01",
"K04.EK01"
],
"assessment_criterion_ref": "K04.KW01",
"links": {"equations": [], "figures": []}
"links": {
"equations": [],
"figures": []
}
}
},
"tasks_order": ["task01"]
"tasks_order": [
"task01"
]
}