Comments (25)
I have started to translate mathstep's rewrite rules into the rewrite rule language of a CAS in order to help document them. Using a more abstract language like this to show what each rewrite rule does may make it easier for potential contributers to learn the codebase.
from mathsteps.
closing cause the wiki's pretty sweet right now - thanks @aelnaiem !
we can reopen this issue if anyone wants more stuff added
from mathsteps.
Wiki is good but I want to ask about the API. Is it more extensible ? If so then an API section can be created.
from mathsteps.
can you explain what you mean by "more extensible"?
from mathsteps.
The question is that can a user be provided with more methods or functionalities to play around with the equation apart from seeing the changeTypes
and Solving
. So is the API extensible ? Coz I am still into the codebase and I still need some time to figure about this.
from mathsteps.
right now all you can do with the mathsteps library is:
- solve an equation step by step
- simplify an expression step by step
- (coming soon) factor a quadratic
and the steps have changeTypes and maybe substeps (as described in the wiki section about NodeStatus)
let me know if you have any other questions :)
from mathsteps.
All clear for now 😄
from mathsteps.
I am interested in knowing what Socratic.org wants mathsteps to do in the future. For example, should it be able to:
- Support a single step mode so it can be used as a tutor? (In single step mode, an expression is submitted, one step is made on it, and then this step is returned).
- Run its rewrite rules in reverse so problems can be generated that require specific rules to solve. This would be useful for giving students practice using rules they are having troubles with, creating worksheets, and creating tests.
- Accept a sequence of steps that represent a student's failed attempt at a solution and then identify the step where the problem occurred?
- Display the rule that was applied at each step symbolically along with the identity each rule was obtained from?
- In each step return the location in the tree where a rule was applied so that visualization tools can graphically identify the subexpression the rule was applied to?
- Work with unflattened expressions? This is useful for explaining the details of how mathematics works. I think there is a great opportunity for teaching programmers who are weak in math fundamental mathematics. For this use, unflattened trees are better than flattened ones.
from mathsteps.
Support a single step mode so it can be used as a tutor? (In single step mode, an expression is submitted, one step is made on it, and then this step is returned).
This function already exists! But it's not exposed. We could maybe expose it, but you could also get the step by step solution and just use the first step
Run its rewrite rules in reverse so problems can be generated that require specific rules to solve. This would be useful for giving students practice using rules they are having troubles with, creating worksheets, and creating tests.
I think this is out of scope for mathsteps right now, but if someone else wanted to work on this that'd be very exciting!
Accept a sequence of steps that represent a student's failed attempt at a solution and then identify the step where the problem occurred?
This would be a great extension to mathsteps - I think it would be a separate project that uses mathsteps, but this is also something I'm really excited about and hope someone builds it. Someone's been emailing us who's been fiddling around with trying this :)
Display the rule that was applied at each step symbolically along with the identity each rule was obtained from?
I'm not totally sure what you mean, but changeType
s might already accomplish this!
In each step return the location in the tree where a rule was applied so that visualization tools can graphically identify the subexpression the rule was applied to?
This is already (somewhat buggily) implemented with changeGroup
s
Work with unflattened expressions? This is useful for explaining the details of how mathematics works. I think there is a great opportunity for teaching programmers who are weak in math fundamental mathematics. For this use, unflattened trees are better than flattened ones.
This seems outside the scope of what we're working on right now.
Hope this helps! Let me know if you have any followup questions :)
from mathsteps.
what sort of stuff would you like to add to the wiki @nitin42 ?
let's make a list of stuff to talk about, and then we can figure out where it'll go and how we organize it :)
from mathsteps.
- Introduction to the mathsteps (with examples)
- How to use
- Working
- FAQ
- Glossary
- API reference
- Change logs
- Feedback
- Troubleshooting
- Recipes (If someone wants to integrate this into their own project )
from mathsteps.
I am done with my list ! 😎 and I know its overwhelming !
from mathsteps.
sounds awesome!!! if we make a gitbook, can anyone submit a request to change it? how does that work?
from mathsteps.
from mathsteps.
this will do?
from mathsteps.
hmm so I guess we need to make a repository for the gitbook so people can make PRs?
I don't want to give everyone edit access, I'd rather make sure a mathsteps maintainer has read something over first.
from mathsteps.
And other options is GitHub Page
from mathsteps.
@shirleymiao is already planning to work on #124
we could make that on github pages and add a wiki? or should we make a separate repo for the wiki..?
alternatively you could just write up a gist on github with what you'd like to go on the wiki and once I approve it I can copy paste it into our wiki on GitHub (kinda ugly but might work)
or something like this http://stackoverflow.com/questions/10642928/how-to-pull-request-a-wiki-page-on-github
from mathsteps.
Last one seems fine !
from mathsteps.
https://gist.github.com/nitin42/4d48b94d682a124e2ea73a77aac73828
from mathsteps.
Here is the gist !
from mathsteps.
cool :)
I think we can use tags and releases instead of Change logs
the rest looks good so far - are you going to fill in the missing pieces? I can help with anything you don't know about
from mathsteps.
Example?
from mathsteps.
example of what?
from mathsteps.
ehn.. Nothing! I'll let you know ..
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.