Comments (12)
Yes! I'll share a formatted set of sample questions next week
from mathsteps.
Here's a list of questions that students have asked us (I've filtered what seem like 'valid' questions). Due to the nature of our application, students learn what types of questions we can explain to them, so unfortunately it's not a very creative list. Students know not to ask Calculus questions yet for example.
But it does still bring up a lot of things we don't support yet including (in order of how common they are in this sample):
- factoring (coming soon #104 )
- system of equations (long term goal)
- negative exponents
- negative roots
- expanding an exponent over parens e.g. (x + 2)^2
- Multi-variate terms e.g. x^2*y^3
- solving equations where x is in the denominator (coming soon #88 )
- fractional exponents
- expanding an exponent over fraction e.g. (2/3)^2
- solving equations when a square root is involved
- absolute with a variable (having to split into multiple cases)
- log/exponentials
from mathsteps.
After studying the PRESS research, I suspected that the math problems which are in most textbooks were created using unscientific processes. Discussions such as How do authors make their problems/exercises for their math books? on math.stackexchange support this suspision.
However, logic-based AI software has existed for years that automatically generates math problems using scientific methods:
This program is based on some amazingly insightful research that the mathematics education system appears to be unaware of.
The opportunity exists for the mathsteps project to expand its scope from solving math problems that were created using unscientific processes to being one of the main sources in the world for obtaining scientifically generated math problems.
from mathsteps.
A related question is are the math problems that students submit stored anywhere? If so, it would be useful to analyze these problems so they can be classified. Then maybe test cases could be written for each problem class.
from mathsteps.
I think gathering data on the actual problems solved would be very interesting. I've tended to rely on what is in textbooks, and it would be interesting to see if these are different.
from mathsteps.
Socratic does store these queries! and @aelnaiem is down to make them available for y'all
from mathsteps.
This list of questions is helpful, thanks for posting them.
It would be useful to determine the various ways that elementary algebra expressions can be classified. A number of ways are present in your "not supported yet" list, and more could be identified that are already implemented in mathsteps.
Another way to classify elementary algebra expressions is by their structure. I have been experimenting with enumerating all of the elementary algebra expression trees (which only contain binary operators) to a given depth. The following example shows these trees to depth 3:
http://patternmatics.org/mathsteps/tmp/structure_levels_1_to_3.png
There are 21 depth 3 trees, 651 depth 4 trees, and 457,653 depth 5 trees. I am in the process of creating a LaTeX parser to parse the problems on your list. The first analysis I am going to do on these expressions is to collect statistics on their depths.
from mathsteps.
That is very interesting. Thanks for posting the list of questions.
Is there a reason you have posted these as LaTeX, and not in a "content" form? As Ted says, writing a parser for this set of expressions isn't difficulty (and would be a fun exercise!).
from mathsteps.
Ahh good question. That's a consequence of how we get student input, but a converted version would be more useful I can imagine. I'll get one :)
from mathsteps.
Here is a first attempt to create a parsed version of the list of questions:
sample_questions-1_parse_and_analyze_v.01.txt
The parser is still buggy, so if you notice any errors please point them out.
Each question has an entry that lists the LaTeX version of the question, its line number in the original file, a parsed and printed version that is partially parenthesized, a parsed and printed version that is fully parenthesized, and the maximum depth of the question's expression tree. This histogram shows a distribution of the depths of all the expression trees:
1-2 | ***** | 368
3-4 | ****** | 511
5-6 | * | 43
I wonder how this distribution correlates with the grade levels of the submitters?
from mathsteps.
I think we could still make a bunch of example tests that we'd like to eventually support - so maybe keep this open?
from mathsteps.
Hmm, that's fair but I'd rather they be associated with specific issues
from mathsteps.
Related Issues (20)
- Can mathsteps handle derivative and integral? HOT 6
- x * (x - 1) = 1 ===>> throws 'Math error: No term with symbol: x , returning no steps' HOT 1
- How to run mathsteps on smartphone? HOT 1
- Severe security vulnerability HOT 5
- Missing parentheses when multiplying with a negative number HOT 5
- more things to add to linter
- Current Limitations HOT 1
- Mathsteps cannot handle quadratic equations HOT 4
- Development Status HOT 1
- handling latex input
- Script to browserify mathsteps
- compute a reverse expression HOT 1
- Fails when left node is only a parenthesis (eg "(x+1)=4", "((x)/(4))=4")
- Canceling out first variable throws error
- How to render these steps using Mathjax or something else? HOT 1
- Project Status and inactive email HOT 2
- bug : x-2/3=0
- Another bug : 2/x=3/4 HOT 2
- Adapting to iOS Swift
- Adapt README.md to link to the most active fork
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from mathsteps.