Difference between revisions of "PGLabs"
(33 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
On-line labs for rendering of PG code. These two |
On-line labs for rendering of PG code. These two |
||
− | labs allow you to experiment with |
+ | labs allow you to experiment with PG syntax. |
− | * the [http://hosted2.webwork.rochester.edu/webwork2/wikiExamples/MathObjectsLabs/1/?login_practice_user=true MathObjects syntax] |
||
+ | === Test your PG code fragments === |
||
− | which simplifies the construction of mathematical objects and |
||
+ | Click on this link to go to PG calculator: |
||
− | the construction of answer evaluators which check the answers submitted |
||
− | by students. |
||
− | + | https://demo.webwork.rochester.edu/webwork2/wikiExamples/MathObjectsLabs2/2/?login_practice_user=true |
|
− | + | ||
+ | For example you could enter the code fragment below into the calculator: |
||
+ | |||
+ | Context("Numeric"); |
||
+ | $f = Compute("x^2-3x+5"); |
||
+ | $fp = $f->D; # calculate the derivative |
||
+ | checkAnswer($fp, "2x-3"); # the first argument is a MathObject, the second the student's answer string |
||
+ | |||
+ | * On the last line <code>TEXT</code> prints the results of (reading from left to right) |
||
+ | ** Constructing the AnswerEvaluator for the contents of the Formula <code>$fp</code> |
||
+ | ** Evaluating the string <code>"2x-3"</code> using this AnswerEvaluator to produce an AnswerHash |
||
+ | ** Recursively representing the contents of the AnswerHash in a nice table. |
||
+ | |||
+ | <code>checkAnswer()</code> inserts its arguments into a more complicated command. e.g. last line above becomes: |
||
+ | |||
+ | TEXT($fp->cmp->evaluate("2x-3")->pretty_print); |
||
+ | |||
+ | === PGML markup lab === |
||
+ | * Experiment with the new PG markup language syntax (PGML) which simplifies the graphical layout of the mathematics question. |
||
+ | |||
+ | https://courses1.webwork.maa.org/webwork2/cervone_course/PGML?login_practice_user=true |
||
+ | |||
+ | Several dozen questions illustrating the use of PGML: |
||
+ | |||
+ | https://courses1.webwork.maa.org/webwork2/cervone_course/PGML-examples/?login_practice_user=true |
||
+ | |||
+ | To use these commands in your own courses you will need to include <code>PGML.pl</code> in your <code>loadMacros()</code> segment. Start the display of your problem text with <code>BEGIN_PGML</code> which expands to |
||
+ | |||
+ | TEXT(PGML::Format2(<<'END_PGML')); |
||
+ | |||
+ | and end with <code>END_PGML</code>. These are used instead of the usual <code>BEGIN_TEXT/END_TEXT</code> construction. You can use both <code>BEGIN_TEXT/END_TEXT</code> and <code>BEGIN_PGML/END_PGML</code> in the same problem, if you wish. See [[SampleProblem4]] for an example (with explanation) that uses PGML. |
||
+ | |||
+ | [[Category:Authors]] |
Latest revision as of 20:01, 26 February 2020
On-line labs for rendering of PG code. These two labs allow you to experiment with PG syntax.
Test your PG code fragments
Click on this link to go to PG calculator:
For example you could enter the code fragment below into the calculator:
Context("Numeric"); $f = Compute("x^2-3x+5"); $fp = $f->D; # calculate the derivative checkAnswer($fp, "2x-3"); # the first argument is a MathObject, the second the student's answer string
- On the last line
TEXT
prints the results of (reading from left to right)- Constructing the AnswerEvaluator for the contents of the Formula
$fp
- Evaluating the string
"2x-3"
using this AnswerEvaluator to produce an AnswerHash - Recursively representing the contents of the AnswerHash in a nice table.
- Constructing the AnswerEvaluator for the contents of the Formula
checkAnswer()
inserts its arguments into a more complicated command. e.g. last line above becomes:
TEXT($fp->cmp->evaluate("2x-3")->pretty_print);
PGML markup lab
- Experiment with the new PG markup language syntax (PGML) which simplifies the graphical layout of the mathematics question.
https://courses1.webwork.maa.org/webwork2/cervone_course/PGML?login_practice_user=true
Several dozen questions illustrating the use of PGML:
https://courses1.webwork.maa.org/webwork2/cervone_course/PGML-examples/?login_practice_user=true
To use these commands in your own courses you will need to include PGML.pl
in your loadMacros()
segment. Start the display of your problem text with BEGIN_PGML
which expands to
TEXT(PGML::Format2(<<'END_PGML'));
and end with END_PGML
. These are used instead of the usual BEGIN_TEXT/END_TEXT
construction. You can use both BEGIN_TEXT/END_TEXT
and BEGIN_PGML/END_PGML
in the same problem, if you wish. See SampleProblem4 for an example (with explanation) that uses PGML.