mpclab
Version:
mpclab is a powerful problem generation module tailored for educational purposes. It enables developers and educators to create, customize, and generate a diverse range of problems across subjects like mathematics, physics, and chemistry. With flexible, d
760 lines (759 loc) • 83.7 kB
JSON
{
"math": {
"name": "Math",
"description": "Mathematics problems, including algebra, geometry, calculus, and more.",
"topics": {
"algebra": {
"name": "Algebra",
"description": "Algebra problems, including including expressions, equations, and more.",
"topics": {
"linear-equations": {
"name": "Linear Equations",
"description": "Problems involving linear equations.",
"topics": {
"standardForm": {
"name": "Standard Form",
"description": "Problems involving linear equations in standard form (ax + b = c).",
"parameters": {
"minCoefficient": {
"type": "number",
"name": "Minimum Coefficient",
"description": "The minimum value for the coefficient a.",
"default": -20,
"min": -10000,
"max": 10000
},
"maxCoefficient": {
"type": "number",
"name": "Maximum Coefficient",
"description": "The maximum value for the coefficient a.",
"default": 20,
"min": -10000,
"max": 10000
},
"minConstant": {
"type": "number",
"name": "Minimum Constant",
"description": "The minimum value for the constant b.",
"default": -20,
"min": -10000,
"max": 10000
},
"maxConstant": {
"type": "number",
"name": "Maximum Constant",
"description": "The maximum value for the constant b.",
"default": 20,
"min": -10000,
"max": 10000
},
"minSolution": {
"type": "number",
"name": "Minimum Solution",
"description": "The minimum value for the solution c.",
"default": -20,
"min": -10000,
"max": 10000
},
"maxSolution": {
"type": "number",
"name": "Maximum Solution",
"description": "The maximum value for the solution c.",
"default": 20,
"min": -10000,
"max": 10000
}
}
},
"withFractions": {
"name": "With Fractions",
"description": "Problems involving linear equations with fractions (ax/b = c).",
"parameters": {
"minCoefficient": {
"type": "number",
"name": "Minimum Coefficient",
"description": "The minimum value for the coefficient a.",
"default": -20,
"min": -10000,
"max": 10000
},
"maxCoefficient": {
"type": "number",
"name": "Maximum Coefficient",
"description": "The maximum value for the coefficient a.",
"default": 20,
"min": -10000,
"max": 10000
},
"minDenominator": {
"type": "number",
"name": "Minimum Denominator",
"description": "The minimum value for the denominator(b) of the fraction.",
"default": 2,
"min": 2,
"max": 10000
},
"maxDenominator": {
"type": "number",
"name": "Maximum Denominator",
"description": "The maximum value for the denominator(b) of the fraction.",
"default": 10,
"min": 2,
"max": 10000
},
"minSolution": {
"type": "number",
"name": "Minimum Solution",
"description": "The minimum value for the solution c.",
"default": -20,
"min": -10000,
"max": 10000
},
"maxSolution": {
"type": "number",
"name": "Maximum Solution",
"description": "The maximum value for the solution c.",
"default": 20,
"min": -10000,
"max": 10000
}
}
},
"withParentheses": {
"name": "With Parentheses",
"description": "Problems involving linear equations with parentheses (a(x + b) = c).",
"parameters": {
"minCoefficient": {
"type": "number",
"name": "Minimum Coefficient",
"description": "The minimum value for the coefficient a.",
"default": -20,
"min": -10000,
"max": 10000
},
"maxCoefficient": {
"type": "number",
"name": "Maximum Coefficient",
"description": "The maximum value for the coefficient a.",
"default": 20,
"min": -10000,
"max": 10000
},
"minConstant": {
"type": "number",
"name": "Minimum Constant",
"description": "The minimum value for the constant b.",
"default": -20,
"min": -10000,
"max": 10000
},
"maxConstant": {
"type": "number",
"name": "Maximum Constant",
"description": "The maximum value for the constant b.",
"default": 20,
"min": -10000,
"max": 10000
},
"minSolution": {
"type": "number",
"name": "Minimum Solution",
"description": "The minimum value for the solution c.",
"default": -20,
"min": -10000,
"max": 10000
},
"maxSolution": {
"type": "number",
"name": "Maximum Solution",
"description": "The maximum value for the solution c.",
"default": 20,
"min": -10000,
"max": 10000
}
}
},
"withAbsoluteValue": {
"name": "With Absolute Value",
"description": "Problems involving linear equations with absolute value (|ax + b| = c).",
"parameters": {
"minCoefficient": {
"type": "number",
"name": "Minimum Coefficient",
"description": "The minimum value for the coefficient a.",
"default": -20,
"min": -10000,
"max": 10000
},
"maxCoefficient": {
"type": "number",
"name": "Maximum Coefficient",
"description": "The maximum value for the coefficient a.",
"default": 20,
"min": -10000,
"max": 10000
},
"minConstant": {
"type": "number",
"name": "Minimum Constant",
"description": "The minimum value for the constant b.",
"default": -20,
"min": -10000,
"max": 10000
},
"maxConstant": {
"type": "number",
"name": "Maximum Constant",
"description": "The maximum value for the constant b.",
"default": 20,
"min": -10000,
"max": 10000
},
"minSolution": {
"type": "number",
"name": "Minimum Solution",
"description": "The minimum value for the solution c.",
"default": 1,
"min": 1,
"max": 10000
},
"maxSolution": {
"type": "number",
"name": "Maximum Solution",
"description": "The maximum value for the solution c.",
"default": 20,
"min": 1,
"max": 10000
}
}
},
"slopeInterceptForm": {
"name": "Slope-Intercept Form",
"description": "Problems involving linear equations in slope-intercept form (y = mx + b), solving for slope and y-intercept.",
"parameters": {
"isMCQ": {
"type": "boolean",
"name": "Multiple Choice",
"description": "Whether the problem is multiple choice.",
"default": true
},
"isSimplified": {
"type": "boolean",
"name": "Simplified",
"description": "Whether the problem is simplified.",
"default": false
},
"minSlope": {
"type": "number",
"name": "Minimum Slope",
"description": "The minimum value for the slope m.",
"default": -20,
"min": -10000,
"max": 10000
},
"maxSlope": {
"type": "number",
"name": "Maximum Slope",
"description": "The maximum value for the slope m.",
"default": 20,
"min": -10000,
"max": 10000
},
"minYIntercept": {
"type": "number",
"name": "Minimum Y-Intercept",
"description": "The minimum value for the y-intercept b.",
"default": -20,
"min": -10000,
"max": 10000
},
"maxYIntercept": {
"type": "number",
"name": "Maximum Y-Intercept",
"description": "The maximum value for the y-intercept b.",
"default": 20,
"min": -10000,
"max": 10000
}
}
},
"pointSlopeForm": {
"name": "Point-Slope Form",
"description": "Problems involving linear equations in point-slope form (y - y1 = m(x - x1)), solving for slope and (x1, y1).",
"parameters": {
"isMCQ": {
"type": "boolean",
"name": "Multiple Choice",
"description": "Whether the problem is multiple choice.",
"default": true
},
"isSimplified": {
"type": "boolean",
"name": "Simplified",
"description": "Whether the problem is simplified.",
"default": false
},
"minSlope": {
"type": "number",
"name": "Minimum Slope",
"description": "The minimum value for the slope m.",
"default": -20,
"min": -10000,
"max": 10000
},
"maxSlope": {
"type": "number",
"name": "Maximum Slope",
"description": "The maximum value for the slope m.",
"default": 20,
"min": -10000,
"max": 10000
},
"minPoint": {
"type": "number",
"name": "Minimum Point",
"description": "The minimum value for the point (x1, y1).",
"default": -20,
"min": -10000,
"max": 10000
},
"maxPoint": {
"type": "number",
"name": "Maximum Point",
"description": "The maximum value for the point (x1, y1).",
"default": 20,
"min": -10000,
"max": 10000
}
}
},
"graphingLinearEquations": {
"name": "Graphing Linear Equations",
"description": "Problems involving graphing linear equations. Given a linear equation, graph the line.",
"parameters": {
"includeStandard": {
"type": "boolean",
"name": "Include Standard Form",
"description": "Whether to include the standard form option.",
"default": true
},
"includeSlopeIntercept": {
"type": "boolean",
"name": "Include Slope-Intercept Form",
"description": "Whether to include the slope-intercept form option.",
"default": true
},
"includePointSlope": {
"type": "boolean",
"name": "Include Point-Slope Form",
"description": "Whether to include the point-slope form option.",
"default": true
}
}
}
}
},
"complex-numbers": {
"name": "Complex Numbers",
"description": "Problems involving complex numbers, including arithmetic, roots, and equations.",
"topics": {
"properties-and-rules": {
"name": "Basic Properties and Rules",
"description": "Problems involving the basic properties and rules of complex numbers.",
"topics": {
"conjugate": {
"name": "Complex Conjugate",
"description": "Problems involving the concept of complex conjugates. Example: The conjugate of (a + bi) is (a - bi).",
"parameters": {
"minReal": {
"type": "number",
"name": "Minimum Real Part",
"description": "The minimum value for the real part a.",
"default": -20,
"min": -10000,
"max": 10000
},
"maxReal": {
"type": "number",
"name": "Maximum Real Part",
"description": "The maximum value for the real part a.",
"default": 20,
"min": -10000,
"max": 10000
},
"minImaginary": {
"type": "number",
"name": "Minimum Imaginary Part",
"description": "The minimum value for the imaginary part b.",
"default": -20,
"min": -10000,
"max": 10000
},
"maxImaginary": {
"type": "number",
"name": "Maximum Imaginary Part",
"description": "The maximum value for the imaginary part b.",
"default": 20,
"min": -10000,
"max": 10000
}
}
},
"modulus": {
"name": "Modulus",
"description": "Problems involving the modulus (absolute value) of complex numbers. Example: |3 + 4i| = √(3² + 4²) = 5.",
"parameters": {
"minReal": {
"type": "number",
"name": "Minimum Real Part",
"description": "The minimum value for the real part a.",
"default": -20,
"min": -10000,
"max": 10000
},
"maxReal": {
"type": "number",
"name": "Maximum Real Part",
"description": "The maximum value for the real part a.",
"default": 20,
"min": -10000,
"max": 10000
},
"minImaginary": {
"type": "number",
"name": "Minimum Imaginary Part",
"description": "The minimum value for the imaginary part b.",
"default": -20,
"min": -10000,
"max": 10000
},
"maxImaginary": {
"type": "number",
"name": "Maximum Imaginary Part",
"description": "The maximum value for the imaginary part b.",
"default": 20,
"min": -10000,
"max": 10000
}
}
},
"equatingComplexNumbers": {
"name": "Equating Complex Numbers",
"description": "Problems involving the equality of two complex numbers, which requires equating their real and imaginary parts separately. Example: If a + bi = c + di, then a = c and b = d.",
"parameters": {
"isMCQ": {
"type": "boolean",
"name": "Multiple Choice",
"description": "Whether the problem is multiple choice.",
"default": true
},
"minReal": {
"type": "number",
"name": "Minimum Real Part",
"description": "The minimum value for the real part a.",
"default": -20,
"min": -10000,
"max": 10000
},
"maxReal": {
"type": "number",
"name": "Maximum Real Part",
"description": "The maximum value for the real part a.",
"default": 20,
"min": -10000,
"max": 10000
},
"minImaginary": {
"type": "number",
"name": "Minimum Imaginary Part",
"description": "The minimum value for the imaginary part b.",
"default": -20,
"min": -10000,
"max": 10000
},
"maxImaginary": {
"type": "number",
"name": "Maximum Imaginary Part",
"description": "The maximum value for the imaginary part b.",
"default": 20,
"min": -10000,
"max": 10000
}
}
},
"realImaginaryPart": {
"name": "Real and Imaginary Parts",
"description": "Problems involving the identification and manipulation of the real and imaginary parts of complex numbers. Example: In 3 + 4i, the real part is 3, and the imaginary part is 4.",
"parameters": {
"isMCQ": {
"type": "boolean",
"name": "Multiple Choice",
"description": "Whether the problem is multiple choice.",
"default": true
},
"minReal": {
"type": "number",
"name": "Minimum Real Part",
"description": "The minimum value for the real part a.",
"default": -20,
"min": -10000,
"max": 10000
},
"maxReal": {
"type": "number",
"name": "Maximum Real Part",
"description": "The maximum value for the real part a.",
"default": 20,
"min": -10000,
"max": 10000
},
"minImaginary": {
"type": "number",
"name": "Minimum Imaginary Part",
"description": "The minimum value for the imaginary part b.",
"default": -20,
"min": -10000,
"max": 10000
},
"maxImaginary": {
"type": "number",
"name": "Maximum Imaginary Part",
"description": "The maximum value for the imaginary part b.",
"default": 20,
"min": -10000,
"max": 10000
}
}
},
"solvingComplexEquations": {
"name": "Solving Complex Equations",
"description": "Problems that involve solving for an unknown complex number, typically using basic algebraic techniques. Example: Solve for z in z + (3 - 2i) = 5 + i.",
"parameters": {
"isMCQ": {
"type": "boolean",
"name": "Multiple Choice",
"description": "Whether the problem is multiple choice.",
"default": true
},
"minReal": {
"type": "number",
"name": "Minimum Real Part",
"description": "The minimum value for the real part a.",
"default": -20,
"min": -10000,
"max": 10000
},
"maxReal": {
"type": "number",
"name": "Maximum Real Part",
"description": "The maximum value for the real part a.",
"default": 20,
"min": -10000,
"max": 10000
},
"minImaginary": {
"type": "number",
"name": "Minimum Imaginary Part",
"description": "The minimum value for the imaginary part b.",
"default": -20,
"min": -10000,
"max": 10000
},
"maxImaginary": {
"type": "number",
"name": "Maximum Imaginary Part",
"description": "The maximum value for the imaginary part b.",
"default": 20,
"min": -10000,
"max": 10000
}
}
}
}
},
"addition-subtraction": {
"name": "Addition and Subtraction",
"description": "Basic operations with complex numbers, including addition, subtraction, multiplication, and division.",
"topics": {
"basicAdditionSubtraction": {
"name": "Basic Addition and Subtraction",
"description": "Problems involving basic addition and subtraction of complex numbers. Example: (3 + 2i) - (1 - i)",
"parameters": {
"isMCQ": {
"type": "boolean",
"name": "Multiple Choice",
"description": "Whether the problem is multiple choice.",
"default": true
},
"minReal": {
"type": "number",
"name": "Minimum Real Part",
"description": "The minimum value for the real part a.",
"default": -20,
"min": -10000,
"max": 10000
},
"maxReal": {
"type": "number",
"name": "Maximum Real Part",
"description": "The maximum value for the real part a.",
"default": 20,
"min": -10000,
"max": 10000
},
"minImaginary": {
"type": "number",
"name": "Minimum Imaginary Part",
"description": "The minimum value for the imaginary part b.",
"default": -20,
"min": -10000,
"max": 10000
},
"maxImaginary": {
"type": "number",
"name": "Maximum Imaginary Part",
"description": "The maximum value for the imaginary part b.",
"default": 20,
"min": -10000,
"max": 10000
}
}
},
"multipleComplexNumbers": {
"name": "Multiple Complex Numbers",
"description": "Addition and subtraction of multiple complex numbers in a single problem. Example: (2 + i) + (3 - 2i) - (1 + 4i)",
"parameters": {
"isMCQ": {
"type": "boolean",
"name": "Multiple Choice",
"description": "Whether the problem is multiple choice.",
"default": true
},
"minReal": {
"type": "number",
"name": "Minimum Real Part",
"description": "The minimum value for the real part a.",
"default": -20,
"min": -10000,
"max": 10000
},
"maxReal": {
"type": "number",
"name": "Maximum Real Part",
"description": "The maximum value for the real part a.",
"default": 20,
"min": -10000,
"max": 10000
},
"minImaginary": {
"type": "number",
"name": "Minimum Imaginary Part",
"description": "The minimum value for the imaginary part b.",
"default": -20,
"min": -10000,
"max": 10000
},
"maxImaginary": {
"type": "number",
"name": "Maximum Imaginary Part",
"description": "The maximum value for the imaginary part b.",
"default": 20,
"min": -10000,
"max": 10000
},
"numComplexNumbers": {
"type": "number",
"name": "Number of Complex Numbers",
"description": "The number of complex numbers to include.",
"default": 3,
"min": 2,
"max": 5
}
}
},
"constantWithComplexNumber": {
"name": "Constant with Complex Number",
"description": "Problems involving the addition or subtraction of real constants and complex numbers. Example: 5 + (3 + 2i)",
"parameters": {
"isMCQ": {
"type": "boolean",
"name": "Multiple Choice",
"description": "Whether the problem is multiple choice.",
"default": true
},
"minReal": {
"type": "number",
"name": "Minimum Real Part",
"description": "The minimum value for the real part a.",
"default": -20,
"min": -10000,
"max": 10000
},
"maxReal": {
"type": "number",
"name": "Maximum Real Part",
"description": "The maximum value for the real part a.",
"default": 20,
"min": -10000,
"max": 10000
},
"minImaginary": {
"type": "number",
"name": "Minimum Imaginary Part",
"description": "The minimum value for the imaginary part b.",
"default": -20,
"min": -10000,
"max": 10000
},
"maxImaginary": {
"type": "number",
"name": "Maximum Imaginary Part",
"description": "The maximum value for the imaginary part b.",
"default": 20,
"min": -10000,
"max": 10000
},
"constant": {
"type": "number",
"name": "Real Constant",
"description": "The real constant to be added or subtracted.",
"default": null,
"min": -10000,
"max": 10000
},
"allowAddition": {
"type": "boolean",
"name": "Allow Addition",
"description": "Whether to allow addition.",
"default": true
},
"allowSubtraction": {
"type": "boolean",
"name": "Allow Subtraction",
"description": "Whether to allow subtraction.",
"default": true
}
}
},
"modulusAdditionSubtraction": {
"name": "Modulus Addition and Subtraction",
"description": "Problems involving the modulus (absolute value) of complex numbers in addition and subtraction. Example: |3 + 4i| + |1 - i|",
"parameters": {
"isMCQ": {
"type": "boolean",
"name": "Multiple Choice",
"description": "Whether the problem is multiple choice.",
"default": true
},
"minReal": {
"type": "number",
"name": "Minimum Real Part",
"description": "The minimum value for the real part a.",
"default": -20,
"min": -10000,
"max": 10000
},
"maxReal": {
"type": "number",
"name": "Maximum Real Part",
"description": "The maximum value for the real part a.",