feat(bisaya-course): enhance lesson content for temporal grammar and exercises
All checks were successful
Deploy to production / deploy (push) Successful in 2m52s

- Updated learning goals to emphasize distinguishing between past, present, and future in everyday sentences.
- Revised core patterns to include specific examples for each tense, improving clarity and context for learners.
- Expanded grammar focus sections to provide detailed explanations of time markers and their usage.
- Introduced new exercises for practicing grammar focus, including multiple-choice questions and transformation tasks, enhancing student engagement with temporal aspects of the language.
- Updated speaking prompts and practical tasks to reflect the new content structure, ensuring a comprehensive learning experience.
This commit is contained in:
Torsten Schulz (local)
2026-04-15 13:25:15 +02:00
parent feda7d90f2
commit cc791501c9
3 changed files with 186 additions and 43 deletions

View File

@@ -300,18 +300,34 @@ const LESSON_DIDACTICS = {
},
'Zeitformen - Grundlagen': {
learningGoals: [
'Ni- und Mo- als einfache Zeitmarker unterscheiden.',
'Kurze Sätze in Vergangenheit und Zukunft bilden.',
'Das Muster laut mit mehreren Verben wiederholen.'
'Vergangenheit, laufende Handlung und Zukunft in einfachen Alltagssätzen unterscheiden.',
'Zeitmarker (ni-, nag-/ga-, mo-) mit Zeitwörtern sinnvoll kombinieren.',
'Zwischen denselben Verben in drei Zeitbezügen sicher wechseln.'
],
corePatterns: [
{ target: 'Ni-kaon ko ganiha.', gloss: 'Ich habe vorhin gegessen.' },
{ target: 'Nagkaon ko karon.', gloss: 'Ich esse gerade jetzt.' },
{ target: 'Mo-kaon ko unya.', gloss: 'Ich werde später essen.' },
{ target: 'Ni-adto ko sa merkado ganiha.', gloss: 'Ich bin vorhin zum Markt gegangen.' },
{ target: 'Naa ko sa merkado karon.', gloss: 'Ich bin jetzt auf dem Markt.' },
{ target: 'Mo-adto ko sa merkado ugma.', gloss: 'Ich werde morgen zum Markt gehen.' },
{ target: 'Nipalit ko og isda ganiha.', gloss: 'Ich habe vorhin Fisch gekauft.' },
{ target: 'Mupalit ko og isda ugma.', gloss: 'Ich werde morgen Fisch kaufen.' }
],
corePatterns: ['Ni-kaon ko.', 'Mo-kaon ko.', 'Ni-adto ko.', 'Mo-adto ko.'],
grammarFocus: [
{ title: 'Zeitpräfixe', text: 'Ni- verweist auf Vergangenes, Mo- auf Zukünftiges oder Bevorstehendes.', example: 'Ni-kaon ko. / Mo-kaon ko.' }
{ title: 'Vergangenheit mit ni-', text: 'ni- markiert im Grundkurs häufig abgeschlossene Handlungen in der Vergangenheit.', example: 'Ni-kaon ko ganiha.' },
{ title: 'Laufende Handlung mit nag-/ga-', text: 'Für gerade laufende oder aktuelle Handlungen wird oft nag-/ga- genutzt, häufig zusammen mit karon.', example: 'Nagkaon ko karon.' },
{ title: 'Zukunft/Absicht mit mo-', text: 'mo- markiert im Kurs Zukünftiges oder Vorhaben und wird oft mit unya/ugma kombiniert.', example: 'Mo-adto ko ugma.' },
{ title: 'Zeitwörter als Klarsteller', text: 'Wörter wie ganiha, karon und ugma helfen, den Zeitbezug eindeutig zu machen.', example: 'ganiha (vorhin), karon (jetzt), ugma (morgen)' }
],
speakingPrompts: [
{ title: 'Vorher und nachher', prompt: 'Sage einen Satz über etwas, das du getan hast, und einen Satz über etwas, das du tun wirst.', cue: 'Ni-kaon ko. Mo-adto ko.' }
{ title: 'Dreierschritt Zeit', prompt: 'Formuliere denselben Inhalt nacheinander für Vergangenheit, Gegenwart und Zukunft.', cue: 'Ni-adto ko ganiha. Naa ko diri karon. Mo-adto ko ugma.' },
{ title: 'Tagesplanung mit Zeiten', prompt: 'Sage, was du vorhin getan hast, was du jetzt machst und was du später tun wirst.', cue: 'Nipalit ko ganiha. Nagluto ko karon. Mo-kaon ko unya.' }
],
practicalTasks: [{ title: 'Mustertraining', text: 'Nimm ein Verb und sprich es einmal mit Ni- und einmal mit Mo-.' }]
practicalTasks: [
{ title: 'Verb-Staffel', text: 'Nimm drei Verben (z. B. kaon, adto, palit) und bilde jeweils Vergangenheit, Gegenwart und Zukunft laut.' },
{ title: 'Zeitkarten', text: 'Ziehe zufällig ein Zeitwort (ganiha/karon/unya/ugma) und bilde sofort einen passenden Satz.' }
]
},
'Alltagsgespräche - Teil 2': {
learningGoals: [

View File

@@ -598,6 +598,43 @@ function buildTaskSentenceExercise(lesson, didactics, pattern) {
};
}
function buildGrammarFocusCheckExercise(lesson, didactics) {
const focus = Array.isArray(didactics?.grammarFocus) ? didactics.grammarFocus[0] : null;
const text = normalizeText(focus?.text || '');
if (!text) return null;
const lower = text.toLowerCase();
let question = `Welcher Marker passt im Schwerpunkt "${lesson.title}" typischerweise für eine Zukunftsaussage?`;
let options = ['mo-', 'ni-', 'nag-/ga-', 'ka-'];
let correctAnswer = 0;
let explanation = 'Im Grundkurs wird mo- als Marker für Zukunft/Absicht verwendet.';
if (lower.includes('vergangen')) {
question = `Welcher Marker passt im Schwerpunkt "${lesson.title}" typischerweise für eine vergangene Handlung?`;
options = ['ni-', 'mo-', 'nag-/ga-', 'ka-'];
correctAnswer = 0;
explanation = 'Im Grundkurs steht ni- typischerweise für abgeschlossene Vergangenheit.';
} else if (lower.includes('gegenwart') || lower.includes('laufende')) {
question = `Welcher Marker passt im Schwerpunkt "${lesson.title}" typischerweise für eine laufende Handlung?`;
options = ['nag-/ga-', 'ni-', 'mo-', 'ka-'];
correctAnswer = 0;
explanation = 'Nag-/ga- markiert im Kurs eine laufende Handlung in der Gegenwart.';
}
return {
exerciseTypeId: 2,
title: `${lesson.title}: Grammatikfokus prüfen`,
instruction: 'Wähle die passendste Antwort.',
questionData: {
type: 'multiple_choice',
question,
options
},
answerData: { type: 'multiple_choice', correctAnswer },
explanation
};
}
function buildSpeakingExercise(lessonTitle, didactics, fallbackPattern) {
const speakingPrompt = Array.isArray(didactics.speakingPrompts) ? didactics.speakingPrompts[0] : null;
const expectedText = normalizeText(speakingPrompt?.cue || fallbackPattern);
@@ -722,6 +759,7 @@ function generateExercisesFromDidactics(lesson) {
buildChoiceExercise(lesson, didactics, patternB, lessonPool, 1),
buildContextGapExercise(lesson, didactics, patternA),
buildTaskSentenceExercise(lesson, didactics, patternB),
buildGrammarFocusCheckExercise(lesson, didactics),
buildSpeakingExercise(lesson.title, didactics, patternA)
];
if (String(lesson.title || '').toLowerCase().includes('zeitformen')) {
@@ -1826,6 +1864,23 @@ const BISAYA_EXERCISES = {
},
explanation: 'Das Präfix "Ni-" zeigt die Vergangenheit an. "Ni-kaon ko" bedeutet "Ich habe gegessen".'
},
{
exerciseTypeId: 4, // transformation
title: 'Gegenwart verstehen',
instruction: 'Was bedeutet "Nagkaon ko karon"?',
questionData: {
type: 'transformation',
text: 'Nagkaon ko karon',
sourceLanguage: 'Bisaya',
targetLanguage: 'Deutsch'
},
answerData: {
type: 'transformation',
correct: 'Ich esse gerade jetzt',
alternatives: ['Ich esse jetzt', 'Ich bin gerade am Essen']
},
explanation: 'nag- plus "karon" markiert hier eine laufende Handlung in der Gegenwart.'
},
{
exerciseTypeId: 4, // transformation
title: 'Zukunft verstehen',
@@ -1849,54 +1904,98 @@ const BISAYA_EXERCISES = {
instruction: 'Setze die richtigen Präfixe ein.',
questionData: {
type: 'gap_fill',
text: '{gap}-kaon ko (Vergangenheit) | {gap}-kaon ko (Zukunft)',
gaps: 2
text: '{gap}-kaon ko ganiha (Vergangenheit) | {gap}kaon ko karon (Gegenwart) | {gap}-kaon ko ugma (Zukunft)',
gaps: 3
},
answerData: {
type: 'gap_fill',
answers: ['Ni', 'Mo']
answers: ['Ni', 'Nag', 'Mo']
},
explanation: 'Ni- für Vergangenheit, Mo- für Zukunft.'
explanation: 'Ni- für Vergangenheit, nag- für laufende Gegenwart, mo- für Zukunft.'
},
withTypeName('pattern_drill', {
title: 'Zeitmuster anwenden',
instruction: 'Bilde mit demselben Muster einen Zukunftssatz.',
instruction: 'Bilde mit demselben Verb drei Zeitformen.',
questionData: {
type: 'pattern_drill',
question: 'Verwende das Muster für "gehen".',
pattern: 'Mo- + Verb + ko'
question: 'Verwende das Verb "adto" in Vergangenheit, Gegenwart und Zukunft.',
pattern: 'Ni- / Nag- / Mo- + adto + ko'
},
answerData: {
modelAnswer: 'Mo-adto ko.',
correct: ['Mo-adto ko.', 'Moadto ko.']
modelAnswer: 'Ni-adto ko. Nag-adto ko karon. Mo-adto ko.',
correct: ['Ni-adto ko. Nag-adto ko karon. Mo-adto ko.', 'Niadto ko. Nagadto ko karon. Moadto ko.']
},
explanation: 'Mit "Mo-" kannst du ein einfaches Zukunftsmuster bilden.'
explanation: 'Das Drillmuster trainiert den direkten Wechsel derselben Handlung über drei Zeitbezüge.'
}),
{
exerciseTypeId: 3,
title: 'Vergangenheit und Zukunft bauen',
instruction: 'Schreibe beide Formen nacheinander auf.',
title: 'Drei Zeiten nacheinander bauen',
instruction: 'Schreibe Vergangenheit, Gegenwart und Zukunft nacheinander auf.',
questionData: {
type: 'sentence_building',
question: 'Formuliere: "Ich habe gegessen. Ich werde essen."',
tokens: ['Ni-kaon', 'ko', 'Mo-kaon', 'ko']
question: 'Formuliere: "Ich habe gegessen. Ich esse jetzt. Ich werde später essen."',
tokens: ['Ni-kaon', 'ko', 'Nagkaon', 'ko', 'karon', 'Mo-kaon', 'ko', 'unya']
},
answerData: {
correct: ['Ni-kaon ko. Mo-kaon ko.', 'Nikaon ko. Mokaon ko.']
correct: [
'Ni-kaon ko. Nagkaon ko karon. Mo-kaon ko unya.',
'Nikaon ko. Nagkaon ko karon. Mokaon ko unya.'
]
},
explanation: 'Die Übung trainiert den direkten Wechsel zwischen den beiden Zeitmarkern.'
explanation: 'Die Übung trainiert den systematischen Wechsel zwischen Vergangenheit, Gegenwart und Zukunft.'
},
{
exerciseTypeId: 2,
title: 'Ni- oder Mo- wählen',
instruction: 'Wähle das Präfix für die Zukunft.',
title: 'Zeitmarker auswählen',
instruction: 'Wähle den passenden Marker für eine laufende Handlung.',
questionData: {
type: 'multiple_choice',
question: 'Welches Präfix steht typischerweise für die Zukunft?',
options: ['Mo-', 'Ni-', 'Ka-', 'Gi-']
question: 'Welcher Marker passt typischerweise zu einer laufenden Handlung in der Gegenwart?',
options: ['Nag-/ga-', 'Ni-', 'Mo-', 'Gi-']
},
answerData: { type: 'multiple_choice', correctAnswer: 0 },
explanation: '„Mo-" markiert Zukunft, „Ni-" markiert Vergangenheit.'
explanation: 'Nag-/ga- steht hier für laufende Gegenwart, ni- für Vergangenheit und mo- für Zukunft.'
},
{
exerciseTypeId: 2,
title: 'Zeitwort zuordnen',
instruction: 'Wähle das passende Zeitwort zur Zukunft.',
questionData: {
type: 'multiple_choice',
question: 'Welches Zeitwort passt am besten zu einer Zukunftsaussage?',
options: ['ugma', 'ganiha', 'karon', 'didto']
},
answerData: { type: 'multiple_choice', correctAnswer: 0 },
explanation: '„ugma" bedeutet morgen und unterstützt Zukunftsformen.'
},
withTypeName('dialog_completion', {
title: 'Zeitwechsel im Mini-Dialog',
instruction: 'Ergänze eine passende Zukunftsantwort.',
questionData: {
type: 'dialog_completion',
question: 'A sagt, was vorhin war. B reagiert mit Zukunft.',
dialog: ['A: Ni-kaon ko ganiha.', 'B: ...']
},
answerData: {
modelAnswer: 'Mo-kaon ko unya.',
correct: ['Mo-kaon ko unya.', 'Mokaon ko unya.']
},
explanation: 'Der Dialog trainiert den Wechsel von Vergangenheit auf Zukunft.'
}),
{
exerciseTypeId: 8,
title: 'Zeitformen frei anwenden',
instruction: 'Sprich drei kurze Sätze: gestern/jetzt/morgen.',
questionData: {
type: 'speaking_from_memory',
question: 'Nutze ein Verb in Vergangenheit, Gegenwart und Zukunft.',
expectedText: 'Ni-..., nag-..., mo-...',
keywords: ['ni', 'nag', 'mo', 'ganiha', 'karon', 'ugma']
},
answerData: {
type: 'speaking_from_memory'
},
explanation: 'Zum Abschluss nutzt du die Zeitmarker ohne Vorgabe frei im eigenen Mini-Output.'
}
],

View File

@@ -468,34 +468,62 @@ const LESSON_DIDACTICS = {
},
'Zeitformen - Grundlagen': {
learningGoals: [
'Ni- und Mo- als einfache Zeitmarker unterscheiden.',
'Kurze Sätze in Vergangenheit und Zukunft bilden.',
'Das Muster laut mit mehreren Verben wiederholen.'
'Vergangenheit, laufende Handlung und Zukunft in einfachen Alltagssätzen unterscheiden.',
'Zeitmarker (ni-, nag-/ga-, mo-) mit Zeitwörtern sinnvoll kombinieren.',
'Zwischen denselben Verben in drei Zeitbezügen sicher wechseln.'
],
corePatterns: [
'Ni-kaon ko.',
'Mo-kaon ko.',
'Ni-adto ko.',
'Mo-adto ko.'
{ target: 'Ni-kaon ko ganiha.', gloss: 'Ich habe vorhin gegessen.' },
{ target: 'Nagkaon ko karon.', gloss: 'Ich esse gerade jetzt.' },
{ target: 'Mo-kaon ko unya.', gloss: 'Ich werde später essen.' },
{ target: 'Ni-adto ko sa merkado ganiha.', gloss: 'Ich bin vorhin zum Markt gegangen.' },
{ target: 'Naa ko sa merkado karon.', gloss: 'Ich bin jetzt auf dem Markt.' },
{ target: 'Mo-adto ko sa merkado ugma.', gloss: 'Ich werde morgen zum Markt gehen.' },
{ target: 'Nipalit ko og isda ganiha.', gloss: 'Ich habe vorhin Fisch gekauft.' },
{ target: 'Mupalit ko og isda ugma.', gloss: 'Ich werde morgen Fisch kaufen.' }
],
grammarFocus: [
{
title: 'Zeitpräfixe',
text: 'Ni- verweist auf Vergangenes, Mo- auf Zukünftiges oder Bevorstehendes.',
example: 'Ni-kaon ko. / Mo-kaon ko.'
title: 'Vergangenheit mit ni-',
text: 'ni- markiert im Grundkurs häufig abgeschlossene Handlungen in der Vergangenheit.',
example: 'Ni-kaon ko ganiha.'
},
{
title: 'Laufende Handlung mit nag-/ga-',
text: 'Für gerade laufende oder aktuelle Handlungen wird oft nag-/ga- genutzt, häufig zusammen mit karon.',
example: 'Nagkaon ko karon.'
},
{
title: 'Zukunft/Absicht mit mo-',
text: 'mo- markiert im Kurs Zukünftiges oder Vorhaben und wird oft mit unya/ugma kombiniert.',
example: 'Mo-adto ko ugma.'
},
{
title: 'Zeitwörter als Klarsteller',
text: 'Wörter wie ganiha, karon und ugma helfen, den Zeitbezug eindeutig zu machen.',
example: 'ganiha (vorhin), karon (jetzt), ugma (morgen)'
}
],
speakingPrompts: [
{
title: 'Vorher und nachher',
prompt: 'Sage einen Satz über etwas, das du getan hast, und einen Satz über etwas, das du tun wirst.',
cue: 'Ni-kaon ko. Mo-adto ko.'
title: 'Dreierschritt Zeit',
prompt: 'Formuliere denselben Inhalt nacheinander für Vergangenheit, Gegenwart und Zukunft.',
cue: 'Ni-adto ko ganiha. Naa ko diri karon. Mo-adto ko ugma.'
},
{
title: 'Tagesplanung mit Zeiten',
prompt: 'Sage, was du vorhin getan hast, was du jetzt machst und was du später tun wirst.',
cue: 'Nipalit ko ganiha. Nagluto ko karon. Mo-kaon ko unya.'
}
],
practicalTasks: [
{
title: 'Mustertraining',
text: 'Nimm ein Verb und sprich es einmal mit Ni- und einmal mit Mo-.'
title: 'Verb-Staffel',
text: 'Nimm drei Verben (z. B. kaon, adto, palit) und bilde jeweils Vergangenheit, Gegenwart und Zukunft laut.'
},
{
title: 'Zeitkarten',
text: 'Ziehe zufällig ein Zeitwort (ganiha/karon/unya/ugma) und bilde sofort einen passenden Satz.'
}
]
},