Difference between revisions of "New Authors landing page"

From WeBWorK_wiki
Jump to navigation Jump to search
(→‎Basic Information: recommend using PGML in first paragraph.)
m
 
(15 intermediate revisions by the same user not shown)
Line 9: Line 9:
 
WeBWorK problems should be written with the use of MathObjects, PG and PGML. MathObjects package things like numbers, vectors, matrices, etc., into a convenient form that controls formatting and includes an answer checker. PG provides many macros that generate random numbers, graphics, compute statistical distributions, etc. PGML gives authors finer control over a problem's display, and helps organize code in a way that is easy to maintain. Many older problems were written without PGML, and some were written without MathObjects, but that practice is now strongly discouraged except in very specific circumstances.
 
WeBWorK problems should be written with the use of MathObjects, PG and PGML. MathObjects package things like numbers, vectors, matrices, etc., into a convenient form that controls formatting and includes an answer checker. PG provides many macros that generate random numbers, graphics, compute statistical distributions, etc. PGML gives authors finer control over a problem's display, and helps organize code in a way that is easy to maintain. Many older problems were written without PGML, and some were written without MathObjects, but that practice is now strongly discouraged except in very specific circumstances.
   
Most of the templates mentioned above include MathObject and PGML macros (look for "MathObjects.pl" and "PGML.pl" in the LoadMacros section of the code). For those who would like to read up on the basics of coding problems the following pages are recommended:
+
Most of the templates mentioned above use MathObjects and many use PGML macros (look for "MathObjects.pl" and "PGML.pl" in the LoadMacros section of the code). For those who would like to read up on the basics of coding problems the following pages are recommended:
 
* '''[[Problem Authoring Background Information]]''' -- includes a PG language overview, some comments about editing problems and ensuring server access.
 
* '''[[Problem Authoring Background Information]]''' -- includes a PG language overview, some comments about editing problems and ensuring server access.
 
* '''[[:Category:MathObjects|MathObjects]]''' -- information on authoring problems using MathObjects.
 
* '''[[:Category:MathObjects|MathObjects]]''' -- information on authoring problems using MathObjects.
Line 15: Line 15:
 
* '''[[PGLabs|PG-Labs]]''' -- try out code fragments on line including code fragments containing MathObjects and PGML. This is a quick way to learn the fine points of the MathObject and PGML syntax.
 
* '''[[PGLabs|PG-Labs]]''' -- try out code fragments on line including code fragments containing MathObjects and PGML. This is a quick way to learn the fine points of the MathObject and PGML syntax.
   
==Templates, programming examples, and problem libraries from the University of Lethbridge==
 
  +
==Tutorials==
   
Sean Fitzpatrick (sean.fitzpatrick@uleth.ca) contributed the following:
 
  +
* '''[[Learning How to Author Problems]]'''
  +
* '''[[Writing Your Own Homework Problems Using PGML]]'''
  +
* '''[[:File:WeBWorK_Problem_Authoring_Tutorial.pdf| WeBWorK Problem Authoring Tutorial]]''' aimed at people who already know TeX, but need to learn about Perl, PG, and MathObjects (pdf file).
  +
* '''[[University of Lethbridge programming examples and libraries]]'''
  +
* '''[[Problem Authoring Videos]]''', recordings from the PREP 2015 Problem Authoring Workshop.
   
This summer, one of my colleagues hired a student to help her go through all of the libraries, marcos, contexts, etc. and put together a collection
 
  +
== Reference documents and manuals ==
of templates and programming examples. I got permission from her to put everything on a public GitHub repository; you can find the fruits of their
 
efforts here:
 
   
https://github.com/ULeth-Math-CS/WeBWorK
 
  +
* '''[https://webwork.maa.org/pod/ POD]''' -- POD (for WeBWorK/PG 2.15) = "plain old documentation" -- original documentation embedded in the code files -- this is the place to find the most complete and most technical description of macro behaviors.
   
The programming examples are not questions. They're an attempt at producing an exhaustive list of every possible way of inputting and evaluating
 
  +
* '''[[TrainingAuthors |Notes on training authors]]''', and suggestions for further documentation-- Sam Hathaway
something using the various contexts.
 
  +
* '''[http://pi.math.cornell.edu/~GoodQuestions/ The Good Questions project at Cornell University]'''
In the documentation there's a nice flowchart for deciding which context to use for a given problem.
 
   
I hope this is useful. It's the beginnings of what will hopefully be a longer project (done mostly over summers), so it's not yet as polished as it
 
  +
[[Category:Authors]]
could be.
 
 
== Reference documents and manuals ==
 
* '''[[Problem Authoring Videos]]''', recordings from the PREP 2015 Problem Authoring Workshop.
 
* [[:Category:Applets|'''Applets''']], how to embed Flash and Java applets into WeBWorK questions.
 
* '''[[SequentialProblems]]''' now replaced by [[Scaffold]] revealing the problem one step at a time
 
* '''[https://webwork.maa.org/pod/ POD]''' -- POD (for WeBWorK/PG 2.15) = "plain old documentation" -- original documentation embedded in the code files -- this is the place to find the most complete and most technical description of macro behaviors.
 
* '''[[:File:WeBWorK_Problem_Authoring_Tutorial.pdf| WeBWorK Problem Authoring Tutorial]]''' aimed at people who already know TeX, but need to learn about Perl, PG, and MathObjects (pdf file).
 
* '''[[Customize_Course|Customize Course]]''' This page includes a bit of code that allows student to obtain a new version of a problem.
 
* '''[[TrainingAuthors |Notes on training authors]]''', and suggestions for further documentation-- Sam Hathaway
 
* The Good Questions project at Cornell University [http://www.math.cornell.edu/~GoodQuestions/]
 
* '''[[Converting CAPA problems for use with WeBWorK]]''' (This article has been retained as a historical document.)
 

Latest revision as of 15:59, 16 June 2021

Templates

Most people write problems starting from templates. Problems from the OPL can be modified to suit individual needs, or existing problem templates can be used to create new problems.

Basic Information

WeBWorK problems should be written with the use of MathObjects, PG and PGML. MathObjects package things like numbers, vectors, matrices, etc., into a convenient form that controls formatting and includes an answer checker. PG provides many macros that generate random numbers, graphics, compute statistical distributions, etc. PGML gives authors finer control over a problem's display, and helps organize code in a way that is easy to maintain. Many older problems were written without PGML, and some were written without MathObjects, but that practice is now strongly discouraged except in very specific circumstances.

Most of the templates mentioned above use MathObjects and many use PGML macros (look for "MathObjects.pl" and "PGML.pl" in the LoadMacros section of the code). For those who would like to read up on the basics of coding problems the following pages are recommended:

  • Problem Authoring Background Information -- includes a PG language overview, some comments about editing problems and ensuring server access.
  • MathObjects -- information on authoring problems using MathObjects.
  • PGML -- information on authoring problem using the PGML markup language.
  • PG-Labs -- try out code fragments on line including code fragments containing MathObjects and PGML. This is a quick way to learn the fine points of the MathObject and PGML syntax.

Tutorials

Reference documents and manuals

  • POD -- POD (for WeBWorK/PG 2.15) = "plain old documentation" -- original documentation embedded in the code files -- this is the place to find the most complete and most technical description of macro behaviors.