Initial ExerciseRegistrar and PerformanceTrend

This commit is contained in:
EduardDurech 2025-02-06 09:31:41 +00:00
parent 45701be61e
commit 60be5d2949
10 changed files with 240 additions and 141 deletions

View file

@ -0,0 +1,21 @@
from .basic_arithmetic_curriculum import BasicArithmeticCurriculum
from .calendar_arithmetic_curriculum import CalendarArithmeticCurriculum
from .chain_sum_curriculum import ChainSumCurriculum
from .fraction_simplification_curriculum import FractionSimplificationCurriculum
from .gcd_curriculum import GcdCurriculum
from .lcm_curriculum import LcmCurriculum
from .leg_counting_curriculum import LegCountingCurriculum
from .prime_factorization_curriculum import PrimeFactorizationCurriculum
from .time_intervals_curriculum import TimeIntervalsCurriculum
__all__ = [
"BasicArithmeticCurriculum",
"CalendarArithmeticCurriculum",
"ChainSumCurriculum",
"FractionSimplificationCurriculum",
"GcdCurriculum",
"LcmCurriculum",
"LegCountingCurriculum",
"PrimeFactorizationCurriculum",
"TimeIntervalsCurriculum",
]

View file

@ -12,14 +12,14 @@ class ChainSumCurriculum(BaseCurriculum):
def _init_curriculum(self) -> None:
"""Initialize the ChainSum curriculum configuration"""
# Define valid attribute types
self._valid_types = {
AttributeType.STATIC, # For base numbers
AttributeType.UBOUND, # For ranges like digits and terms
AttributeType.APPEND # For operators and notations
}
# Define attributes
self._attributes = {
"num_digits": AttributeDefinition(
@ -66,7 +66,7 @@ class ChainSumCurriculum(BaseCurriculum):
attr_type=AttributeType.STATIC
)
}
# Define templates
self._templates = [
Template(
@ -91,10 +91,10 @@ def generate_expression(attributes: Dict[str, Any]) -> Dict[str, str]:
"""
Generates an expression and its result based on current attribute levels.
This is a placeholder - actual implementation will be in the Exercise class.
Args:
attributes: Dictionary of current attribute levels
Returns:
Dict containing the expression and result as strings
"""