Maple Learn Content Tools
Maple 2021 provides new tools for creating documents and interactive applications programmatically. These tools can be used to develop Maple Learn content or to create applications to be used in Maple. Maple Learn is a new online environment designed specifically for teaching and learning mathematics.
Help with Math Problems
Canvas-based Practice Sheets
Animated Step-by-Step Solutions
Maple 2021 provides new tools for creating documents and interactive applications programmatically. The new concept of a canvas has two main uses.
First, the canvas allows you to create Maple Learn content in Maple and then share it through Maple Learn. This allows instructors to take advantage of Maple’s more advanced document and analysis tools to create sophisticated content that students can then use in Maple Learn.
Second, the canvas provides a framework for Maple users to easily build applications where the number of required input fields is not known in advance. The user can create as many input fields as they need as they use the application, and Maple looks after the details of creating and extracting the information from those fields for you. All canvas applications be used in Maple or shared through Maple Learn.
The DocumentTools[Canvas] package builds on DocumentTools component primitives to provide a simple way to generate a grid layout of text and math.
A canvas is both:
a document template where math can be inserted and acted upon by button clicks within Maple, and
the document environment used by Maple Learn.
The NewCanvas and ShowCanvas commands can be used to construct and display math and text content organized in a grid layout. When a ScriptButton is present, additional controls and blank entry boxes are available for user input. Using Script actions the math and text can be modified and/or annotated.
In scenario 1., the canvas is viewed and interacted with directly inside a Maple document.
In scenario 2., the ShareCanvas command is used to send the canvas to Maple Learn, where it can be viewed and interacted with inside a web browser.
In this example we use the NewCanvas command with lists of content in order to arrange the output into two columns.
eq1 ≔ ∫−∞∞xn+1α+βγⅆx:
inerteq ≔ `%+`1,1:
cv≔NewCanvasCanvas Layout Example, Column 1,Column 2, Mathπ, TextMixed text and %1,b2−4⁢a⁢c, inerteq, eq1 :
The ShowCanvas command displays the created canvas.
The ShareCanvas command sends the canvas to Maple Learn and gives you a link to your document.
In this example, we will define an application that allows user input and provides feedback. The FindPrimes procedure will run when a button is pressed. It will use the GetMath command to extract all of the math in the canvas area, then use Script commands, including Annotate to add annotations to the inputs.
FindPrimes := proc( canvas )
local script := DC:-Script();
for local m in DC:-GetMath(canvas) do # get all the math in the canvas
SetActive(script,m); # set the location of the annotation
if m:-math::integer and isprime(m:-math) then
Annotate(script,"Good job, this is prime"); # annotate based on the given math
Annotate(script,"This is not prime");
Generate the canvas
cv≔NewCanvas⁡Write Some Prime Numbers Anywhere,ScriptButton⁡Check Your Page,FindPrimes,position=500,50:
To test this within Maple, run:
To try this on the web using Maple Learn, execute:
The new SolvePractice command generates a canvas with SolveFeedback as the command behind the button.
This interactive example can also be shared via Maple Learn:
cv ≔ SolvePractice2⁢x+3=4⁢x−5,x, 'output'='link':
The PracticeSheet command now has an option to return a canvas, which can be deployed to Maple Learn.
cv ≔ Student:-Basics:-PracticeSheetinteger/integer(range=2..5)+integer/integer(range=2..5), title=Addition of Fractions, message=Add and reduce each expression , inline, output = canvas:
The ShowSolution commands and many other commands that generate step-by-step solutions to problems can generate a canvas that is scripted in such a way that it will reveal solution steps in an animated fashion.
ShowSolution expr , 'displaystyle' = 'columns' ;
cv ≔ ShowSolution expr, 'displaystyle' = 'columns', 'output' = 'canvas' :
ShareCanvas cv ;
Download Help Document