An improved mathematics education system and method are disclosed. Improvements are applicable to the field of mathematics education.
In the field of mathematics education, computer applications that allow users to work through math problems may be employed. These applications often serve as a general-purpose math tools.
During operation, such applications often offer a problem to be solved. In some instances, these applications may merely carry out calculations as the user manipulate variables. In other instances such applications may offer “solutions” in a multiple-choice type of format, where one of the solutions is an accurate solution. The user is then given the opportunity to select one of the choices as a solution. Following the selection, the user may be notified if the selection was accurate or not. With these types of math tools, however, the user is often not given any information beyond whether or not the right answer has been selected. For example, if a multistep math problem is presented, the user may only be notified if the final answer is correct or not. In other words, the user may be notified that the offered solution is not correct, but may not be notified as to which step in a multi-step solution the user erred. Accordingly, many mathematics applications do not engage the user at a granular level.
Mathematics education applications may also include an interface having application mechanics that rely heavily on drop-down windows and other cumbersome interfaces. These application mechanics, however, may be frustrating to navigate.
Thus, there is a need for mathematics education systems and applications that maximize a user's engagement while at the same time minimizing user frustration with the application mechanics.
The mathematics system 100 presents a mathematics problem 108 to a user 110 via the interactive mathematics application 104. The mathematics problem 108 may include a directive 112 and, in some instances, an equation or mathematical expression 114 (or set(s) of mathematical expressions). The directive 112 may direct the user 110 to manipulate the expression 114 to provide some type of solution. For example, with regard to a given expression 114, the directive 112 may direct the user 110 to “Solve for X,” “Factor the Equation,” or “Simplify the given expression using PEMDAS.” PEMDAS generally refers to employing the orders of operation rule (i.e., PEMDAS: Parentheses, Exponents, Multiplication and Division (from left to right), Addition and Subtraction (from left to right)). Other directives not listed are contemplated.
In some instances the problem 108 may be a word problem, where the directive 112 is included therein.
As will be described in further detail below, the mathematics system 100 allows the user 110 to manipulate the problem 108 or expression 114 in an attempt to satisfy the directive 112.
The user device 106 may provide computing power for the mathematics system 100. However, and as will be described below, the remote system 102 (e.g., a back-end computing system) carries out the computationally intensive tasks. The remote system 102 provides the outcomes of these computationally intensive tasks to the user device 106 via a network connection 116 (e.g., internet and/or etc.). Accordingly, a technical advantage of relying on the remote system 102 for these computationally intensive tasks, is that the processing loads on the user device 106 are minimized.
The remote system 102 may, for example, be an offsite compute system or systems such as a cloud compute system. This remote or back-end system 102 may include a memory 116 and at least one CPU 118 to carry out techniques and other tasks described herein. Though not shown, the user device 106 also includes one or more memory units and one or more CPUs top interact with instructions.
With reference now to
In the exemplary engagement scenario shown in
As illustrated in
Though not shown, indications may be provided to the user 202 to show that the first selection 208 is being manipulated. For example, a phantom of the “−3”, or some other type of indication, may be shown moving from the first position 210 towards the second position 212 to indicate an attempt to carry out the “−3×−1” operation is being made. Further, interactions (e.g., selection 208 and movement thereof) of the first expression 204 may be carried out by the user 202 in a variety of ways. For example, one or more finger touches on a display 220 and/or drags across the display 220 may be employed to carry out manipulations or interactions. Still other manipulation techniques may employ, for example, mouse or voice inputs.
With continued reference to
Once a selection is made (e.g., choice selection by a finger-tap input), the mathematical expression changes to comport with the selection. The application may then allow the user to continue to manipulate the expression. In the example scenario represented in
Yet another exemplary manipulation is represented in
While not shown in
Once the user feels that the directive (e.g., directive 206) has been satisfied, the user may submit a final answer. For example, in the exemplary scenario represented in
With continued reference to
Though not shown in the example of
With reference back to
The timeline 252 of
If desired, the user 202 may retry satisfying the directive by tapping a retry icon or indicator 260. In such an instance, the mathematics application 200 (see
As represented in
As shown in
In addition to allowing the user to carry out the interactions or manipulation represented in
With continued reference to
With continued reference to the exemplary scenario represented in
As previously mentioned, the example shown indicates that the entire exemplary first expression 306 is selected as shown by the selection indicator 310. Other examples, however, may only include a portion of an expression selected. Accordingly, action features (e.g., features 314-318) relevant to that selection may be provided. In other words, action features provided are dependent of the expression and/or portions of the expression selected.
With reference now to the exemplary scenario represented in
Alternatively, and as shown in
When the user 308 believes that the directive 304 has been satisfied, the user may engage with a “submit” indicator 338. Though not shown, the mathematics application 302 may again present an indicator of accuracy, a timeline, and/or one or more hints relevant to the user interactions (see, e.g.,
As illustrated in
As discussed above with respect to
The exemplary expression mapping technique 400 begins at block 402, where an expression (e.g., expression 204, 222, 234, 236, or 248 of
At block 404, process control identifies each applicable action and/or manipulation operation that may be carried on the expression. These applicable operations may include, for example, one or more of fractional operations, additive operations, multiplicative operations, and divisional operations. An action operation includes complex operations where the user is provided with one or more operational types or actions to choose from. For example, with reference to
A manipulation operation, on the other hand, represents manipulations carried out by the user that effectively end with an outcome. For example, a manipulation operation may be represented as a user manipulates the second portion 504 of the expression 500 and attempts to carry out the “−3×−1” operation (see also e.g.,
With reference back to
Once applicable operation(s) are identified at block 404, process control proceeds to block 406 where one of the identified applicable operations is selected. At decision block 408, if the selected operation is an action operation 410, process control proceeds to block 412 and valid source selection(s) are identified in the expression. With reference back to
Once valid source selection(s) relevant to the selected applicable operation (block 406 of
Regardless the level of choices, processes control determines each action choice (if any) at block 414 of
There are, however, other possible outcomes. For example, each of the other remaining choices 516 could result in respective possible outcomes.
Further, each of the two remaining actions 512, 514 could also yield a plurality of possible choice expression outcomes. As such, the determination of possible expression outcomes can be extensive and computationally intensive. Since, however, these determinations are being made on the back-end computing system, the user device (front-end system) need not have the computational power to carry out these determinations.
As discussed above, process control determines the choices (if any) and possible expression outcomes that are associated with the relevant action operation 414. If, however, the selected applicable operation 406 is instead a manipulation operation 416, process control proceeds to block 418 and each valid source selection/destination site pair, which is associated with the selected applicable operation (406), is identified.
A source selection, as described above, is a portion of an expression (including the entire selection) that may be selected by a user. A destination site refers to a site to where the user may move the source selection. Once the source selection is moved to a destination site, choices may be presented to the user, some sort of mathematical operation may be carried out, or the expression may be rearranged. For example, with regard to
Further, x may simply be moved to a different location to rearrange the third portion 506 of the expression 500. Each of these possible different locations also result in a valid source selection/destination pair. For example, a user could select x (source selection) and move x to a destination that is located between 5 and 2x to reorder the third expression to “5+x+2x+6x.” This valid source selection/destination pair includes the source selection x and the destination between 5 and 2x. Alternatively, x could be selected and moved to a destination between 2x and 6x, being another valid selection/destination pair, which would reorder the third portion to “5+2x+x+6x.” Still further, source selection x and a destination after 6x is yet another valid selection/destination pair that would reorder the third portion to “5+2x+6x+x.” As such, source selection x has five valid source selection/destination pairs (two via addition and three via rearrangement).
For similar reasons, a source selection of 2x yields five valid source selection/destination pairs and a source selection of 6x also yields five valid source selection/destination pairs.
A source selection of “5”, on the other hand, has only three valid source selection/destination pairs, each simply resulting in a rearrangement of the third portion 506 of the expression 500. That is, by manipulating “5”, the third portion 506 (“x+5+2x+6x) may be rearranged to “5+x+2x+6x”, “x+2x+5+6x”, or “x+2x+6x+5”.
While the example above proceeds by identifying valid source selection/destination pairs in the third portion 50 of the expression 500, the identification would proceed through the entire expression 500 to identify all valid source selection/destination pairs associated with the selected applicable operation (406). As appreciated, depending on the expression in question, the list of identified valid source selection/destination pairs can be quite extensive and computationally intensive. Fortunately, it is the back-end computing system, not the user device (front-end system) that carries out the identification(s).
Referring back to
Further details regarding choice determinations will be set forth below with respect to
At block 420 of
Generally, multiple mathematical operations are determined at block 404. As such, the back-end computing system generally determines at least i) a first mathematical operation a user may carry out on a first subexpression of a first mathematical expression (412 or 418) and ii) a second mathematical operation the user may carry out on a second subexpression of the first mathematical expression (412 or 418).
If all applicable operations have been evaluated 424, process control proceeds block 426, where user experience (UX) information is provided from the back-end computing system (e.g., remote system 102 of
While the back-end system may need extensive computational power to create the UX information, the user device does not need nearly as much computational power to employ the UX information. As such, a technical advantage of the system (e.g., system 100 of
With continued reference to
By employing a computationally robust back-end system, the new UX information can be created and sent to the user device without any appreciable delay.
The above-described technique 400 continues until the back-end system does not receive 432 a new expression, at which time it proceeds to an END 434.
As set forth above, the back-end system determines UX information for an expression and then provides 426 the UX information relevant to that expression to the user device. This is repeated each time a new expression is received by the back-end system. Generally, after a user completes a step, a new expression is provided to the back-end system and UX information is determined for that new expression unless that expression is submitted as a “final” answer.
Accordingly, the back-end system operates on one expression (or one set of expressions) per user at a time. While it may be possible to create a system that determines one set of UX information that includes a tree of all possible expression outcomes for every possible step that may be taken during the entire problem solving process, such a task may be very computationally intensive and require costly computing power. As such, another technical advantage of technique 400 is that the computational load on the back-end system, and costs associated therewith, can be minimized since technique 400 creates UX information for each expression submitted and not for all possible expressions that could branch from a single expression.
While technique 400 has been described in the context of a single user, the back-end system is configured to operate in conjunction with a plurality of user devices. That is, a plurality of users may be engaged with their respective mathematics applications operating on their respective devices. Further, users may be interacting with different expressions and directives. As such, for each user, the back-end system is carrying out technique 400 and technique 400 is repeated each time a new expression is provided (see, e.g., block 402 and 430) per user. Accordingly, the back-end system is a computationally robust system able to engage with a plurality of user devices and respective mathematics applications. Nonetheless, technique 400 minimizes the computational load on the back-end system since only one mathematical expression (or set of expressions) is operated on per user.
As discussed above with respect to
With respect to exemplary technique 600, process control begins at block 602 where the back-end computing system (e.g., the back-end computing system 102 of
Generally, it is determined that a plurality of mathematical operations is associated with a LO. As such, the back-end computing system identifies or determines that these mathematical operations are associated with the LO. Since the back-end computing system has determined which of the available operation(s) are associated with the LO, it has also determined which operation(s) are not associated with the LO.
After identifying what operation(s) are associated with the LO, process control proceeds to block 606 to identify each subexpression in the expression on which the identified operations(s) may be carried out. That is, for each operation that is associated with the current LO, process control will identify the allowable source selections (i.e., the part or parts of the expression the user can select to carry out the identified operation(s)). For example, if the LO is ‘simplify fraction’, process control will identify each subexpression in the expression where simplify fraction operations can be carried out.
A pattern matcher may be employed to search the list of each possible interactions associated with the active expression and identify each mathematical operation that is relevant to the LO. For example, a pattern matcher may search the expression for a sub-expression form that is relevant to the LO (e.g., search for the a/b form when the LO is to ‘reduce fraction(s)’) anywhere within the expression that the user is working on.
A compute specification authored by subject matter expert(s) may be employed to limit the identified subexpression(s). For example, with regard to a ‘reduce fraction(s)’ LO, a subject matter expert (SME) specification may determine that only certain special types of fractions, as well fractions that have a common factor between their numerator and denominator, are candidates for this operation. Special cases or exceptions may also be integrated into the SME specification (e.g. 0/0, 1/1, a/1, and/or etc.). For example, a pattern matcher may identify “ 5/10” in an expression and determine that it is within the scope of a ‘reduce fraction(s)’ LO since “ 5/10” can be simplified (reduced). Alternatively, it may be determined that “½” within the expression is not within a ‘reduce fraction(s)’ LO since it cannot be simplified.
After identifying each subexpression in the expression where the identified operations(s) may be carried out, process control proceeds to block 608 to generate choices for each of these identified subexpression(s). As such, a plurality of choices (see, e.g., choices 214 of
Accordingly, as the user interacts with the expression, only those interactions associated with the LO will produce choices. Conversely, those interactions not associated with the LO will not produce choices. As such, the user will spend more time focusing on interactions related to the LO than interactions not related to the LO. Interactions or operations not related to the LO may, for example, be interactions the user has already shown competence in during a previous engagement with the mathematics system.
Regarding potential choices, if the operation is an action, i.e. the user makes a source selection and then taps an icon to carry out an operation (e.g., 314-318 of
If the potential operation is a manipulation, i.e., the user makes a source selection and then drags it somewhere else within the expression, process control also calculates all the possible destinations for this drag operation. Then, for each possible source/destination pair, process control will compute the relevant choice tree (e.g., choices 238 of
The set of choices generated for these manipulation interactions generally include at least one valid and one invalid outcome for each respective potential manipulation associated with the LO.
The generated choices may, for example, depend on the nature of the operation, properties of the arguments of the operation such as, for example, the sign of a coefficient or a subexpression's placement within a larger expression (e.g., whether or not the subexpression is the denominator of some larger expression), and/or the source selection and (if applicable) the destination site.
Expression fragments located by the pattern matcher when determining if the expression is a candidate for a given operation or interaction may be employed to construct the choices to be presented to the user. As mentioned above, the choices may include both mathematically valid choices and may also include errors in the form of one or more mathematically invalid choices.
At block 610, information about which operations are associated with the LO and each generated list of choices is employed to generate a mapping function (e.g., f(operation, properties of the selection/destination pair)⇒ provide a set of choices). The mapping function maps each available operation and associated selection and destination properties to a set of choices (a.k.a. options) or a null set of choices (i.e., no choices for those operations not associated with the LO). In other words, the mapping function maps all possible choices to each possible operation that is associated with the LO. As mentioned above, not all the interactions or operations that a user may carry out on the expression may be associated with the LO. As such, only those interactions associated with the LO will result in choices being provided to the user.
After the mapping function is generated, process control of the choice determination technique 600 comes to an END 612. It is noted that the generated mapping function is part of the UX information that is provided to the user device at block 426 of technique 400 of
As discussed above with respect to
Referring now to
The exemplary feedback technique 700 begins at block 702 where a new expression is received by a back-end system (e.g., the back-end system 102 of
Upon receiving the new (active) expression, process control causes the creation of the choices (e.g., block 414 of
After mapping all choice possibilities, a feedback string is then authored for each relevant combination of feedback tags for each invalid state the user may transform the expression to at block 708. In other words, process control authors a feedback string for each invalid state the user may transform the expression to based on selection of an incorrect choice. The feedback string may integrate additional information from the expression (e.g., variables such as the selection chosen by the user or the operation carried out by the user) as part of the string to help identify and correct the mistake the user made.
At block 710, process control resolves each feedback string into user-facing copywriting. For example, process control may lookup raw copywriting text associated with relevant tags, and then splice LaTeX representations of the variables into that copywriting text to produce the final form (now containing inline math relating to the expression being processed) that will be displayed to the user for any given invalid choice that may be made while interacting with the active expression.
Upon resolving each feedback string into user-facing copywriting, process control proceeds to an END 712.
The information generated via exemplary technique 700 becomes part of the UX information that is sent to the user device (e.g., 426 of
Performing exemplary technique 700 can be quite computationally intensive. Likewise, as previously discussed, the implementation of exemplary techniques 400 and 600 respectively of
With reference now to
As shown in
With continued reference to
As described above, the left side 806 of the expression 802 may be selected by tapping the left side 806 of the indicator 804 and the right side 806 may be selected by tapping the right side 808 of the indicator 804. It is noted that the selectability of a sub-expression is determined by whether or not there is an operation the user can perform with that sub-expression. If there is not an operation the user can perform on the subexpression, it will not be selected.
With continued reference to technique 800, the user can easily engage with the terms of the expression 802 after the expression has been selected 804. For example, if a user taps on or within the left-side indicator 810 near a “5x2” position 814, the “5x2” subexpression will be selected as represented by a “5x2” indicator 816. Likewise, if a user taps on or within the left-side indicator 810 near a “6x” position 818, the “6x” subexpression will be selected as represented by a “6x” indicator 820. Following the same strategy, if a user taps on or within the left-side indicator 810 near a “−7” position 822, the “−7” subexpression will be selected as represented by a “−7” indicator 824.
Depending on the expression, a user may be able to continue to drill down into the expression. For example, if a user taps on or within the “5x2” indicator 816 near a “5” position 826, the “5” subexpression will be selected as represented by a “5” indicator 828. Alternatively, if the user taps on or within the “5x2” indicator 816 near an “x2” position 830, the “x2” subexpression will be selected as represented by a “x2” indicator 832.
The “5” subexpression and the “x2” subexpression can be referred to as siblings of each other and these siblings can be referred to as children of the “5x2” term.
Following a similar strategy, the user may tap the “6x” indicator 820 on or near a “6” position 834 to cause selection of the “6” subexpression as shown by a “6” indicator 836. Similarly, the user may engage with the “+6x” indicator 820 near an “x” position 838 to cause selection of the “x” subexpression as represented by an “x” indicator 840. The “6” subexpression and the “x” subexpression can each be referred to as siblings of each other. Further these siblings can be referred to as to as children of the “6x” subexpression. Similar nomenclature can be used for other subexpressions. For example, the user may engage with different sides of the “x2” indicator 632 to select one of its children as represented by an “x” indicator 842 and an exponent indicator 844.
Accordingly, through a series of taps or inputs on relevant indicator(s), a user may be able to drill down to specific subexpression(s) represented in the exemplary expression 802. If the user makes a mistake, or simply changes his or her mind, the exemplary technique 800 allows for changes to be made. For example, if a user has the “5” subexpression selected 828, the user may tap on its sibling (the “x2” subexpression) to cause selection 832 thereof, thus causing the “5” subexpression to be deselected. Similarly, if a user has the “x” subexpression selected 840, the user may tap on its sibling (the “6” subexpression) to cause selection 836 thereof, thus causing the “x” subexpression to be deselected.
In addition to the “sibling” and “children” nomenclature discussed above, an “ancestor of a selected subexpression” nomenclature can be used to refer to any previously selected subexpression in the chain above the presently selected subexpression. For example, if the “5” subexpression is selected 828, its ancestors are the previously selected 816 “5x2” subexpression, the previously selected 810 “5x2+6x−7” subexpression, and the previously selected 804 “5x2+6x−7=0” expression.
With this nomenclature in mind, if a user has selected a sibling and then taps on a non-sibling, then the child of the lowest common ancestor closest to where the user tapped will be selected. For example, if the selected subexpression is “5” 828 and the user taps on the “6” subexpression (a non-sibling), the lowest common ancestor of these subexpressions (i.e., “5” and “6”) is the “5x2+6x−7” subexpression and the child of this lowest common ancestor closest to where the user tapped is “+6x”. As such, this act would deselect the “5” subexpression and select 820 the “+6x” subexpression (i.e., the child of the lowest common ancestor that is closest to where the user tapped).
Deselection may also be carried out through implementation of a selection area or zone 846 employed by the mathematics application. Inputs (e.g., tapping, mouse click, or etc.) on and/or within the selection zone 846 will be interpreted as an intent to make a selection. Inputs outside the selection zone 846, however, will be interpreted as intent to make a deselection and a selection of the parent of the deselected term. If there is no parent available, then deselection will occur without another selection being made. While
To serve as a deselection/selection example, if the squared exponent term is selected 844, a user input outside the selection zone 846 will cause deselection of the exponent and selection of its parent (i.e., selection 832 of the “x2” subexpression). As another example, if the user had previously made the “+6x” selection 820 and then inputs outside the selection zone 846, the “+6x” subexpression will be deselected and the “5x2+6x−7” subexpression will be selected 810. That is, the parent of the “+6x” subexpression will be selected.
Selection and deselection may also be carried out by the use of drag handles. For example, the indicator 810 encompassing the “5x2+6x−7” subexpression illustrates a left-hand drag handle 848 and a right-hand drag handle 850. Drag handles (e.g., the left-hand and right-hand drag handles 848, 850) may appear when there are two or more siblings of the current selection (including the selection). In other words, drag handles may appear when a non-empty subset of siblings is selected from a level on which there are two or more siblings. It is noted that the drag handles 848, 850 of
By manipulating drag handles, the indicator (e.g., the indicator 810 encompassing the “5x2+6x−7” subexpression) can be manipulated such that one or more adjacent sibling subexpressions are selected. For example, the right-hand drag handle 850 may be dragged towards the left-hand drag handle 848 to cause selection of the “5x2+6x” subexpression. That is, “5x2” sibling and the “+6x” sibling are selected by one indicator. If the drag towards the left-hand drag handle 848 is continued, the “5x2” subexpression (sibling) will be selected. Using similar mechanics, the left-hand drag handle 848 may be dragged towards the right-hand drag handle 850 to first cause selection of both the “+6x” sibling and the “−7” sibling (i.e., selection of the “+6x−7” subexpression), and then cause selection of just the “−7” sibling as the drag continues.
As shown in
Next, whether drag handles or one or more inputs (e.g., tap(s)) are employed, mathematical order of operations define branches in a descendant tree (see, e.g., the descendant tree of
Though unary negations, exponents, and radicals can be written sequentially with no break in format as a convenience, they include implicit parentheses that create branches. For example, the expression “- - - - - 3” includes implicit parentheses as follows: “- (- (- (- (-3))))”. The expression “2∧3∧3158 3∧3∧3” includes implicit parentheses as follows: “((((2∧3)∧3)∧3)∧3)∧3”. And yet another example including square root operators, the expression “√√√√√√x” includes implicit parentheses as follows: “√(√(√(√(√(√x)))))”.
As discussed above, once a selection (see, e.g., the selections 804, 810, 812, 816, 820, 824, 828, 832, 836, 840, 842, or 844) is made, a user can carry out some sort of manipulation or action with the selection on the user device. As such, technique 800 enables an efficient and intuitive interaction between a user device and its user.
As set forth above, expression and subexpression manipulation on the user device can be carried out through a series of inputs (e.g., taps) and through use of drag handles. Additional selection and drag handle mechanics are discussed below with respect to
With reference is to
Dragging one handle through the other may be allowed. However, when they overlap there will still be a selection and effectively the handle dragged will skip the occupied position such that there is not an empty selection. For example, with reference to
With reference now to
If a drag handle is dragged to a position that puts it outside the original group of siblings, both handles will snap to encompass an ancestor's set of siblings at that higher level on the tree, regardless of how many siblings exist at that level (even if less than three). If the non-dragged handle only partially encompasses a sibling on this new higher level, it will snap to encompass the remaining node/sibling at this new level, leaving, for example, a faint phantom handle in the original position that it can always snap back to in case the dragged handle is dragged back to that original level.
Take, for example, a selection 1012 of the “x” term shown in
If a drag handle is dragged to a position where it could lie between siblings on a lower level of descendants, it does not snap to that level as shown among
As shown in
With reference now back to
In general, computing systems and/or devices may employ any of a number of computer operating systems, including, but by no means limited to, versions and/or varieties of the Microsoft Windows® operating system, the Unix operating system (e.g., the Solaris® operating system distributed by Oracle Corporation of Redwood Shores, California), the AIX UNIX operating system distributed by International Business Machines of Armonk, New York, the Linux operating system, the Mac OS X and iOS operating systems distributed by Apple Inc. of Cupertino, California, the BlackBerry OS distributed by Research In Motion of Waterloo, Canada, and the Android operating system developed by the Open Handset Alliance. Examples of computing systems and/or devices include, without limitation, personal computers, cell phones, smart-phones, super-phones, tablet computers, next generation portable devices, handheld computers, secure voice communication equipment, or some other computing system and/or device.
Further, the processor or the microprocessor (e.g., the at least one CPU 118 of
A CPU or processor may include processes comprised from any hardware, software, or combination of hardware or software that carries out instructions of a computer programs by performing logical and arithmetical calculations, such as adding or subtracting two or more numbers, comparing numbers, or jumping to a different part of the instructions. For example, the user device 106 and/or the CPU 118 of
Memory (e.g., the memory 116 of
With further regard to
Accordingly, it is to be understood that the above description is intended to be illustrative and not restrictive. Many embodiments and applications other than the examples provided would be apparent upon reading the above description. The scope should be determined, not with reference to the above description or Abstract below, but should instead be determined with reference to the appended claims, along with the full scope of equivalents to which such claims are entitled. It is anticipated and intended that future developments will occur in the technologies discussed herein, and that the disclosed systems and methods will be incorporated into such future embodiments. In sum, it should be understood that the application is capable of modification and variation.
All terms used in the claims are intended to be given their broadest reasonable constructions and their ordinary meanings as understood by those knowledgeable in the technologies described herein unless an explicit indication to the contrary in made herein. In particular, use of the singular articles such as “a,” “the,” “said,” etc. should be read to recite one or more of the indicated elements unless a claim recites an explicit limitation to the contrary. Further, the use of terms such as “first,” “second,” “third,” and the like that immediately precede an element(s) do not necessarily indicate sequence unless set forth otherwise, either explicitly or inferred through context.
Number | Name | Date | Kind |
---|---|---|---|
4428044 | Liron | Jan 1984 | A |
5902114 | Erickson | May 1999 | A |
6540520 | Johnson | Apr 2003 | B2 |
7752148 | Yu | Jul 2010 | B2 |
9092317 | Jacobson | Jul 2015 | B2 |
11605305 | Kim | Mar 2023 | B2 |
20050114776 | Wood | May 2005 | A1 |
20080280280 | Romer | Nov 2008 | A1 |
20130164719 | Villamar | Jun 2013 | A1 |
20140272910 | del Ninno | Sep 2014 | A1 |
20150269868 | Carney | Sep 2015 | A1 |
20160171902 | Lan | Jun 2016 | A1 |
20160364115 | Joung | Dec 2016 | A1 |
20170084190 | Devlin | Mar 2017 | A1 |
20170084197 | Crouse | Mar 2017 | A1 |
20190096283 | Afshar | Mar 2019 | A1 |
Entry |
---|
https://graspablemath.com/canvas , Sep. 27, 2021. |
Number | Date | Country | |
---|---|---|---|
20240127712 A1 | Apr 2024 | US |