Difference between revisions of "Category:Authors"

From WeBWorK_wiki
Jump to navigation Jump to search
(→‎Reference documents and manuals: put a working link to POD docs - current "temporary" location)
 
(61 intermediate revisions by 8 users not shown)
Line 1: Line 1:
This guide contains information about authoring WeBWorK problems.
 
 
* If you're just starting out, see the [[Problem Authoring Background Information]] and [[:Category:Sample Problems|sample problems]] first.
 
* If you're working on a problem in a specific area you may find the more advanced templates useful.
 
* If you're working on a problem and want to find out how to do one particular thing the [[:Category:Problem_Techniques|index of problem techniques]] may be useful.
 
* Use the online calculators to try things out.
 
   
== Manuals and HOWTOs ==
 
  +
==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.
  +
* '''[[Problem Techniques]]''' This page lists templates for WeBWorK problems in alphabetical order. This collection of templates can also be accessed through the associated category page: [[:Category:Problem Techniques]]
  +
* '''[[:Category:Subject Area Templates|Subject Area Templates]]''' Some may find it useful to use this page where templates are ordered by subject area.
  +
* '''[[:Category:Sample_Problems|Sample_Problems]]''' A third page with a collection of templates is this page of sample problems.
   
* [[Problem Authoring Background Information]]
+
==Basic Information==
* [[Basic Perl syntax]] {{--}} PG is based on Perl, so it is important to know some basic Perl syntax.
+
WeBWorK problems should be written with the use of MathObjects. Most of the templates mentioned above will include the MathObject Macros (recognizable by the line "MathObjects.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 Best Practices]] for problem authoring.
+
* '''[[Problem Authoring Background Information]]''' -- includes a PG language overview, some comments about editing problems and ensuring server access.
* [[How BEGIN_TEXT...END_TEXT blocks work]]
+
* '''[[:Category:MathObjects|MathObjects]]''' -- information on authoring problems using MathObjects.
* [[:Category:MathObjects|MathObjects]], an object system for manipulating mathematics in WeBWorK problems.
+
** '''[[MathObjects reference table]]''' -- a quick reference.
* [[Tagging Problems]] with metadata for indexing and searching.
+
** '''[[Introduction to Contexts]]''' -- how to use Numeric, Complex, Vector, Matrix, Interval, and other contexts in problems.
* [[PGLabs]], On-line labs for rendering of PG code. These labs allow you to experiment with PG syntax online.
+
** '''[[Reduction rules for MathObject Formulas]]''' -- a table of ''The Reduction Rules and their Actions''.
* [[SequentialProblems]] revealing the problem one step at a time
+
** '''[https://testcourses.webwork.maa.org/webwork2/PREP14_Problem_Authoring/Workshop2/?login_practice_user=true Davide Cervone's presentation on MathObjects to PREP, June, 2014]'''
* [[Converting CAPA problems for use with WeBWorK]]
+
* '''[[:Category:PGML|PGML]]''' -- information on authoring problem using the PGML markup language.
* [[What to do if you find a bug in a problem]]
+
** '''[[SampleProblem4 |Template 4]]''' -- the standard outline of a problem using PGML, which includes a ''tagging and description section'', ''an initialization section'', ''a problem set-up section'', ''a text section'', and optional ''answer and solution sections''.
  +
** '''[https://testcourses.webwork.maa.org/webwork2/PREP14_Problem_Authoring/Workshop3-PGML/?login_practice_user=true Davide Cervone's presentation on PGML to PREP, June, 2014]'''
  +
* '''[[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.
   
== Sample Problems ==
 
  +
==Templates, programming examples, and problem libraries from the University of Lethbridge==
   
* [[:Category:Sample Problems|Index of Sample Problems]]
 
  +
Sean Fitzpatrick (sean.fitzpatrick@uleth.ca) contributed the following:
** [[SampleProblem1|Template 1]] (the basic structure of a WeBWorK PG problem file)
 
** [[old-style example template|SampleProblem1a]] (old-style, non-MathObjects example)
 
** [[SampleProblem2|Template 2]] (formulas, multiple choice, and string entry problems)
 
** [[SampleProblem3|Template 3]] (dynamically generated graphs)
 
* More Advanced Sample Problems
 
   
== Reference Documents ==
 
  +
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
  +
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:
   
* [[:Category:Problem Techniques|Index of Problem Techniques]]
 
  +
https://github.com/ULeth-Math-CS/WeBWorK
* [http://webwork.maa.org/doc/cvs/pg_CURRENT PG macro/library documentation from CVS]
 
  +
* [[TrainingAuthors |Notes on training authors]], and suggestions for further documentation-- Sam Hathaway
 
  +
The programming examples are not questions. They're an attempt at producing an exhaustive list of every possible way of inputting and evaluating
  +
something using the various contexts.
  +
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
  +
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://demo.webwork.rochester.edu/wwdocs/ POD]''' -- POD = "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. (Old, currently broken link [http://webwork.maa.org/pod/pg_TRUNK/ POD])
  +
* '''[[: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/]
 
* The Good Questions project at Cornell University [http://www.math.cornell.edu/~GoodQuestions/]
[[Category:Top]]
 
  +
* '''[[Converting CAPA problems for use with WeBWorK]]''' (This article has been retained as a historical document.)

Latest revision as of 04:25, 8 November 2020

Templates[edit]

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[edit]

WeBWorK problems should be written with the use of MathObjects. Most of the templates mentioned above will include the MathObject Macros (recognizable by the line "MathObjects.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:

Templates, programming examples, and problem libraries from the University of Lethbridge[edit]

Sean Fitzpatrick (sean.fitzpatrick@uleth.ca) contributed the following:

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 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

The programming examples are not questions. They're an attempt at producing an exhaustive list of every possible way of inputting and evaluating something using the various contexts. 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 could be.

Reference documents and manuals[edit]

  • Problem Authoring Videos, recordings from the PREP 2015 Problem Authoring Workshop.
  • Applets, how to embed Flash and Java applets into WeBWorK questions.
  • SequentialProblems now replaced by Scaffold revealing the problem one step at a time
  • POD -- POD = "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. (Old, currently broken link POD)
  • WeBWorK Problem Authoring Tutorial aimed at people who already know TeX, but need to learn about Perl, PG, and MathObjects (pdf file).
  • Customize Course This page includes a bit of code that allows student to obtain a new version of a problem.
  • Notes on training authors, and suggestions for further documentation-- Sam Hathaway
  • The Good Questions project at Cornell University [1]
  • Converting CAPA problems for use with WeBWorK (This article has been retained as a historical document.)