WOLFRAM NOTEBOOK

Step-by-step and more
by Noah Chartoff and John McNally

Wolfram technology can do more than just answer questions. It can provide suggestions or extra information, helping you understand not just what the answer is but why.
  • How do you know the answer is correct (Step-By-Step Solutions)
  • What else could we explore related to the question (Related Computations & full Wolfram|Alpha results)
  • What else could we explore related to the answer (Suggestions Bar)
  • Integrate x^2cos(x)
    step-by-step solution
    related computations
    full Wolfram|Alpha results
    plot function and integral
    integral from 0 to
    derivative wrt
    x
    extract function
    function domain
    critical points
    expand trig functions
    function parity
    inflection points
    invert function
    make trig function arguments imaginary
    plot function
    real zeros
    replace trig functions by their cofunctions
    replace trig functions by their inverses
    replace trig functions by their reciprocals
    stationary points
    limit at
    x
    =
    0
    series expansion at
    x
    =
    0
    In[91]:=
    Integrate[x^2*Cos[x], x]
    Out[91]=
    (
    2
    x
    -2)sin(x)+2xcos(x)+
    c
    1
    show steps
    2
    x
    *
    cos(x)
    x
    full Wolfram|Alpha results
    Out[139]=
    Indefinite integrals:
    STEP 1
    Take the integral:
    2
    x
    cos(x)x
    Show next step
    Show all steps
    In[138]:=
    Expand[
    1
    +2 x Cos[x]+(-2+
    2
    x
    ) Sin[x]]
    Out[138]=
    2
    x
    sin(x)-2sin(x)+2xcos(x)+
    c
    1
    plot {x^2 cos(x), (x^2 - 2) sin(x) + 2 x cos(x)} from x = -37.7 to 37.7
    related computations
    full Wolfram|Alpha results
    In[137]:=
    Plot{x^2*Cos[x], 2*x*Cos[x] + (-2 + x^2)*Sin[x]}, {x, -37.699111843077517392`3., 37.699111843077517392`3.}, PlotLegends -> "f", "f"
    Out[137]=
    f
    f
    A few quick examples:

    We can explore the question further through “related computations” (e.g. plotting the integral and the function)

    We can explore the answer further through the suggestions bar (e.g. expand the answer)

    Or we can explore how we can get from the question to the answer through the Step-By-Step solution:
    show steps
    2
    x
    *
    cos(x)
    x
    full Wolfram|Alpha results
    If you know you’re going to want step-by-step, you can request it from the beginning like so:
    show steps Factor[x^2 - 17*x - 60]
    full Wolfram|Alpha results
    Out[77]=
    Results:
    STEP 1
    Factor the following:
    2
    x
    -17x-60
    Show next step
    Show all steps
    Factor x^2-(b+a)x+(b*a)
    related computations
    full Wolfram|Alpha results
    In[98]:=
    Factor[x^2 - (b + a)*x + b*a]
    Out[98]=
    (a-x)(b-x)
    Even when “step-by-step solution” isn’t offered (as a blue link below the orange box), you can often create it:
    Show steps factor x^2-(b+a)x+(b*a)
    full Wolfram|Alpha results
    Out[96]=
    Results:
    STEP 1
    Factor the following:
    2
    x
    -x(b+a)+ba
    Show next step
    Show all steps
    The step-by-step solutions aren’t always strictly algebraic. Where appropriate, explanations add visuals.
    Show steps limit of sin(x)/x as x goes to 0
    full Wolfram|Alpha results
    Out[88]=
    Limit:
    STEP 1
    Find the following limit:
    lim
    x0
    sin(x)
    x
    Show next step
    Show all steps
    What we’ve seen so far is a bit different in Mathematica, but most of these features are still there.

    Fitting the help to the problem

    Extra help can be provided for most levels of mathematics: we’re not assuming that only algebra and above needs extra help.

    4+2
    step-by-step solution
    related computations
    full Wolfram|Alpha results
    In[70]:=
    4 + 2
    Out[70]=
    6
    show steps 4+2
    full Wolfram|Alpha results
    Out[93]=
    Results:
    Use math manipulatives |
    STEP 1
    Do the following addition:
    4+2
    Show next step
    Show all steps
    show steps 9+7
    full Wolfram|Alpha results
    Out[85]=
    Results:
    Use math manipulatives |
    STEP 1
    Do the following addition:
    9+7
    Show next step
    Show all steps
    Problems of different levels of difficulty will have explanations that match their difficulty level (trying to assume as little as possible)
    In this case, the program didn’t give us multiple options: manipulatives would be cumbersome.
    “Full Wolfram|Alpha results” can show more than step-by-step solutions: it can show other useful details, sometimes leading to other useful “extra help” options:
    “Full Wolfram|Alpha results” is a great all-purpose way to investigate something further. But if you’re looking for something specific, you can often ask for it through natural language.

    Step-by-Step, Exploration, and Student Engagement

    What are educators trying to teach students?

  • Framing their own questions in a clear, actionable way
  • Coming up with a plan of attack to answer a particular question
  • Automaticity with basic, algorithmic knowledge
  • We want to engage students to think at the top of this metacognitive ladder, but the higher order skills are often informed by basic skills. What to do about this?

    What is Constructivism?

    Remember you can get more than just math problems from Wolfram|Alpha!

    Motivating Student Engagement through Real Experiments

    Laboratory work touches on some basic, algorithmic knowledge
    But is that algorithmic knowledge the main learning goal of your first lesson? Probably not! Instead, you want to engage your students’ interest, critical thinking, and curiosity.
    Using programmatically generated explanations, you can model for students how to (eventually) think about basic algorithms while keeping the motivating focus on higher order questions.
    Notice that after clearly stating the problem, the second step models coming up with a plan of attack!
    While your introduction to a topic engages students’ higher order metacognitive skills to frame their own questions, you can subtly model skills like coming up with a plan and carrying out basic algorithms.
    In other words, just because basic algorithms form the base of a metacognitive pyramid, all your learning goals don’t need to focus on them!

    Analyzing Data, a Good Context to Cover the Basics

    Any time you bring data into the classroom, analysis requires some computation. Is your learning goal for students to do the computation by hand? Is your learning goal for students to do the computation with a computer? Is your learning goal for students to understand the basic algorithm well enough to trust a computer to do the rest?
    Get students excited to learn advanced concepts:
    Add supplementary materials and readings:
    https://writings.stephenwolfram.com/2023/02/computational-foundations-for-the-second-law-of-thermodynamics/
    Let a computer worry about hundreds of arithmetic operations to answer questions about your real classroom data.
    Now that your students have collected data relevant to their higher-order questions and also seen what detailed analysis can look like, it’s possible to frame basic algorithms and concepts in terms of reaching advanced goals.
    Note that what happens when you say “show next step” can be used to build metacognitive skills. Guide students to see if they can anticipate what comes next, and compare their internal model to the one presented.
    “Standard Deviation” is a term that has different definitions in different contexts. Clarifying assumptions is another important metacognitive skill to model.
    Related computations are one way to scaffold student experiences to build a knowledge base for the next learning goal.
    Free-form exploration is another way to build a knowledge base for the next learning goal.

    Scaffolding for Symbolic Thinking

    Abstraction is a skill that develops along with students’ other cognitive skills (like meta-cognition or executive functions). For students at a particular level of prior knowledge, solving specific cases of abstract problems can make sense.
    Note that as you saw in previous examples, you can get useful “chunks” of the plan by revealing one step at a time. Students don’t necessarily know they are building metacognitive skills or strategies for doing so unless you give direction instruction about meta-cognition! Tell them why it makes sense to reveal at one step at a time, and you can help students develop good metacognitive habits.
    Determining when a student is ready to start abstracting a concept into their higher-order toolkit is part art and skill on the part of the instructor. For example, some students may still need to view this as a different problem than the last example:
    However, you definitely want to keep symbolic abstraction in mind as a key learning goal to aim for, and you don’t necessarily need students to have completely mastered concrete examples before introducing abstract concepts. (Although it can certainly help, depending on the specific context.)
    You can have students compare the steps for each of the last three examples in order to build the experiences they will eventually use to construct their inner model of how this topic “works”.

    Touching On the Social Dimension of Learning

    One technique for building your students’ own metacognitive skills is to ask them to think about the cognition of others.
    Ask your students to analyze each of these three explanations (the “borrowing” algorithm, geometric intuition with a number line, or simply “performing a simplification”). Ask them:
  • What prior knowledge does each explanation require to make sense? (All of them do assume things before step 1!)
  • What classroom activities in your own past does each explanation remind you of?
  • Imagine you were teaching others to solve this problem, in what grade level(s) do you think makes the most sense to give each explanation?
  • Next, ask them to come up with a fourth explanation to justify the result of this calculation. Many will have probably seen manipulatives of different colors for positive and negative that can “cancel”. However, other students may come up with analogies involving money or purchasing ingredients for cooking. Asking students to come up with novel explanations and analogies after seeing exemplars of “good” explanations is a powerful way to solidify their understanding.
    Remember, any task you ask of students requires buy-in from the students! Otherwise, they just won’t do the task! Framing tasks in terms of students’ own sense of skill development is crucial for motivation.
    Wolfram Cloud

    You are using a browser not supported by the Wolfram Cloud

    Supported browsers include recent versions of Chrome, Edge, Firefox and Safari.


    I understand and wish to continue anyway »

    You are using a browser not supported by the Wolfram Cloud. Supported browsers include recent versions of Chrome, Edge, Firefox and Safari.