Computer Based Maths

Jon McLoone
Content Director
ComputerBasedMath.org

Rethinking math education, assuming computers exist

Rethinking the subject 
not the pedagogy

The subject has changed 
(in the real world)

What does it mean to “do maths”?

Manipulate[With[{
scale=0.5,
size=63,
clrset=3,
clrs1={
{{,},{,},{,},{,}},
{{,},{,},{,},{,}}},
clrs={
{{,},{,},{,},{,}},
{{,},{,},{,},{,}},
{{,},{,},{,},{,}}
}
},
define=[[1]];
translate=[[1]];
compute=[[1]];
interpret=[[1]];
handcalc=[[1]];
translateFull=[[1]];
interpretFull=[[1]];

If[v==0,

Column[{
Mouseover[Graphics[{
clrs1[[2,1,1]],
Polygon[Chevron[{18,1},{550,0},40,10]],
clrs1[[2,1,2]],
{Opacity[.5],Text[Style["1.",40],{53,21}]},
Translate[Scale[define,scale],{-10,-5}]
},ImageSize->{Automatic,size},ImagePadding->0,PlotRangePadding->0],
Graphics[{
clrs1[[1,1,1]],
Polygon[Chevron[{18,1},{550,0},40,10]],
clrs1[[1,1,2]],
{Opacity[.65],Text[Style["1.",40],{53,21}]},
Translate[Scale[define,scale],{-10,-5}]
},ImageSize->{Automatic,size},ImagePadding->0,PlotRangePadding->0]],

Spacer[{20,20}],


Mouseover[
Graphics[{
clrs1[[2,2,1]],
Polygon[Chevron[{-6,1},{550,0},40,10]],
clrs1[[2,2,2]],
{Opacity[.5],Text[Style["2.",40],{29,21}]},
Translate[Scale[translateFull,scale],(*XXX*){-132,-5}]
},ImageSize->{Automatic,size},ImagePadding->0,PlotRangePadding->0],
Graphics[{
clrs[[1,2,1]],
Polygon[Chevron[{-6,1},{550,0},40,10]],
clrs1[[1,2,2]],
{Opacity[.65],Text[Style["2.",40],{29,21}]},
Translate[Scale[translateFull,scale],{-132,-5}]
},ImageSize->{Automatic,size},ImagePadding->0,PlotRangePadding->0]],
Spacer[{20,20}],

Mouseover[
Graphics[{
clrs[[2,3,1]],
Polygon[Chevron[{5,1},{550,0},40,10]],
clrs1[[2,3,2]],
{Opacity[.5],Text[Style["3.",40],{40,21}]},
Translate[Scale[compute,scale],{-30,-5}]
},ImageSize->{Automatic,size},ImagePadding->0,PlotRangePadding->0],
Graphics[{
clrs1[[1,3,1]],
Polygon[Chevron[{5,1},{550,0},40,10]],
clrs1[[1,3,2]],
{Opacity[.65],Text[Style["3.",40],{40,21}]},
Translate[Scale[compute,scale],{-30,-5}]
},ImageSize->{Automatic,size},ImagePadding->0,PlotRangePadding->0]],
Spacer[{20,20}],

Mouseover[Graphics[{
clrs1[[2,4,1]],
Polygon[Chevron[{-3,1},{550,0},40,10]],
clrs1[[2,4,2]],
{Opacity[.5],Text[Style["4.",40],{32,21}]},
Translate[Scale[interpretFull,scale],(*XXX*){-120,-5}]
},ImageSize->{Automatic,size},ImagePadding->0,PlotRangePadding->0],
Graphics[{
clrs1[[1,4,1]],
Polygon[Chevron[{-3,1},{550,0},40,10]],
clrs1[[1,4,2]],
{Opacity[.65],Text[Style["4.",40],{32,21}]},
Translate[Scale[interpretFull,scale],{-120,-5}]
},ImageSize->{Automatic,size},ImagePadding->0,PlotRangePadding->0]]

}],


(*xxxx slider xxx*)
Column[{
Graphics[{
clrs[[clrset,1,1]],
Polygon[Chevron[{18,1},{340-170v,0},40,10]],
clrs[[clrset,1,2]],
{Opacity[.75],Text[Style["1.",40],{53,21}]},
Translate[Scale[define,{scale-.3v,scale}],{-10-60v,-5}]
},ImageSize->{Automatic,size},ImagePadding->0,PlotRangePadding->0],Spacer[{20,20}],

Graphics[{
clrs[[clrset,2,1]],
Polygon[Chevron[{18,1},{340-160v,0},40,10]],
clrs[[clrset,2,2]],
{Opacity[.75],Text[Style["2.",40],{53,21}]},
Translate[Scale[translate,{scale-.3v,scale}],{-25-67v,-5}]
},ImageSize->{Automatic,size},ImagePadding->0,PlotRangePadding->0],Spacer[{20,20}],

Graphics[{
Blend[{,Gray},v],
Polygon[Chevron[{-6,1},{340+160v,0},40,10]],
White,{Opacity[.75-.75Min[2v,1]],Text[Style["3.",40],{29,21}]},
{Opacity[1-Max[(2v),0]],Translate[Scale[compute,{scale,scale}],{-42,-5}]},
{Opacity[2Max[v,.5]-1],Translate[Scale[handcalc,.85],{160,-12}]}
},ImageSize->{Automatic,size},ImagePadding->0,PlotRangePadding->0],Spacer[{20,20}],

Graphics[{
clrs[[clrset,4,1]],
Polygon[Chevron[{18,1},{340-160v,0},40,10]],
clrs[[clrset,4,2]],{Opacity[.75],Text[Style["4.",40],{53,21}]},
Translate[Scale[interpret,{scale-.3v,scale}],{-15-65v,-5}]
},ImageSize->{Automatic,size},ImagePadding->0,PlotRangePadding->0]
}]]],{{v,0,""},0,1,ImageSize->820, ControlPlacement->Bottom}, Paneled->False,AppearanceElements->None,

Initialization:>(
Chevron[start_,size_,ywidth_,arrow_]:=
{start, 
start+size,
start+size+{0,ywidth/2}+{arrow,0},
start+size+{0,ywidth}, 
start+{0,ywidth},
start+{0,ywidth/2}+{arrow,0}};
)
]

