Home

STACK

Send by email

STACK, a System for Teaching and Assessment using a Computer algebra Kernel, is an online computer aided assessment system for mathematics.  In this system the student must provide an answer which is a mathematical expression.  This includes equations, inequalities, sets, lists, matrices and even differential equations.  The student's answer contains mathematical content and STACK uses the computer algebra system (CAS) Maxima to establish mathematical properties and generate outcomes such as feedback, based on these properties.


In STACK a lot of attention has been paid to allowing teachers to author and manage their own questions.   The following are the key features.



  • Question versions are randomly generated within structured templates.

  • Mathematical properties of students' answers are established using the CAS Maxima and feedback is assigned on the basis of these properties.  This feedback may include textual comments, a numerical mark and an internal "Answer note" from which statistics for the teacher are compiled. These broadly correspond to formative, summative and evaluative functions of assessment.

  • Partial credit is possible when an expression only satisfies some of the required properties.

  • Multi-part mathematical questions are supported.

Students can interact with STACK questions within the quiz module of the Moodle content management system and the code base is sufficiently reliable that it has been in regular use with very large (> 1000) groups of students. STACK is available in English and has been translated into Finnish, Portuguese and Japanese.


The STACK wiki http://stack.bham.ac.uk/wiki/ contains more information including:



  • Links to the community site

  • Details of how to obtain the code and installing STACK

  • Guidance on writing STACK questions.

Sample questions are also available online http://stack.bham.ac.uk/wiki/index.php/Sample_questions


The questions demonstrated on http://stack.bham.ac.uk/worksheets/index.php were developed as part of the MSOR Network OER project FETLAR.  The code is distributed with the source code for STACK, so these questions are available freely to all STACK users.   The system and banks of questions have been developed by the Network and the University of Birmingham and are released as Open Source software and under Creative Commons licences.  Questions are also linked to via relevant resources offered by mathcentre, for example, via a help sheet on integration.


STACK makes use of the computer algebra system Maxima to generate random questions, establish the properties of answers and to provide sophisticated mathematical feedback. An example question, with student's response and feedback, is shown below.


STACK screen shot


Notice the student must enter their answer as a mathematical expression, not simply make a selection as in a multiple choice question.  STACK then establishes the mathematical properties of the answer.  For example, the teacher may seek to establish that (i) the answer is algebraically equivalent to the correct answer and (ii) the student's answer is in the appropriate form, (e.g. factored).   However, the answer need not be unique and STACK establishes properties of expressions, but remains an objective testing system.   Notice that the feedback is specific to the answer and directly related to possible improvement on the task.  It is precisely this kind of feedback is likely to be effective.  STACK may include and display results of computer algebra calculations within such feedback which can be as detailed as appropriate to the situation. 


In particular STACK uses the computer algebra system Maxima to



  1. randomly generate problems in a structured mathematical way;

  2. establish the mathematical properties of expressions entered by the student;

  3. generate feedback, as necessary, which may include mathematical computations of the student's answer.

STACK will also enable full worked solutions, which incorporates randomization, to be provided by the teacher and for the subsequent analysis of answers by individual and by cohort.


The current version of the STACK system essentially integrates a mathematical question type into the quiz module of the Moodle content management system.  However, STACK is separate from Moodle and can be used through other interfaces, using the SOAP protocol to provide interactions with mathematical questions as a web service.    Documentation is available on the wiki of the STACK and more details are available on the community site.


Selected publications: