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, "show_repository_qr": false,
"height_cm": 2.6, "height_cm": 2.6,
"repeat_on_every_page": true, "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": { "front_page_scope": {
"title": "Cel karty", "title": "Cel karty",
@@ -74,26 +75,36 @@
"bloom_level": "Analiza", "bloom_level": "Analiza",
"label": "Model schedulera", "label": "Model schedulera",
"text": "Uczeń wyjaśnia związek stanu, priorytetu i gotowości oraz odróżnia czas trwania od punktu tickowego.", "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": { "K04.EK01": {
"bloom_level": "Zastosowanie", "bloom_level": "Zastosowanie",
"label": "Ślad przełączeń", "label": "Ślad przełączeń",
"text": "Uczeń odtwarza osiem snapshotów, alternację równych priorytetów, blokadę na trzy ticki i natychmiastowe wywłaszczenie.", "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": { "assessment_criteria": {
"K04.KW01": { "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.", "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": { "educational_requirements": {
"K04.WE01": { "K04.WE01": {
"text": "Przewidzenie i udowodnienie decyzji schedulera FreeRTOS.", "text": "Przewidzenie i udowodnienie decyzji schedulera FreeRTOS.",
"label": "Stany, priorytety i ticki", "label": "Stany, priorytety i ticki",
"learning_effects": ["K04.EN01", "K04.EK01"], "learning_effects": [
"K04.EN01",
"K04.EK01"
],
"learning_tree": { "learning_tree": {
"schema": "we-learning-tree.v1", "schema": "we-learning-tree.v1",
"policy": "Każde twierdzenie o schedulerze ma odpowiadający snapshot, tick albo znacznik kolejności.", "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", "title": "Stan i gotowość do wykonania",
"content_kind": "prose", "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.", "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"], "educational_requirement_refs": [
"learning_effect_refs": ["K04.EN01"], "K04.WE01"
"assessment_criterion_refs": ["K04.KW01"], ],
"area_tree_refs": ["K04.WE01.OG.LOCAL.RTOS.MODEL.01"], "learning_effect_refs": [
"K04.EN01"
],
"assessment_criterion_refs": [
"K04.KW01"
],
"area_tree_refs": [
"K04.WE01.OG.LOCAL.RTOS.MODEL.01"
],
"steps": [ "steps": [
{ {
"id": "S01", "id": "S01",
"title": "Wypełnij tabelę stanów przed uruchomieniem kodu.", "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", "id": "S02",
"title": "Wyjaśnij, dlaczego BLOCKED/p4 przegrywa z READY/p2.", "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", "title": "Time slicing i blokada na trzy ticki",
"content_kind": "prose", "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.", "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"], "educational_requirement_refs": [
"learning_effect_refs": ["K04.EK01"], "K04.WE01"
"assessment_criterion_refs": ["K04.KW01"], ],
"area_tree_refs": ["K04.WE01.TECH.LOCAL.DBG.SCHED.01"], "learning_effect_refs": [
"K04.EK01"
],
"assessment_criterion_refs": [
"K04.KW01"
],
"area_tree_refs": [
"K04.WE01.TECH.LOCAL.DBG.SCHED.01"
],
"steps": [ "steps": [
{ {
"id": "S03", "id": "S03",
"title": "Sprawdź relację first==third i first!=second.", "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", "id": "S04",
"title": "Zapisz snapshot BLOCKED/RUNNING oraz trzy ticki elapsed.", "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", "title": "Natychmiastowe wywłaszczenie po zmianie priorytetu",
"content_kind": "prose", "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.", "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"], "educational_requirement_refs": [
"learning_effect_refs": ["K04.EK01"], "K04.WE01"
"assessment_criterion_refs": ["K04.KW01"], ],
"area_tree_refs": ["K04.WE01.TECH.LOCAL.DBG.SCHED.01"], "learning_effect_refs": [
"K04.EK01"
],
"assessment_criterion_refs": [
"K04.KW01"
],
"area_tree_refs": [
"K04.WE01.TECH.LOCAL.DBG.SCHED.01"
],
"steps": [ "steps": [
{ {
"id": "S05", "id": "S05",
"title": "Pokaż B jako RUNNING/p3, gdy A jest READY/p2.", "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", "id": "S06",
"title": "Udowodnij porządek markerów 1,2,3.", "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", "title": "Typy i granica nieposiadającej referencji",
"content_kind": "prose", "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ć.", "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"], "educational_requirement_refs": [
"learning_effect_refs": ["K04.EN01"], "K04.WE01"
"assessment_criterion_refs": ["K04.KW01"], ],
"area_tree_refs": ["K04.WE01.OG.LOCAL.RTOS.MODEL.01"], "learning_effect_refs": [
"K04.EN01"
],
"assessment_criterion_refs": [
"K04.KW01"
],
"area_tree_refs": [
"K04.WE01.OG.LOCAL.RTOS.MODEL.01"
],
"steps": [ "steps": [
{ {
"id": "S07", "id": "S07",
"title": "Porównaj vTaskDelay z xTaskDelayUntil.", "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", "id": "S08",
"title": "Uzasadnij brak odczytu przez TaskRef po delete.", "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", "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.", "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.", "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"], "educational_requirement_refs": [
"learning_effect_refs": ["K04.EN01", "K04.EK01"], "K04.WE01"
],
"learning_effect_refs": [
"K04.EN01",
"K04.EK01"
],
"assessment_criterion_ref": "K04.KW01", "assessment_criterion_ref": "K04.KW01",
"links": {"equations": [], "figures": []} "links": {
"equations": [],
"figures": []
}
} }
}, },
"tasks_order": ["task01"] "tasks_order": [
"task01"
]
} }