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
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:
@@ -63,3 +63,43 @@ export function getGermanForBisayaLessonPedagogy(lessonNumber, lessonType, lesso
|
||||
isIntensiveReview: lessonType === 'review'
|
||||
};
|
||||
}
|
||||
|
||||
export function getGermanForBisayaProgressTargets(lessonData, pedagogy) {
|
||||
const baseMinutes = Number(lessonData?.targetMin || 18);
|
||||
const baseScore = Number(lessonData?.targetScore || 80);
|
||||
const lessonNumber = Number(lessonData?.num || 1);
|
||||
const lessonType = String(lessonData?.type || '');
|
||||
const didacticMode = String(pedagogy?.didacticMode || '');
|
||||
const isCheckpoint = String(lessonData?.title || '').toLowerCase().includes('checkpoint');
|
||||
|
||||
// Spuerbar steilere Progression: spaetere Wochen bekommen mehr Produktionszeit
|
||||
// und hoehere Zielwerte, ohne den Einstieg zu ueberfrachten.
|
||||
let minutesBump = 0;
|
||||
if (lessonNumber >= 61 && lessonNumber <= 90) minutesBump += 2;
|
||||
if (lessonNumber >= 91 && lessonNumber <= 120) minutesBump += 4;
|
||||
if (lessonNumber >= 121) minutesBump += 6;
|
||||
|
||||
if (lessonType === 'conversation' && lessonNumber >= 91) minutesBump += 2;
|
||||
if (lessonType === 'review') minutesBump += 3;
|
||||
if (isCheckpoint) minutesBump += 2;
|
||||
|
||||
let scoreBump = 0;
|
||||
if (lessonNumber >= 61 && lessonNumber <= 90) scoreBump += 2;
|
||||
if (lessonNumber >= 91 && lessonNumber <= 120) scoreBump += 4;
|
||||
if (lessonNumber >= 121) scoreBump += 6;
|
||||
|
||||
if (lessonType === 'grammar') scoreBump += 2;
|
||||
if (lessonType === 'review') scoreBump += 2;
|
||||
if (didacticMode === 'contrast_training') scoreBump += 1;
|
||||
if (isCheckpoint) scoreBump += 3;
|
||||
|
||||
const targetMinutes = Math.min(45, baseMinutes + minutesBump);
|
||||
const targetScorePercent = lessonType === 'culture'
|
||||
? 0
|
||||
: Math.min(96, baseScore + scoreBump);
|
||||
|
||||
return {
|
||||
targetMinutes,
|
||||
targetScorePercent
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user