Use Computers for...

Chevron[start_,size_,ywidth_,arrow_]:=
{start, 
start+size,
start+size+{0,ywidth/2}+{arrow,0},
start+size+{0,ywidth}, 
start+{0,ywidth},
start+{0,ywidth/2}+{arrow,0}};
define=[[1]];
translateFull=[[1]];
compute=[[1]];
interpretFull=[[1]];
handcalc=[[1]];
colorBars[clrs_]:=Manipulate[With[{
size=63,
clrset=2,
length=550,
scale=0.5
},
Column[{
Graphics[{
clrs[[1,1]],
Polygon[Chevron[{18,1},{length,0},40,10]],
clrs[[1,2]],
{Opacity[.65],Text[Style["1.",40],{53,21}]},
Translate[Scale[define,scale],{-10,-5}]
},ImageSize->{Automatic,size},ImagePadding->0,PlotRangePadding->0],
Spacer[{20,20}],

Graphics[{
clrs[[2,1]],
Polygon[Chevron[{-6,1},{length,0},40,10]],
clrs[[2,2]],
{Opacity[.65],Text[Style["2.",40],{29,21}]},
Translate[Scale[translateFull,scale],{-132,-5}]
},ImageSize->{Automatic,size},ImagePadding->0,PlotRangePadding->0],
Spacer[{20,20}],

Graphics[{
clrs[[3,1]],
Polygon[Chevron[{-6,1},{length,0},40,10]],
clrs[[3,2]],
{Opacity[.65],Text[Style["3.",40],{29,21}]},
Translate[Scale[compute,scale],{-42,-5}]
},ImageSize->{Automatic,size},ImagePadding->0,PlotRangePadding->0],
Spacer[{20,20}],

Graphics[{
clrs[[4,1]],
Polygon[Chevron[{-3,1},{length,0},40,10]],
clrs[[4,2]],
{Opacity[.65],Text[Style["4.",40],{32,21}]},
Translate[Scale[interpretFull,scale],{-120,-5}]
},ImageSize->{Automatic,size},ImagePadding->0,PlotRangePadding->0],

}]],{dummy,ControlType->None}, ControlPlacement->Bottom, Paneled->False,AppearanceElements->None]

colorBars[
clrs={{,},{,},{,},{,}}]

Use Students for...

colorBars[{{,},{,},{,},{,}}]

Consequences

Work with real problems 
— real scale
— real mess
— less contrivance

Example: The Scottish Higher question

A crocodile is stalking prey located 20 metres further upstream on the opposite bank of a river.
Crocodiles travel at different speeds on land and in water.
The time taken for the crocodile to reach its prey can be minimized if it swims in to a particular point, P, x metres upstream on the other side of the river as shown in the diagram.

The time taken, T, measured in tenths of a a second, is given by

T(x)=5(Sqrt[36+(x^2)+4(20-x)])

(a)	(i)	Calculate the time taken if the crocodile does not travel on land.					(1)
	(ii)	Calculate the time taken if the crocodile swims the shortest distance possible			(1)
(b)	Between these two extremes there is one value of x which minimises the time taken. 
	Find this value of x and hence calculate the minimum possible time.						(8)
	
	Wolfram|Alpha Solution 1
	Wolfram|Alpha Solution 2

What outcomes do we want from studying math?

CBM Outcomes…

Progress

Enabling processes and technologies built

Some sample materials built

Data science (statistics)
	Modeling
	Geometry
	Information theory (signals, images, compression, encryption etc)
	Architecture of maths

Projects in Estonia, UK,  Africa, Ireland

Adult skills for employers

Discussions with many governments and PISA

More information

http://computerbasedmath.org/