# Introduction

WeBWorK is a free Perl-based system for delivering individualized homework problems over the web. It was originally developed in 1995 by Professors Arnold Pizer and Michael Gage at the Department of Mathematics at the University of Rochester for use in mathematics instruction. A team of developers from a number of institutions now supports the system, which is currently used for a wide range of courses in mathematics and related disciplines.

WeBWorK enhances the educational process in several ways. By providing students with immediate feedback about the correctness of their answers, students are encouraged to make multiple attempts until they succeed. By individualizing problems, cheating is discouraged. By providing instructors with real-time statistics, lesson plans can be customized to better serve students.

The major way in which WeBWorK differs from other web-based homework systems is in how problems are written. The PG ("problem generation") language allows the inclusion of both Perl and LaTeX code, allowing problem authors to take advantage of the syntactic efficiency of Perl and the typographical flexibility of LaTeX (which is largely necessary for rendering mathematics expressions).

The process of defining a problem is highly modular, with various pluggable display macros, answer evaluators, and graders. This allows for a high degree of freedom in defining how problems behave.

A library of existing problems is provided as part of the system, with over 35,000 problems contributed to the Open Problem Library (or OPL) at last count. To simplify the writing of new problems, a large collection of macro files is also available. (The use of the MathObjects macros provided by Davide Cervone wherever possible is recommended to make easier the writing and maintenance of problems.)

WeBWorK uses Apache with mod_perl, MySQL, LaTeX, dvipng, MathJax, the GD graphics library, and many CPAN modules. WeBWorK is being used on Linux, FreeBSD, and Solaris, and will run on any UNIX-like system that supports its dependencies.

## Demos

Calculus classes at University of Rochester Choose the guest login. The standard calculus courses (student view) are

- mth161fall20 first semester (differential calculus),
- [ https://math.webwork.rochester.edu/webwork2/fall20mth162 mth162fall20]second semester (integral calculus) and
- [ https://math.webwork.rochester.edu/webwork2/fall20mth164 mth164fall20] third semester (multivariable calculus).

**Professor's view of WeBWorK.** WeBWorK demo class --- Use `profa`

for username and `profa`

for password.

**Browse** the **OpenProblemLibrary** using the **LibraryBrowser** in this professor's view.

You can see the student view using `practice1`

for username and `practice1`

for password.

A Gallery of Courses Existing courses using WeBWorK Assignments |

## Historical introductory materials 2008 -- 2015

### Historical videos -- how WeBWorK was born

- not currently available: 2004 Introduction to WeBWorK lecture at MSRI (2004) by Mike Gage
- 2007 Presentation: WeBWorK 2: An Internet-based system for generating and delivering homework, MAA Minicourse #6, AMS/MAA Annual Meeting, New Orleans, January 2007
- 2019 Streaming video: WeBWorK: A Perl success story presentation by Mike Gage to the Perl conference 2019 in Pittsburg
- [gource:https://www.youtube.com/channel/UCC6As11yvV8103IE_OYZKsQ 2002- 2010? Streaming video: Construction of WeBWorK -- the early days] A video presentation of our github repo starting in 2002

- In the news
- Grants, awards, and support
- WeBWorK server sites
- The educational goals of WeBWorK
- List of WeBWorK features --circa 2008
- How instructors use WeBWorK
- How students use WeBWorK
- Student reactions to WeBWorK
- Overview of WeBWorK's conceptual architecture
- Comparison of WeBWorK and CAPA
- Architecture