feat(bisaya-course): enhance phase 4 didactics with new learning goals and speaking prompts
All checks were successful
Deploy to production / deploy (push) Successful in 1m31s

- Expanded the BISAYA_PHASE4_DIDACTICS by adding new learning goals, core patterns, speaking prompts, and practical tasks to improve language acquisition.
- Updated the course content generation scripts to incorporate the new lesson structures and ensure alignment with the latest didactic updates.
- Enhanced the logic for generating exercises based on lesson types, introducing additional situational and speaking exercises for advanced lessons.
This commit is contained in:
Torsten Schulz (local)
2026-04-17 15:12:21 +02:00
parent 4df8f97a41
commit 4205639de3
10 changed files with 599 additions and 69 deletions

View File

@@ -16,7 +16,10 @@ import { GERMAN_FOR_BISAYA_PHASE1_DIDACTICS, GERMAN_FOR_BISAYA_PHASE1_LESSONS }
import { GERMAN_FOR_BISAYA_PHASE3_DIDACTICS, GERMAN_FOR_BISAYA_PHASE3_LESSONS } from './german-for-bisaya-phase3-extension.js';
import { GERMAN_FOR_BISAYA_PHASE4_DIDACTICS, GERMAN_FOR_BISAYA_PHASE4_LESSONS } from './german-for-bisaya-phase4-extension.js';
import { GERMAN_FOR_BISAYA_PHASE5_DIDACTICS, GERMAN_FOR_BISAYA_PHASE5_LESSONS } from './german-for-bisaya-phase5-extension.js';
import { getGermanForBisayaLessonPedagogy } from './german-for-bisaya-phase2-pedagogy.js';
import {
getGermanForBisayaLessonPedagogy,
getGermanForBisayaProgressTargets
} from './german-for-bisaya-phase2-pedagogy.js';
const ALL_GERMAN_FOR_BISAYA_LESSONS = [
...GERMAN_FOR_BISAYA_PHASE1_LESSONS,
@@ -107,6 +110,7 @@ async function createGermanForBisayaCourse(ownerHashedId) {
for (const lessonData of ALL_GERMAN_FOR_BISAYA_LESSONS) {
const didactics = ALL_GERMAN_FOR_BISAYA_DIDACTICS[lessonData.title] || {};
const pedagogy = getGermanForBisayaLessonPedagogy(lessonData.num, lessonData.type, lessonData.title);
const progressTargets = getGermanForBisayaProgressTargets(lessonData, pedagogy);
await VocabCourseLesson.create({
courseId: course.id,
@@ -130,8 +134,8 @@ async function createGermanForBisayaCourse(ownerHashedId) {
grammarFocus: didactics.grammarFocus || null,
speakingPrompts: didactics.speakingPrompts || null,
practicalTasks: didactics.practicalTasks || null,
targetMinutes: lessonData.targetMin,
targetScorePercent: lessonData.targetScore,
targetMinutes: progressTargets.targetMinutes,
targetScorePercent: progressTargets.targetScorePercent,
requiresReview: lessonData.review
});
}