feat(bisaya-course): refine exercises and instructions for improved learning experience
All checks were successful
Deploy to production / deploy (push) Successful in 2m54s

- Updated exercise titles and instructions to enhance clarity and focus on specific learning objectives.
- Modified question data and answer options to better align with the lesson's vocabulary and context.
- Improved explanations to provide clearer guidance on language usage and learning goals, fostering better comprehension for learners.
This commit is contained in:
Torsten Schulz (local)
2026-04-09 17:49:50 +02:00
parent 2b66f76dd9
commit 5cbd6d06b1
2 changed files with 33 additions and 10 deletions

View File

@@ -1290,20 +1290,20 @@ const BISAYA_EXERCISES = {
}, },
{ {
exerciseTypeId: 4, exerciseTypeId: 4,
title: 'Haus mit zwei Zimmern', title: 'Unser Haus benennen',
instruction: 'Übersetze den Satz ins Bisaya.', instruction: 'Übersetze den kurzen Satz ins Bisaya (nur Wortschatz und Muster aus dieser Lektion).',
questionData: { questionData: {
type: 'transformation', type: 'transformation',
text: 'Unser Haus hat zwei Zimmer', text: 'Unser Haus.',
sourceLanguage: 'Deutsch', sourceLanguage: 'Deutsch',
targetLanguage: 'Bisaya' targetLanguage: 'Bisaya'
}, },
answerData: { answerData: {
type: 'transformation', type: 'transformation',
correct: 'Ang among balay kay naay duha ka kwarto', correct: 'Ang among balay',
alternatives: ['Among balay naay duha ka kwarto', 'Ang among balay adunay duha ka kwarto'] alternatives: ['Among balay.', 'Ang among balay.']
}, },
explanation: '„Among balay“ = unser Haus; „duha ka kwarto“ = zwei Zimmer.' explanation: '„Ang among balay.“ = unser Haus; „among“ (inklusiv) und „balay“ sind die Lernziele dieser Einheit.'
}, },
{ {
exerciseTypeId: 4, exerciseTypeId: 4,
@@ -1324,17 +1324,22 @@ const BISAYA_EXERCISES = {
}, },
withTypeName('dialog_completion', { withTypeName('dialog_completion', {
title: 'Nach der Küche fragen', title: 'Nach der Küche fragen',
instruction: 'Ergänze die passende Antwort.', instruction: 'Ergänze die passende Antwort (Ortsangaben wie didto/luyo kommen in der nächsten Lektion).',
questionData: { questionData: {
type: 'dialog_completion', type: 'dialog_completion',
question: 'Welche Antwort passt?', question: 'Welche Antwort passt?',
dialog: ['A: Asa ang kusina?', 'B: ...'] dialog: ['A: Asa ang kusina?', 'B: ...']
}, },
answerData: { answerData: {
modelAnswer: 'Didto sa luyo.', modelAnswer: 'Naa sila sa kusina.',
correct: ['Didto sa luyo.', 'Naa didto.', 'Tua didto sa kusina.', 'Naa siya sa kusina.'] correct: [
'Naa sila sa kusina.',
'Naa siya sa kusina.',
'Naa ko sa kusina.',
'Sa kusina.'
]
}, },
explanation: 'Kurze Wegzeiger wie „Didto sa luyo.“ (dort hinten) oder direkt „Naa siya sa kusina.“' explanation: 'Mit „Naa … sa kusina“ kannst du sagen, wo sich jemand befindet dasselbe Muster wie „Naa sila sa kusina.“ in der Lektion.'
}), }),
withTypeName('situational_response', { withTypeName('situational_response', {
title: 'Zu Hause kurz beschreiben', title: 'Zu Hause kurz beschreiben',

View File

@@ -1868,6 +1868,8 @@ export default {
this.activeTab = 'learn'; this.activeTab = 'learn';
} }
this.syncExerciseSequentialIndexToFirstUnanswered();
this.lessonStatePersistenceReady = true; this.lessonStatePersistenceReady = true;
if (this.vocabTrainerActive && this.vocabTrainerPool.length > 0) { if (this.vocabTrainerActive && this.vocabTrainerPool.length > 0) {
this.$nextTick(() => { this.$nextTick(() => {
@@ -1936,6 +1938,21 @@ export default {
this.exerciseSequentialIndex = next; this.exerciseSequentialIndex = next;
this.persistLessonState(); this.persistLessonState();
}, },
/**
* Kapitel-Prüfung (eine Frage pro Schritt): Wenn gespeicherte Antworten existieren, aber der
* Index noch auf einer schon beantworteten Frage steht, zur ersten noch offenen Frage springen.
*/
syncExerciseSequentialIndexToFirstUnanswered() {
const list = this.scrambledChapterExamExercises;
if (!list.length || !this.sequentialPanelActive) {
return;
}
const firstUnanswered = list.findIndex((exercise) => !this.exerciseResults[exercise.id]);
if (firstUnanswered === -1) {
return;
}
this.exerciseSequentialIndex = firstUnanswered;
},
confirmExerciseReinforcement() { confirmExerciseReinforcement() {
this.showExerciseReinforcementDialog = false; this.showExerciseReinforcementDialog = false;
if (this.exerciseReinforcementPrepMode) { if (this.exerciseReinforcementPrepMode) {
@@ -2042,6 +2059,7 @@ export default {
} }
this.activeTab = 'exercises'; this.activeTab = 'exercises';
this.$nextTick(() => { this.$nextTick(() => {
this.syncExerciseSequentialIndexToFirstUnanswered();
const scrollEl = document.querySelector('.app-content__scroll.contentscroll'); const scrollEl = document.querySelector('.app-content__scroll.contentscroll');
if (scrollEl) { if (scrollEl) {
scrollEl.scrollTop = 0; scrollEl.scrollTop = 0;