Authors

From WeBWorK
(Difference between revisions)
Jump to: navigation, search
(Created page with "== Learning how to Author WeBWorK problems == * See '''Problem Authoring Background Information''' and '''sample problems''' If you're ju...")
 
 
(25 intermediate revisions by 4 users not shown)
Line 1: Line 1:
== Learning how to Author WeBWorK problems ==
+
==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.
* See  '''[[Problem Authoring Background Information]]''' and '''[[:Category:Sample Problems|sample problems]]''' If you're just starting out.
+
* '''[[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]]
* See '''[[SubjectAreaTemplates|subject area templates]]''' if you're looking for complete examples from very basic to advanced.  
+
* '''[[:Category:Subject Area Templates|Subject Area Templates]]''' Some may find it useful to use this page where templates are ordered by subject area.
* See '''[[:Category:Problem_Techniques|index of problem techniques]]''' section if you need help with one particular construct.
+
* '''[[:Category:Sample_Problems|Sample_Problems]]''' A third page with a collection of templates is this page of sample problems. These are very basic examples that illustrate the structure of a WeBWorK problem.
* See ''' [[SampleProblem4 |PGML]]''' (Template 4) to learn techniques which simplify formatting  the appearance of the questions.  
+
* See  '''[[:Category:MathObjects|MathObjects]]''' for more information on authoring problems using MathObjects.
+
* See '''[[ PGLabs]]''' to try  out code fragments on line -- including code fragments containing MathObjects. This is a quick way to learn the fine points of the MathObject syntax.
+
  
== Basic info and Sample Problems ==
+
==Basic Information==
 +
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 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.
 +
**  '''[[MathObjects reference table]]''' -- a quick reference.
 +
** '''[[Introduction to Contexts]]''' -- how to use Numeric, Complex, Vector, Matrix, Interval, and other contexts in problems.
 +
** '''[[Reduction rules for MathObject Formulas]]''' -- a table of ''The Reduction Rules and their Actions''.
 +
** '''[https://testcourses.webwork.maa.org/webwork2/PREP14_Problem_Authoring/Workshop2/?login_practice_user=true Davide Cervone's presentation on MathObjects to PREP, June, 2014]'''
 +
* '''[[:Category:PGML|PGML]]''' -- information on authoring problem using the PGML markup language.
 +
** '''[[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.
  
* [[Problem Authoring Background Information]] (Big picture overview)
+
== Reference documents and manuals ==
* '''[[:File:WeBWorK_Problem_Authoring_Tutorial.pdf|Problem Authoring Tutorial]]''' aimed at people who already know TeX, but need to learn about Perl, PG, and MathObjects.
+
* '''[[Problem Authoring Videos]]''' Complete course of streamed recordings from the PREP 2015 Workshop on Problem Authoring
* [[:Category:Sample Problems|Index of Sample Problems]]
+
* [[:Category:Applets|'''Applets''']], how to embed Flash and Java applets into WeBWorK questions.  
** [[SampleProblem1|Template 1]] (the basic structure of a WeBWorK PG problem file)
+
* '''[[SequentialProblems]]''' revealing the problem one step at a time
** [[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)
+
** '''NEW''' --[[SampleProblem4|Template 4]] (illustrates PGML markup)
+
* More Advanced Sample Problems
+
**  ....
+
 
+
== Reference Documents ==
+
 
+
* '''[[:Category:Problem Techniques|Index of Problem Techniques]]''' ** very useful code fragments
+
* '''[[SubjectAreaTemplates | Subject Area Templates]]'''  ** complete examples for questions on various math subjects
+
 
* '''[http://webwork.maa.org/pod/pg_TRUNK/ 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.
 
* '''[http://webwork.maa.org/pod/pg_TRUNK/ 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.
* '''[[PGLabs]]''', On-line labs for rendering of PG code. These labs allow you to interactively experiment with PG syntax online.
+
* '''[[Doxygen]] Doxygen compiles a list of all the subroutines occurring in all the files from the webwork2 and pg directories. Can be used to find where a macro command is defined.
* [https://courses.webwork.maa.org/webwork2/cervone_course/PGML-examples/?login_practice_user=true '''PGML''' ] formatting examples.
+
* '''[[: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) -- (by Paul Pearson).
 +
* '''[[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/]
 +
* '''[[Converting CAPA problems for use with WeBWorK]]''' (This article has been retained as a historical document.)
  
== Manuals and HOWTOs ==
+
==Other==
 
+
{|width = "100%" align="center"
* '''[[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.
+
|style="width: 33%; border-width: 0px;"|{{projectline|Developers | Developers | Become a WeBWorK Developer |echo-ambass-48px.png}}
* '''[[:Category:MathObjects|MathObjects]]''', an object system for manipulating mathematics in WeBWorK questions.
+
|style="width: 33%; border-width: 0px;"|{{projectline|Contributors|Contributors|WeBWorK Contributors - join us! [http://webwork.maa.org/planet (blog posts)]|gartoon-credits-48px.png}}
** '''[[PGLabs]]''', On-line labs for rendering of PG code. These labs allow you to interactively experiment with PG syntax online.
+
|-
**[https://courses.webwork.maa.org/webwork2/cervone_course/PGML-examples/?login_practice_user=true '''PGML''' ]-- Davide Cervone's newest addition to the PG authoring language makes it easier to describe the layout of a question.  The new commands and an interactive environment for experimenting with them are available on the [[PGLabs]] page.
+
|style="width: 33%; border-width: 0px;"|{{projectline|Learning How to Author Problems | Learning How to Author Problems | Various tools and tricks for writing problems |echo-ambass-48px.png}}
 
+
|}
 
+
* [[Customize_Course]]
+
* [[:Category:Applets|'''Applets''']], how to embed Flash and Java applets into WeBWorK questions.
+
* Specialized HOWTOS
+
** [[SequentialProblems]] revealing the problem one step at a time
+
** [[Converting CAPA problems for use with WeBWorK]]
+
* '''[[TrainingAuthors |Notes on training authors]]''', and suggestions for further documentation-- Sam Hathaway
+
 
+
== Background information ==
+
(older reference material )
+
 
+
* [[Problem Authoring Background Information]]
+
* [[Basic Perl syntax]] {{--}} PG is based on Perl, so it is important to know some basic Perl syntax.
+
**[[How BEGIN_TEXT...END_TEXT blocks work]]
+
* [[Problem Authoring Best Practices]] for problem authoring.
+
** [[What to do if you find a bug in a problem]]
+
** [[Tagging Problems]] with metadata for indexing and searching.
+
 
+
  
[[Category:Top]]
+
[[Category:Authors]]

Latest revision as of 11:08, 6 May 2016

Contents

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
  • Subject Area Templates Some may find it useful to use this page where templates are ordered by subject area.
  • Sample_Problems A third page with a collection of templates is this page of sample problems. These are very basic examples that illustrate the structure of a WeBWorK problem.

Basic Information

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:

Reference documents and manuals

  • Problem Authoring Videos Complete course of streamed recordings from the PREP 2015 Workshop on Problem Authoring
  • Applets, how to embed Flash and Java applets into WeBWorK questions.
  • SequentialProblems 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.
  • Doxygen Doxygen compiles a list of all the subroutines occurring in all the files from the webwork2 and pg directories. Can be used to find where a macro command is defined.
  • WeBWorK Problem Authoring Tutorial aimed at people who already know TeX, but need to learn about Perl, PG, and MathObjects (pdf file) -- (by Paul Pearson).
  • 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.)

Other

Echo-ambass-48px.png
Developers
Become a WeBWorK Developer
Gartoon-credits-48px.png
Contributors
WeBWorK Contributors - join us! (blog posts)
Echo-ambass-48px.png
Learning How to Author Problems
Various tools and tricks for writing problems
follow us