Bootstrap image header with title and coloured bar

It’s not rocket-science but, in case anyone else is looking how to do this, based on this post:



<div class="row">
 <div class="col-md-6">
  <div class="forum-image header-image">
   <div class="h3 heading-text">FORUM</div>
   <div class="heading-border"></div>
  <div class="content-container"></div>
 <div class="col-md-6">
  <div class="calendar-image header-image">
   <div class="h3 heading-text">CALENDAR</div>
   <div class="heading-border"></div>
  <div class="content-container"></div>


 position: relative;
 height: 150px;
 background-position: center;
 background-size: cover;
 position: absolute;
 bottom: 10px;
 width: 100%;
 padding: 10px;
 margin: 0px !important;
 opacity: 0.8;
 color: #373737;
 background-color: #d8d8d8;
 position: absolute;
 bottom: 0px;
 width: 100%;
 height: 10px;
 min-height: 200px;
 margin-bottom: 15px;
 border: 1px solid #cccccc;
 padding: 10px;
 background-image: url(../img/calendar.jpg);
div.calendar-image div.heading-border{
 background-color: #00147a;
 background-image: url(../img/students_chatting.jpg);
} div.heading-border{
 background-color: #be0f35;


Calendar image by Dafne Cholet under Creative Commons Attribution 2.0 Generic

Forum image by Knight Foundation under Creative Commons Attribution-ShareAlike 2.0 Generic

Moodle, STACK and Maxima: Custom Data Sets

Maxima is extended through packages. The Moodle STACK plug has statistical support packages loaded by default. These are Stats, Descriptive and Distrib. We preload these packages using the optimisation steps.

We can load your data sets as part of the optimisation process. These will then be available as a matrix variable which you can use in questions. Manipulation of matrices isn’t as nice in Maxima as it is in the R environment, but it has a good range of functions.

Moodle, STACK and Maxima: Random Variables

The rand() function is STACK’s implementation of Maxima’s random() function.  Random variables are zero-numbered. You may need to use simplification to reduce the output to a single value.

x:rand(5);            /* pick a random number between 0 and 4 */
y:ev(rand(5)+1,simp); /* pick a random number between 1 and 5 */

NB: if the simplification is off then the result of y would be 4+1

The rand() function in STACK also picks from a list:

x:rand([a,b,c,d]);                   /* pick a random item from a list. 
                                        This list shows lower case letters */
y:ev((rand(5)+1)*rand([1,-1]),simp); /* pick a random positive or negative
                                        number between 1 and 5 */

You can apply this behaviour of the rand() function to any list object. For example

w:makelist(x,x,1,10);          /* make a list of integers between 1 and 10 */
x:makelist(2^x,x,1,8);         /* make a list of powers of 2 from 2^1 to 2^8 */
y:primes(2,30);                /* use the primes() function to generate a
                                  prime number between 2 and 30. */
z:map(fib,makelist(x,x,1,10)); /* use the map() and fib() functions to make a 
                                  list of the first 10 Fibonacci numbers */

NB: not all Maxima functions are allowed in STACK, but they can be enabled by MSD LT team if needed.

Moodle, STACK and Maxima: Simplification

Maxima will automatically simplify expressions when simplification is switched on.

Switch simplification off so that you can pre-calculate the question and any workings. Declare this option in the Question variables:


Simplification can be switched on an off in expressions:

(%i1) simp:false;
(%o1) false
(%i2) ev(2*x);
(%o2) x  x
(%i3) ev(2*x,simp:true);
(%o3) x

NB: the lines %i are input lines. Those with %o are output from maxima

Maxima cannot display intermediate steps for worked answers. It can be made to calculate those steps, if you’re willing to write them. This is much easier when simplification is switched off.

Moodle, STACK and Maxima: Getting Started

The STACK plugin for Moodle brings the Maxima to Moodle. Maxima is a Computer Algebra System which will calculate question variables and test student answers.

This is a first blog post in a set which will give tips for anyone wanting to start writing questions using STACK. There is also an Authoring Quick Start guide included in the documentation.

1. Write all your calculations into the Question variables field

It’s easiest to do all your calculations in one place and then includes these in the model answer and answer test fields. For worked answers, calculate intermediate results.

NB: all statements are terminated with a semi-colon; comments are shown by /* some text */

simp:false;        /* turn simplification off */
x:2;               /* define x variable */
y:3;               /* define y variable */
Ques:x*y;          /* product of x and y with simplification off */
Ans:ev(Ques,simp); /* product of x and y evaluated with simplification on */

You can now put Ans into the model answer field, and test against Ans in the potential response tree.

Computer Marked Maths now available

MSD Learning Technologies is now able to offer computer marked maths.

We are looking for departments with the University to make use of our project – for formative assessment at this stage. We particularly want to gauge enthusiasm and, ideally, to see examples of the questions which you’d find useful.

Highlights of the maths assessment system:

  1. interacts with Maxima which gives it full algebraic evaluation for simple or complex maths.
  2. allows use of random variables in questions
  3. can calculate and show worked answers
  4. can include control flow functions (if, while, etc, to modify or calculate variables)
  5. supports multiple tests on an answer (eg is it simplified? is it algebraically correct?)
  6. supports multi-part questions
  7. supports SI units
  8. supports questions requiring significant figures and decimal places

We have integrated with WebLearn, so you can offer assessments via your existing WebLearn sites. Assessments can also be provided as a standalone service using SSO if that is required.

The sponsorship of this project is through the IT Innovation Fund so we can offer this to any part of the University.