This series of posts will give step-by-step instructions on installing your own WeBWork server. WeBWork is an open source, freely available homework system. It is used by many colleges, and is often installed on a college network. While its installation may sound complicated, as it is typically installed on a Linux computer running Apache with a SQL database, these instructions will make it very simple to install your own personal copy of WeBWork on Windows and Mac computers. Knowledge of Linux, Apache, and SQL will not be necessary. Installing WeBWork will give you access to over 20,000 freely available problems that span topics ranging from discrete mathematics to multivariable calculus.
What is WeBWork?
The WeBWork site has the following description:
WeBWorK is an open-source online homework system for math and sciences courses. WeBWorK is supported by the MAA and the NSF and comes with a National Problem Library (NPL) of over 20,000 homework problems. Problems in the NPL target most lower division undergraduate math courses and some advanced courses. Supported courses include college algebra, discrete mathematics, probability and statistics, single and multivariable calculus, differential equations, linear algebra and complex analysis.
Why Would Anyone Want to Install WeBWork?
WeBWork access is available through courses that offer WeBWork homework assignments. However, I believe that there are many people that would appreciate additional access to this homework system. Free courses offered on the Internet (e.g., MIT OpenCourseWare, Carnegie Mellon Open Learning Initiative) can be enhanced by installing your own personal copy of WeBWork, allowing you to combine free video lectures with free homework problems and grading.
Additionally, installing WeBWork on your own machine will allow you to brush up on topics that you have already learned. Suppose you want to review integration by parts. With your own personal WeBWork installation, you can use Wikipedia to review the topic, which in this case has the formula and its derivation, and then solve integration by parts problems on WeBWork.
Lastly, if you are a student, installing your own copy of WeBWork could be a useful tool for learning, by offering additional problems. Even if your course already assigns homework via WeBWork, having your own copy will allow you to access even more problems.
What Are the Requirements and Steps?
The hardware and software requirements are minimal. The instructions will target Windows, Mac, Linux, and other operating systems that VirtualBox can be installed on. Additionally, required knowledge of the underlying software (i.e., VirtualBox, Ubuntu, and Apache) will be minimal. The posts will be written in such a way that makes WeBWork installation accessible to many people.
This series of posts will cover all the steps necessary to install your own copy of WeBWork. This post is Part I. Part II will cover how to install VirtualBox. Part III will cover how to install Ubuntu and WeBWork within VirtualBox. Part IV will cover how to configure your WeBWork server so that you can access the 20,000 freely available problems. Please do not be dismayed if you are unfamiliar with the term “server” or the software program VirtualBox. Prior knowledge will be unnecessary.
The image below shows what my current setup looks like. The window on the left side of my screen has a copy of Ubuntu running within VirtualBox. This has the WeBWork server installed. The window on the right side is the WeBWork site loaded within a browser. For those who are wondering why the browser is pointed to localhost when WeBWork is on the Ubuntu installation, it is because my setup has port-forwarding configured, which I will most likely discuss in this series of posts, unless I think of an alternative way to set things up. For those who are wondering why I am not running the WeBWork site within the Ubuntu installation, it is because I found that running a browser within the virtual machine works slower than running a browser on my host machine.