METHOD AND SYSTEM FOR TEMPLATED CONTENT GENERATION AND ASSESSMENT

20180204477 ยท 2018-07-19

    Inventors

    Cpc classification

    International classification

    Abstract

    A method and system is provided for generating a templatable item, which can include a text editor configured to generate numbers or text, a variable editor configured to generate a variable for the templatable item, an equation editor configured for generating an equation, and an image editor configured to generate an image, wherein the variable can include one or more of numbers, text, equations and images.

    Claims

    1. A method for generating a templatable item on a computing device comprising a text editor, a variable editor, an equation editor and an image editor, the method being embodied on a computer-readable medium such that, when implemented on the computing device, the method permits control of one or more of the text editor, the variable editor, the equation editor and the image editor to generate the templatable item, the computer-readable medium comprising: a code segment that provides a problem statement, the problem statement comprising a predetermined difficulty level; and a code segment that provides a corresponding solution to the problem statement, wherein each of the problem statement and the solution further comprise at least one variable that links subject matter disposed within each of the problem statement and the solution, and that further link the subject matter between the problem statement and the solution.

    2. The method as set forth in claim 1, wherein the at least one variable comprises a number that randomly or sequentially varies between a minimum value and a maximum value.

    3. The method as set forth in claim 2, wherein the at least one variable varies in accordance with a predetermined increment.

    4. The method as set forth in claim 1, wherein the at least one variable comprises one or more of a group consisting of one or more words, phrases and sentences; wherein one or more of the words, the phrases and the sentences are selected randomly or sequentially.

    5. The method as set forth in claim 1, wherein the at least one variable comprises images or tables that are included in one or both of the problem statement and the solution.

    6. The method as set forth in claim 1, wherein the at least one variable comprises one or both of a relationship and a constraint between the at least one variable and another variable.

    7. The method as set forth in claim 1, wherein the computer-readable medium further comprises a code segment that combines the at least one variable with at least one other variable to generate at least one paragraph, wherein the at least one paragraph further comprises one or more of text, text fragments, images and tables.

    8. The method as set forth in claim 1, wherein the computer-readable medium further comprises a code segment that combines the at least one variable with at least one other variable to generate at least one mathematical equation, wherein the at least one mathematical equation further comprising one or both of static elements and dynamically changing elements, which can alter their content depending on the value of the at least one variable disposed therein.

    9. The method as set forth in claim 1, wherein the computer-readable medium further comprises a code segment that generates figures that comprise scaled diagrams that are dependent on the at least one variable.

    10. The method as set forth in claim 9, wherein the figures further comprise one or both of at least one mathematical equation and at least one label, the at least one label further comprising content that is controlled by the at least one variable.

    11. The method as set forth in claim 9, wherein the figures further comprise one or more constraints that enable the figures to comprise one or more of points, line segments and surfaces, wherein the one or more of points, line segments and surfaces are constrained so that they are always in contact with one another when the at least one variable is altered.

    12. The method as set forth in claim 9, wherein the figures further comprise one or more constraints that enable the figures to comprise entities that are a fixed distance from one another.

    13. The method as set forth in claim 9, wherein the figures further comprise one or more constraints that enable the figures to comprise line segments that are parallel, perpendicular or at some angle relative to one another.

    14. The method as set forth in claim 1, wherein the computer-readable medium further comprises a code segment that generates figures that comprise plots of functions, the plots of functions further comprising the at least one variable.

    15. The method as set forth in claim 1, wherein the computer-readable medium further comprises a code segment that varies the difficulty level of the problem statement.

    16. The method as set forth in claim 1, wherein the computer-readable medium further comprises a code segment that generates an assignment comprising one or more of the problem statement, wherein the assignment comprises one or more of short answer questions, problem-solving questions, graphical placement of objects and plotting of functions.

    17. The method as set forth in claim 16, wherein the computer-readable medium further comprises: a) a code segment that provides the assignment to a student to solve the one or more of the problem statement disposed therein thereby generating a completed assignment; b) a code segment that marks the completed assignment and generating a score on how well the student scored on the completed assignment; and c) a code segment that provides feedback to the student as to their score on the completed assignment.

    18. (canceled)

    19. (canceled)

    20. (canceled)

    21. (canceled)

    22. (canceled)

    23. (canceled)

    24. (canceled)

    25. (canceled)

    26. (canceled)

    27. (canceled)

    28. (canceled)

    29. (canceled)

    30. (canceled)

    31. (canceled)

    32. (canceled)

    33. (canceled)

    34. (canceled)

    35. A computer-implemented system for generating a templatable item on a computing device, the computing device comprising: a) a text editor configured to generate text; b) a variable editor configured to generate a variable for the templatable item, the variable editor operatively coupled to the text editor; c) an equation editor configured for generating an equation, the equation editor operatively coupled to the text editor and to the variable editor; and d) an image editor configured to generate an image, the image editor operatively coupled to the text editor, to the variable editor and to the equation editor, wherein the variable comprises one or more of the text, the equation and the image; and e) a computer-readable medium comprising code segments that permit control of one or more of the text editor, the variable editor, the equation editor and the image editor to generate the templatable item.

    Description

    BRIEF DESCRIPTION OF THE DRAWINGS

    [0070] FIG. 1 is a block diagram depicting one embodiment of a system for use in templated content generation and assessment.

    [0071] FIG. 2 is a block diagram depicting an example of external constraints for use with the variable editor of FIG. 1.

    [0072] FIG. 3 is a block diagram depicting an example of varying the radius of a circle while keeping the other constraints the same.

    [0073] FIG. 4 is a block diagram depicting the node relationships between the constraints shown in FIG. 3.

    [0074] FIG. 5 is a flowchart depicting one embodiment of the steps in a constraint updating procedure.

    [0075] FIG. 6 is a block diagram depicting one embodiment of labeling a point.

    [0076] FIG. 7 is a block diagram depicting one embodiment of a weighting scheme for positioning the labels of FIG. 6.

    [0077] FIG. 8 is a block diagram depicting an example for determining the most desirable location of a label.

    [0078] FIG. 9 is a block diagram depicting the determination of a label position wherein objects do not overlap one another.

    [0079] FIG. 10 is a flowchart depicting one embodiment of a process for positioning labels of objects.

    DETAILED DESCRIPTION OF EMBODIMENTS

    Details of the Variable Problem Generator

    [0080] Referring to FIG. 1, one embodiment of a system for the generation of templated content and assessment is shown. In some embodiments, the generation of variables can be generated with variable editor 1. In some embodiments, variable editor 1 can generate a wide range of variables including, but not limited to, numbers, text and indexed lists. When a new instance of a templatable item is to be generated, several variables 2 can be generated with variable editor 1. If the variable is text 3, the variable could become part of sentence or paragraph 4. If, on the other hand, the variable comprises numerical variable 5, the variable could also become part of sentence or paragraph 4, or it could become an input to equation editor 6 to become part of an equation. The equations produced by equation editor 6 can be a stand-alone element, an element to be placed between paragraphs 4, or it can be an element to be a part of sentence or paragraph 4. One or more of text 3, numerical variable 5 or equations produced by equation editor 6 can also become labels 7 that can become a part of scalable graphic image generated by scalable graphics image editor 8. Equations produced by equation editor 6 can also be used to generate plots 9 as a part of graphic image 8. In addition to this, numerical variables 5 can also become driving dimensions 10 that can scale graphic image 8. In some embodiments, sentences and paragraphs 4, along with equations generated by equation editor 6 and scalable graphic images generated by scalable graphics image editor 8 can form templatable item 11.

    Details of Dimensioning

    [0081] In some embodiments, one feature of the methods and systems described herein can comprise the ability to automatically rescale the images that are controlled by the variable dimensions that make up the problem. This ability can be taken care of by constraints. In some embodiments, two types of constraints can exist:

    1. Internal Constraints:

    [0082] In some embodiments, internal constraints can define the object primitives themselves. For example, a point can be defined by its coordinate positions. A line segment can be defined by the location of the line's end points, or perhaps by the location of one end point and the segment length and angle of the line. A quadrilateral can be depicted by the coordinates of the four vertices, or by the combination of some coordinates, line lengths and interior angles, as an example.

    2. External Constraints:

    [0083] In some embodiments, when more than one object is present in a figure, constraints can be defined and maintained so that the technical information can be preserved when the dimensions are altered during the randomization process. Examples of constraints between objects can include point to point, where the distance between the two points remain fixed, or point to line, where the perpendicular distance between a point and line remains constant. Many other constraints can exist including line to line and point to surface, etc.

    [0084] As an example of external constraints, consider FIG. 2, In some embodiments, line segment L1 can support triangle T1. Circle C1 can be supported at two locations.

    [0085] The first support is on the surface of triangle T1, and the second support is given by the vertical line segment L2. Let's now illustrate how constraints can make this possible: [0086] Line segment L1 can be constrained to have zero distance between it and the bottom edge of triangle T1, which can be line segment L4. [0087] The center of the circle C1, which is labeled P1, must maintain a fixed distance, r, the radius of the circle from the hypotenuse of triangle T1, which is labeled L3. [0088] The same point at the center of the circle, P1 must have a constant distance (radius, r) from vertical line L2. [0089] Vertical line L2 must remain above the line L3 on the triangle; this means that the bottom point on the line, P2, must have some distance greater than or equal to zero above the line L3 on the triangle. [0090] In FIG. 2 as it is drawn, line L2 is positioned perpendicular to the line L1, but virtually any angle between L2 and L1 could be prescribed.

    [0091] If all the variables in this drawing were kept constant, except for the radius of the circle, for example, changing the circle's radius would only move the position of the circle on the angled part of the triangle and against the vertical wall, as shown in FIG. 3.

    Node and Line Constraint Relationships

    [0092] Referring to FIG. 4, FIG. 4 shows the node relationships between the constraints as shown in FIG. 3. Note the following: [0093] The center of the circle, P1, can be constrained by c1, to be a fixed distance (the circle's radius) from the vertical line segment L2. Line segment L2 can be defined by the line's two end points, so really the constraint is set up between the three pointsthe center of the circle and the points on the ends of line segment L2. [0094] Similarly, the center of circle P1 can be constrained by c2, to be a fixed distance from line segment L3 (and hence it's nodes) on the triangle; T1. [0095] Point P2 on vertical line segment L2 can be constrained by c3, to be some fixed distance above line segment L3 on triangle T1. Additionally, point P2 can be constrained to be between the endpoints of line segment L3. [0096] The bottom edge of triangle T1, line segment L4, can be constrained by c4, to have zero distance from the reference line segment L1. In addition to this, the endpoints of line segment L4 can be constrained to lie between the endpoints of line segment L1. [0097] Vertical line segment L2 can be constrained by c5, which can be perpendicular to horizontal line segment L1. A further constraint to point P2 on line L2 is that it must be placed between the endpoints of line segment L2.

    [0098] In some embodiments, when an update of the variables is performed, the constraints can be dealt with in two steps: [0099] First, the internal constraints can be satisfied. As an example, if an angle and a length of a side in a triangle is changed, then the other angles and line segments that comprise the triangle must be computed. [0100] Then, the external constraints can be considered. From any of the dimensions that have been altered from the random variable update, those nodes that are a single step away are first considered. Then, the update can move another node further away until all nodes have been updated. Should there be a conflict of the constraints, an error flag can be raised and the process can then halt.

    Logic of Constraint Updating

    [0101] FIG. 5 illustrates one embodiment of the steps of a constraint updating procedure. The initial figure is drawn at step 51. The variables of this figure are then updated at step 52. The constraints can be applied with the immediate nodes related to the changed parameters at step 53. These could be the internal constraints of the object, or the immediately external constraints of the surrounding bodies. A check is then made to see if any nodes still have to be modified at step 54. If there are no more nodes to the changes, the drawing has been successfully updated and the process is complete at step 55. However, if there are still nodes to be updated, the process can move onto the updating of the next closest level of nodes at step 56. Constraint incompatibility can then be checked at step 57. If all is compatible, the flow returns to check for any more nodes to be modified at step 54. If an incompatibility is located, an error is returned at step 58.

    Automatic Labeling

    [0102] In some embodiments when the geometry can be governed by variable parameters, labels that would have worked in one setting may collide with other labels or even the drawing itself in another iteration. As such, it can be necessary to invoke an automatic labeling system.

    [0103] Referring to FIG. 6, consider the labeling of a point. One might decide that there are eight possible positions as illustrated. There could be more, or there could be less, depending on the document design guidelines. All positions could be equally desirable, or there could be a weighting applied so that most desirable locations can be tried first before moving on to others.

    [0104] FIG. 7 shows one embodiment of a weighting scheme that could be used for label position desirability. In this illustration, the box below the point is given a weight of 3, as indicating the most desirable location, as an example. Next, the four corners are given a weight of 2 for the next level of desirability. Finally, the three other middle locations are given a weight of one. FIG. 8 illustrates this by an example. The most desired location was located just below the point, but the label location happened to go on top of another label or geometry entity, so then the label can be moved to the next most desirable location, and the check can be performed again.

    [0105] The check to see if a label is obscuring or confusing another item in the diagram can be performed by conducting interference calculations between all the objects in the figure. By interference, this can mean that the objects intersect or overlap. Every object, whether it is a label, a point, a line or a polygon, can be defined with a surrounding border that can provide some white space padding. See, for example, FIG. 9. In this figure, a line can be outlined with a box that provides a boundary around it. In the first case, however, it overlaps the bounding box of the proposed label position. The label can now get repositioned so that the label no longer overlaps the bounding box. The boxes around the line and label are for descriptive purposes only. Once the positions have been rectified, the objects can be represented without the surrounding boxes as depicted.

    [0106] Referring to the flowchart shown in FIG. 10, one embodiment of a label repositioning process is illustrated. The geometric elements of the figure can be drawn according to current randomized and fixed variables at step 101. The default positions of the labels can then be drawn on this diagram at step 102. Tests can be now performed to determine if the labels intersect the geometric entities or with other labels at step 103. If no overlap between the entities or labels exists, the drawing is complete at step 104. However, if an overlap is detected, a check can be performed to see if all possible label positions have been tried at step 105. If there are still untried positions, the repositioning of the labels can be performed at step 105, and these positions can then be retested at step 104. This procedure can be performed until no overlap is found. If all label positions have been tried and suitable label positions cannot be generated, then that geometry can be discarded and an error message can be returned at step 107.

    [0107] Although a few embodiments have been shown and described, it will be appreciated by those skilled in the art that various changes and modifications can be made to these embodiments without changing or departing from their scope, intent or functionality. The terms and expressions used in the preceding specification have been used herein as terms of description and not of limitation, and there is no intention in the use of such terms and expressions of excluding equivalents of the features shown and described or portions thereof, it being recognized that the invention is defined and limited only by the claims that follow.