From 9e17c55b985a593697b159cf0dcf931e746be763 Mon Sep 17 00:00:00 2001 From: "M. Pabiszczak" <2+mpabi@noreply.zsl-gitea.mpabi.pl> Date: Mon, 20 Jul 2026 08:36:16 +0200 Subject: [PATCH] meta: add interactive draft URL --- json/card_source.json | 135 +++++++++++++++++++++++++++++++----------- 1 file changed, 102 insertions(+), 33 deletions(-) diff --git a/json/card_source.json b/json/card_source.json index fc0b680..1c2f411 100644 --- a/json/card_source.json +++ b/json/card_source.json @@ -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" + ] }