| Уровень сложности | 🟠 Продвинутый |
|---|---|
| Рекомендуемые языки | Python |
| Основные инструменты | ANTLR4 |
| Предметная область | Педагогика, адаптивное обучение |
Система для создания персонализированных заданий с адаптацией сложности под уровень ученика и анализом прогресса.
// Лексемы
PROFILE : 'profile'
LEVEL : 'level'
DIFFICULTY : 'difficulty'
ADAPT : 'adapt'
BASED_ON : 'based_on'
PERFORMANCE: 'performance'
TRACK : 'track'
ANALYZE : 'analyze'
LBRACE : '{'
RBRACE : '}'
COLON : ':'
COMMA : ','
STRING : '"' (~["\\] | '\\' .)* '"'
NUMBER : [0-9]+
ID : [a-zA-Z_][a-zA-Z_0-9]*
WS : [ \t\r\n]+ -> skip
// Синтаксис
adaptive_system : profile+ adaptation_rules tracking
profile : PROFILE ID LBRACE profile_content RBRACE
profile_content : level performance history
level : LEVEL COLON ('beginner' | 'intermediate' | 'advanced')
performance : PERFORMANCE COLON subject_scores
history : HISTORY COLON attempt+
adaptation_rules : ADAPT LBRACE rule+ RBRACE
rule : WHEN condition THEN action
condition : performance comparison threshold
action : INCREASE difficulty | DECREASE difficulty | SAME difficulty
tracking : TRACK LBRACE metrics RBRACE
metrics : METRICS COLON metric_list
metric_list : metric (COMMA metric)*
metric : 'success_rate' | 'time_spent' | 'error_pattern'
subject_scores : subject (COMMA subject)*
subject : ID COLON NUMBER
attempt : task_id COLON result COLON time_spent
result : 'success' | 'partial' | 'failure'
time_spent : NUMBER
comparison : '>' | '<' | '>=' | '<='
threshold : NUMBER
Задачи:
Задачи:
Задачи:
Задачи:
profile student_001 {
level: intermediate
performance: math: 75, physics: 60
history:
task_001: success: 120
task_002: partial: 180
}
adapt {
when performance < 60 then decrease difficulty
when performance >= 80 then increase difficulty
when performance >= 60 and performance < 80 then same difficulty
}
track {
metrics: success_rate, time_spent, error_pattern
}
Использование в школе:
← К списку | ← 013 | 015 →