# Online homework/testing systems?

I have been using Pearson's MyMathLab Global with my Engineering students. I appreciate its convenience, but the students find its inflexibility annoying (if an answer is expected to be 1.5, then the system might not accept 3/2 as a alternative). I have no experience of any other online system (WebAssign, WeBWork etc) - so I'm wondering if anybody here has been in the position of making a comparison? And if so, what would you recommend?

• At my university they use MapleTA and I know it is capable of dealing with equivalent expressions. – Michael Albanese Aug 30 '13 at 11:45
• I forgot about MapleTA: I trialled it a few years ago, but we had huge problems getting it to run (even when a local Maple rep came down to help us). It is certainly very sophisticated, but is also expensive. How does its question bank compare with those from Pearson and Cengage? – Alasdair Aug 30 '13 at 11:51
• I have had nothing to do with the running of it but I know it is problematic and time consuming. I'm not sure about the question bank, sorry. – Michael Albanese Aug 30 '13 at 11:53
• I am not in favour of closing this question, as there is no other place I can imagine where one could find a solution to this question. – user1729 Aug 30 '13 at 12:28
• In the last couple of years before I retired I had to use WeBWorK in calculus and Pearson in liberal arts math. WeBWorK is far more flexible than Pearson, since problems can be coded to accept a variety of types of entry. If you can get or produce a well-coded set of problems, it’s not a bad tool for routine practice. Students do have to learn the input format, but that did not seem to be a major problem. Problem banks do exist, but I don’t know how well any of them match your needs. In any case you’d probably find yourself wanting to code new or modify old problems at some point. – Brian M. Scott Aug 30 '13 at 21:34

I used both WebAssign and WeBWork in the past; eventually I went with WeBWork and never looked back. Reasons:

1. WeBWork is free for students. Commercial publishers may offer "free" codes with a new book, but consider how much it will actually cost students when they can't resell their books.
2. Because of 1), there is less headache for instructors: no complaints from students claiming inability to pay for homework access, etc. Just one example: when teaching Calculus $n$, I found that instructor in Calculus $n-1$ picked a different (nearly identical) version of the book, to which the students' multi-semester access codes were tied. Consequently, the codes did not work for the actual edition. More time on the phone with WebAssign support for me...
3. The WeBWork problem bank is under your control. You can change things if you want to, or keep the same if you don't want. Commercial publishers keep churning out new editions of textbooks, in which exercises are reshuffled in some way. When this happens, you may end up picking problems for the whole semester anew.
4. WeBWork interface is very simple: there are few buttons, and they do what you expect. The interface of WebAssign is options upon options upon options, some of which will affect the students' use of the system in ways you would not think about.
5. I like being able to customize problems to match what I emphasize in class, to add a hint or clarify the notation. Or to drop a humorous campus-specific reference somewhere. :)
6. I think #1 is really important. The textbook industry is enough of a racket without students having to pay for homework access.

Since this question was asked, there have been a some new projects

1. edfinity. I haven't used it, but it looks like a better interface to WebWork problems, and it advertises as WebWork compatible.
2. Ximera is a project out of the Ohio State University which aims at creating interactive textbooks. It could be used as a homework system. It is open source and you author problems in LaTeX.
3. Khan Academy's exercise framework. Originally Khan Academy's exercises were written in Javascript using their exercise framework. Now they use a domain-specific-language powered by Perseus.

Another interesting option is STACK. It assesses an answer by testing its mathematical properties, using CAS for equivalence (x^2-1=(x-1)(x+1) is the whole point), and has a number of other more subtle tests. It is designed for Moodle, but you can integrate it into any learning environment, either with an API at the quiz level or via LTI. We use it at my university for most first-year mathematics courses.

Some of its features are:

1. It is free and open-source.
2. Little coding is required to author questions.
3. It separates validity and correctness, meaning students will not be penalized for an answer written in the wrong syntax (2x vs 2*x).
4. It supports question randomisation, so students see different versions of questions.
5. It lets you give pretty personalised feedback based on students' answers.
6. It has good support for Physics and Engineering use, fx. supporting significant figures and SI units.
7. There are a lot of sample questions available to get you started (see STACK demo and ABACUS).
• I just went to the STACK demonstration site, and STACK didn't understand 2x. "This answer is invalid. You seem to be missing * characters. Perhaps you meant to type 2*x." – Chris Judge Jun 18 '20 at 20:45
• Programs that guess where multiplication is implied make mistakes: if a student types “sinx” instead of “sin(x)”, the program might interpret it as “sin*x” and unfairly give the student 0 marks. In STACK, ambiguous answers are rejected as invalid before they are sent to be marked, giving students a chance to rewrite their answer. By default, answers must state all multiplication with *’s to be valid, but this can be changed by the teacher, to f.x. interpret “2x” as “2*x”. See here – Malthe Sporring Jun 22 '20 at 8:13