Technology Created for
Computer-Based Maths

Gerli Jõgeva
Technical consultant, Wolfram Research Europe Ltd

ABSTRACT

The Computer-Based Maths project has heavily used various Wolfram technologies in order to bring computation closer to students. This talk gives an overview of the client-server architecture we use, various user interface elements that we have developed, the authoring tools available and other tools used by CBM.

Computer-Based Maths (CBM)

Principles:

use computer to do the calculating, student to do the thinking

more like real-life maths

Example questions that our modules answer:

How happy are people in my country?

Should I insure my laptop?

Will it rain tomorrow?

How fast could I cycle stage 7 of the An Post Rás?

Demo of materials

Welcome screen

Module summary page

CBM components

Client

All driven by Mathematica (or CDF Player), uses

Notebooks (CDFs)

Packages

Image and data resources

Welcome screen palette

Custom stylesheet

Server

A stack of various technologies

Mathematica

CollaborationServer package

DatabaseLink (bundled with Mathematica)

MySQL database

webMathematica

Apache Tomcat

Linux server

Collaboration capabilities

User management

Student / teacher / administrator roles

Class management

Basic account management

Sharing of student responses

Teacher can see answers to all questions in a class

Students can be exposed to answers of some questions in a class

Example: data collection and analysis done on the members of your class

Teachers can send personalised questions and provide feedback

CallCBMServer

<<CBM`

CallCBMServer["Append","EWTC2018TestQuestionID","Answer",{4,5,6}]

CallCBMServer["Get","EWTC2018TestQuestionID","Answer",""]

CallCBMServer["RecordGet","EWTC2018TestQuestionID","Answer",""]

UIs

Response viewers

Button["Open notebook with CBM stylesheet",
CreateDocument[
Notebook[{
Cell[BoxData@MakeBoxes[ResponseView["EWTC2018TestQuestionID"]],"Input"],
Cell[BoxData@MakeBoxes[ResponseView["EWTC2018TestQuestionID",ResponseViewElements->{"BarChart","PieChart"}]],"Input"]
},StyleDefinitions->"ComputerBasedMath.nb"]],
Method->"Queued"
]

ResponseView["EWTC2018TestQuestionID"]

ResponseView["EWTC2018TestQuestionID",ResponseViewElements->{"BarChart","PieChart"}]

Questions

Button["Open notebook with CBM stylesheet",
CreateDocument[
Notebook[{
Cell[BoxData[RowBox[{"Question","[",RowBox[{"\"\<Is there anything you would like to say?\>\"",",",RowBox[{"{","}"}]}],"]"}]],"Input"],
Cell[BoxData[RowBox[{"Question","[",RowBox[{"\"\<Select an option:\>\"",",",RowBox[{"{",RowBox[{RowBox[{"\"\<A\>\"","->","True"}],",",RowBox[{RowBox[{"Graphics","[",RowBox[{"{",RowBox[{"Red",",",RowBox[{"Disk","[","]"}]}],"}"}],"]"}],"->","False"}],",",RowBox[{"12345","->","False"}]}],"}"}]}],"]"}]],"Input"],
Cell[BoxData[RowBox[{"Question","[",RowBox[{"\"\<Drag these to correct categories:\>\"",",",RowBox[{"{",RowBox[{RowBox[{"\"\<A\>\"","->","\"\<Text\>\""}],",",RowBox[{RowBox[{"Graphics","[",RowBox[{"{",RowBox[{"Red",",",RowBox[{"Disk","[","]"}]}],"}"}],"]"}],"->","\"\<Graphics\>\""}],",",RowBox[{"\"\<More text\>\"","->","\"\<Text\>\""}]}],"}"}]}],"]"}]],"Input"]
},StyleDefinitions->"ComputerBasedMath.nb"]],
Method->"Queued"
]

Question["Is there anything you would like to say?",{}]

Question["Is there anything you would like to say?",{},CompletionAction->"SendToServer"]

Question["Select an option:",{"A"->True,Graphics[{Red,Disk[]}]->False,12345->False}]

Question["Drag these to correct categories:",{"A"->"Text",Graphics[{Red,Disk[]}]->"Graphics","More text"->"Text"}]

Authoring tools

Cloud deployment