Showing steps of a solution

by: Maple

Students using Maple often have different needs than non-students. Students need more than just a final answer; they are looking to gain an understanding of the mathematical concepts behind the problems they are asked to solve and to learn how to solve problems. They need an environment that allows them to explore the concepts and break problems down into smaller steps.

The Student packages in Maple offer focused learning environments in which students can explore and reinforce fundamental concepts for courses in Precalculus, Calculus, Linear Algebra, Statistics, and more. For example, Maple includes step-by-step tutors that allow students to practice integration, differentiation, the finding of limits, and more. The Integration Tutor, shown below, lets a student evaluate an integral by selecting an applicable rule at each step. Maple will also offer hints or show the next step, if asked.  The tutor doesn't only demonstrate how to obtain the result, but is designed for practicing and learning.

For this blog post, I’d like to focus in on an area of great interest to students: showing step-by-step solutions for a variety of problems in Maple.

Several commands in the Student packages can show solution steps as either output or inline in an interactive pop-up window. The first few examples return the solution steps as output.

Precalculus problems:

The Student:-Basics sub-package provides a collection of commands to help students and teachers explore fundamental mathematical concepts that are core to many disciplines. It features two commands, both of which return step-by-step solutions as output.

The ExpandSteps command accepts a product of polynomials and displays the steps required to expand the expression:

`with(Student:-Basics):`
`ExpandSteps( (a^2-1)/(a/3+1/3) );`

The LinearSolveSteps command accepts an equation in one variable and displays the steps required to solve for that variable.

`with(Student:-Basics):`
`LinearSolveSteps( (x+1)/y = 4*y^2 + 3*x, x );`

This command also accepts some nonlinear equations that can be reduced down to linear equations.

Calculus problems:

The Student:-Calculus1 sub-package is designed to cover the basic material of a standard first course in single-variable calculus. Several commands in this package provide interactive tutors where you can step through computations and step-by-step solutions can be returned as standard worksheet output.

Tools like the integration, differentiation, and limit method tutors are interactive interfaces that allow for exploration. For example, similar to the integration-methods tutor above, the differentiation-methods tutor lets a student obtain a derivative by selecting the appropriate rule that applies at each step or by requesting a complete solution all at once. When done, pressing “Close” prints out to the Maple worksheet an annotated solution containing all of the steps.

For example, try entering the following into Maple:

`with(Student:-Calculus1):`
`x*sin(x);`

Next, right click on the Matrix and choose “Student Calculus1 -> Tutors -> Differentiation Methods…

The Student:-Calculus1 sub-package is not alone in offering this kind of step-by-step solution finding. Other commands in other Student packages are also capable of returning solutions.

Linear Algebra Problems:

The Student:-LinearAlgebra sub-package is designed to cover the basic material of a standard first course in linear algebra. This sub-package features similar tutors to those found in the Calculus1 sub-package. Commands such as the Gaussian EliminationGauss-Jordan Elimination, Matrix Inverse, Eigenvalues or Eigenvectors tutors show step-by-step solutions for linear algebra problems in interactive pop-up tutor windows. Of these tutors, a personal favourite has to be the Gauss-Jordan Elimination tutor, which were I still a student, would have saved me a lot of time and effort searching for simple arithmetic errors while row-reducing matrices.

For example, try entering the following into Maple:

`with(Student:-LinearAlgebra):`
`M:=<<77,9,31>|<-50,-80,43>|<25,94,12>|<20,-61,-48>>;`

Next, right click on the Matrix and choose “Student Linear Algebra -> Tutors -> Gauss-Jordan Elimination Tutor

This tutor makes it possible to step through row-reducing a matrix by using the controls on the right side of the pop-up window. If you are unsure where to go next, the “Next Step” button can be used to move forward one-step. Pressing “All Steps” returns all of the steps required to row reduce this matrix.

When this tutor is closed, it does not return results to the Maple worksheet, however it is still possible to use the Maple interface to step through performing elementary row operations and to capture the output in the Maple worksheet. By loading the Student:-LinearAlgebra package, you can simply use the right-click context menu to apply elementary row operations to a Matrix in order to step through the operations, capturing all of your steps along the way!

An interactive application for showing steps for some problems:

While working on this blog post, it struck me that we did not have any online interactive applications that could show solution steps, so using the commands that I’ve discussed above, I authored an application that can expand, solve linear problems, integrate, differentiate, or find limits. You can interact with this application here, but note that this application is a work in progress, so feel free to email me (maplepm (at) Maplesoft.com) any strange bugs that you may encounter with it.

More detail on each of these commands can be found in Maple’s help pages.

Better way to remove quotes?...

For people new to Maple, an easy way to learn how to code may be Tutor Syntax, that is the technique of generating code by selecting everything in a Tutor dialog Maple Command window and then copying it to a current session.

The code can then be edited to tailor it to user’s needs. A problem with this technique is the copied syntax contains many single quotes (‘ ‘). The single quotes, which are usually not needed if the program in current session is short and specific, increase the difficulty when editing copied syntax. The attached file (mby2.mw) shows a method which removes the single quotes by using the SubstitueAll command in the StringTools package. One drawback: any strings inside the original syntax (e.g., “#78000E”) must be removed before the syntax can be converted to a string.

Is there a better way to generate code from Tutor dialog so it can be edited (without single quotes) in user’s current session?

mby2.mw

How to change linestyle by option? ...

With the RationalFunctionTutor generated then modified code (see egn2.mw attached).  Is it possible to make linestyle=spacedash for the two vertical asymtotes?  By selecting the graph and choosing from the plot menu the linestyle can be changed, but is there a way to do this with commands in the program code?

egn2.mw

Why is Tutor executed every time?...

I once opened Tools-Tutors-Precalculus-Polynomials. Now every time I click the button of 'execute the entire worksheet', the same Tutor  window will pop up before Maple executes my codes. I wanna know how to prevent the window to pop up?

How do i find the local/global maxima?...

Hi, I am trying to figure out how to find the maxima and minima of the function f(x)=(x^3-10*x^2-2*x+1)/(4*x^3+5*x+1) and its derivative.

a) Find the local maxima and minima of f.

b) Find the vertical asymptote

I graphed the function and located the  local max to be (-1,1) and local min (1,-1) however, I can't figure out how to plot the derivative of the function. I tried to use the diff expression but it leaves the graph empty when i attempt to plot it.

Also, just curious how am i able to join text words and maple commands together? For example, I want to be able to say "The derivative of the original function is [maple command here]" ? I tried to switch from text to math however nothing worked.