# 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

First semester calculus at University of Rochester Choose the guest login. The standard calculus courses are

- MTH161, first semester (differential calculus),
- MTH162 second semester (integral calculus) and
- MTH164 third semester (multivariable calculus).

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

for username and `profa`

for password. You can see the student view using `practice1`

for username and `practice1`

for password.

With the professor's view you can browse the **OpenProblemLibrary**.

A Gallery of Courses Existing courses using WeBWorK Assignments |

## More introductory materials

### Historical videos -- how WeBWorK was born

- 2004 Introduction to WeBWorK lecture at MSRI (2004) by Mike Gage -- not currently available
- 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
- 2002- 2010? Streaming video: [gource:https://www.youtube.com/channel/ Construction of WeBWorK -- the early days] A video presentation of our github repo starting in 2002