Interdisciplinary Teaching and Learning with Wolfram Language

Roberto Cavaliere, Adalta snc

Join the Conversation #WolframTechConf

ABSTRACT

After 30 years of development at the frontier of research, Wolfram’s technology now offers a wide range of functionalities, many of which allow to arrange  educational materials with original and novel approaches. 
Mathematical knowledge is just the starting point. Interactive interface, powerful visualisation features and source of data coming from a wide range of subjects, provides unique potential for attractive lessons at any educational level. 
Moreover, all these features can be exploited on a computer, a tablet or a mobile phone and can run standalone or in the cloud.

I’ll share some notes about key features and principles on which you can start the evaluation of a development platform, when you are faced with the design steps of educational digital application.

Summary

Introduction

Common terms

Why Wolfram Language

the subject(s) to deal with

Calculations Tools

Built-in functions for different subjects

Curated data covering hundreds topics

the methodological approach(es)

Interactive interfaces

Interdisciplinarity

the deployment strategy

Standard solutions

Wolfram Cloud

An example of ongoing design of educational application

Introduction

With the diffusion of computer into the teaching and learning process, it has been more and more easy to arrange lessons about one discipline with elements from others. An easy example comes from physics and mathematics (we can find tons of examples of mathematics explained introducing physics law or phenomena). 
However, from the educational method point of view, many times it is just an “association” of elements from different disciplines, more than an “integration”. 
Nowadays, terms like multidisciplinary, interdisciplinary and transdisciplinary are increasingly used in the literature, but their definition is not always clear and used with the same meaning.
Here are some common definition which are well accepted in general.

Common terms

Multidisciplinary: people from different disciplines working together, each drawing on their disciplinary knowledge. (key word: additive)

Interdisciplinary: integrating knowledge and methods from different disciplines, using a real synthesis of approaches, harmonizing links between disciplines into a coordinated and coherent whole. (key word: interactive)

Transdisciplinary: creating a unity of intellectual frameworks beyond the disciplinary perspectives many times referred to the integration of natural, social and technical/scientific disciplines in the humanities context, transcending their traditional boundaries. (key word: holistic)

With their own specific meanings, these terms should not be used interchangeably. 
The more general term “multiple disciplinary” is suggested for when the nature of involvement of multiple disciplines is unknown or unspecified.

From a general point of view, multiple disciplinary approaches are useful to resolve real world or complex problems, to provide different perspectives on problems, to create comprehensive research questions. As for the educational context, they give a different meaning to many subjects, like mathematics for instance, that are considered useless from the majority of students. 
Multiple disciplinary approaches allow to create really new way to present, explain, teach and then to learn many subjects because they create a coherent view of mutual relations among things apparently not linked, like mathematics, physics, economy, psychology, sociology and everyday life, too.

Of course multiple disciplinary approaches in education have both benefits and drawbacks, so many work has still do be done.

Why Wolfram Language

For many reasons

When you have to take a decision about the development of an e-learning system and/or contents, there are many variables coming into the discussion. 
The most important one, from my personal experience, is the technological framework to adopt.

It's very important because the wrong choice may influence future possibility to introduce innovation, to manage existing contents or new one, to deploy the solution with current technology and future ones. In the past decades, there have been many examples of impressive investment in e-learning systems and contents development and after few years, the results have been abandoned, because of a change in technology making the old one no longer usable, or because the technology used where not able to introduce the right added value to the educational material.

Trying to summarise, we can consider three main aspects:

the subject(s)

the methodological approach(es)

the deployment strategy

Of course, the three lines are not independent each other, rather they are strongly related, and I’ll try to show why.

1) the subject(s)

We are interested to multi-inter-trans disciplinary approaches, so it means we have to create a technology framework supporting us dealing with different subjects. For that, the richness of the environment is critical, because it allows to start from an intermediate level and not from scratch.
And this is true at any educational level you are looking for, with different grade of importance.
Just to make an example, speaking about mathematics, we can consider the following.

If you have to arrange educational material for primary school students, then Wolfram Language has all what you need in terms of logic, arithmetic, algebra, sets, maps, and any other basic element you might need.

If you teach to intermediate schools, some additional subjects can be useful, for instance polynomial operations, equations, probability and statistics (introductory level), geometry, matrices, and so on.

High school start to be a nice challenge for almost all software, there are subjects like real function analysis, limits, derivatives, integrals, statistics, linear algebra, and so on. Many software are not able to deal with symbolic calculation, needed by most of such topics (e.g. limits, derivative, integrals, real function study etc).

At university level the things become more complex, of course. There are many different areas of mathematics and they go to the frontier of the mathematical knowledge.

1) the subject(s)

Wolfram Language is able to answer providing algorithms, calculation tools, complex solvers, and a knowledgebase, embedded in native functions but also distributed among its features, like automation mechanisms, solvers’ methods, range of graphical representation and, very unique in its class, embedded in the trillions of data available in Wolfram Data Framework, the system that provides standardized computable description of real-world constructs and data.

1.1 Calculations Tools

You don’t need to write code to make exercise, assessment, demonstration of theory or concepts you want to teach. Just arrange native function so to show what you need to explain to your students.

Real function

The domain of a function

d=FunctionDomain[Log[Sin[x]],x,GeneratedParameters->(Subscript[k,#]&)]

and its graphical representation

NumberLinePlot[ Apply[Or,Table[d,{(Subscript[k, 1]),0,5}]],x]

How many lines of code (and time) it would require using a different programming language?

1.2 Built-in functions for different subjects

1.3 Curated data covering hundreds topics.

1) the subject(s)

1.2 Built-in functions for different subjects

Just some of them: Statistics, Control Systems, Image Processing and Analysis, Finance, Signal Processing, Graph and Network theory, GPU Computing, Calculus, Plane Geometry, Solid Geometry, Linear Algebra, Optimization, Wavelet Analysis, and many others.

Just few examples taken from the documentation

Operations on Polynomials

Writing a polynomial as a simple sum of terms

Expand[(-1+2 x^3)^2 (x-1)^3]

The greatest common divisor of polynomials

PolynomialGCD[(((1-x))^2) (2+x) (4+x),6+11 x+6 (x^2)+(x^3)]

Plane Geometry

tri=AASTriangle[Pi/4,Pi/3,1.]

circ=Circumsphere[First@tri]

Graphics[{{Red,circ},{Blue,tri},{Green,PointSize[0.02],Point[First@tri]}}]

You might also calculate the intersection among geometrical entities with just one line of code, using Solve for instance

sol=Quiet@Solve[{x,y}∈InfiniteLine[{{0,0},{2,1}}]&&{x,y}∈circ,{x,y}]

Graphics[{{Red,circ},{Blue,tri},{Red,PointSize[0.02],Point[{x,y}]/.sol},{InfiniteLine[{{0,0},{2,1}}]},{Green,PointSize[0.02],Point[First@tri]}}]

Financial computation

FinancialBond[{"FaceValue"->1000,"Coupon"->0.0575,"Maturity"->30},{"InterestRate"->0.06,"Settlement"->0}]

FinancialDerivative[{"European","Call"}, {"StrikePrice"-> 50.00, "Expiration"->1},  {"InterestRate"-> 0.1, "Volatility" -> 0.5, "CurrentPrice"-> 50, "Dividend"->0.05}]

1) the subject(s)

1.3 Curated data covering hundreds topics.

If you want to know how many data source are in the current version, you may do this

?System`*Data

A few examples

ChemicalData

ChemicalData["Caffeine"]

ChemicalData["Caffeine","MoleculePlot"]

AnatomyData

Anatomical structure’s components:

AnatomyData[(Entity["eye", Entity["AnatomicalStructure","Eye"], "Entity[\"AnatomicalStructure\", \"Eye\"]", "anatomical structure"]),"ConstitutionalParts"]

AstronomicalData

Generate a map of Italy with the illumination set for sunset

horizonCoordinatesToLightingAngle[{azimuth_,altitude_}]:={(2 π-QuantityMagnitude[UnitConvert[azimuth,"Radians"]]+π/2),QuantityMagnitude[UnitConvert[altitude,"Radians"]]};
GeoGraphics[{GeoStyling["ReliefMap",LightingAngle->horizonCoordinatesToLightingAngle[SunPosition[(Entity["Rome", Entity["City",{"Rome","Lazio","Italy"}], "Entity[\"City\", {\"Rome\", \"Lazio\", \"Italy\"}]", "City"]),Sunset[(Entity["Rome", Entity["City",{"Rome","Lazio","Italy"}], "Entity[\"City\", {\"Rome\", \"Lazio\", \"Italy\"}]", "City"]),TimeZone->LocalTimeZone[(Entity["Rome", Entity["City",{"Rome","Lazio","Italy"}], "Entity[\"City\", {\"Rome\", \"Lazio\", \"Italy\"}]", "city"])]]]]],Polygon[LinguisticAssistant]}]

2) the methodological approach(es)

Thanks to Wolfram Language features and the availability of other technology like Wolfram Alpha, fully integrated into the system, we are able to define really new way to teach and learn any subject, if we are aware of the potential of this environment.
The only limit is your fantasy, it’s my short description for that.

2) the methodological approach(es)

2.1 Interactive interfaces

Regardless how easy or complex is what you have to explain, structure like Manipulate enable the creation of immediate, intuitive and flexible learning dynamic objects.

Interactive interfaces are not just a layout improvement, they have an high impact on the students understanding of concept because they allow to interact with the model, modify parameters and look at what happens as consequence. This is proven to be more attractive for students and even more efficient for the memorization of mathematical concepts (and not only) because it goes through mental images stimulated by the interactivity.

Primary school

Manipulate[If[again,op=RandomInteger[{1,4}];n=If[nega,RandomChoice[{-1,1},2],1]If[op==4,{Times@@#,Min[#]},#]&[RandomInteger[{1,99},{2}]];again=False;operator=0];
Grid[{{" ","          "," "},{" ",Column[{Grid[{{n[[1]],If[operator==0,"?",{Style["+",18],Style["-",18],Style["×",18],Style["÷",18]}[[operator]]],n[[2]],"=",({Plus,Subtract,Times,Divide}[[op]])@@n}}],
If[operator==0,Style["please choose",Orange],
If[op==operator,Style["True",RGBColor[.67,.75,.15]],Style["False",RGBColor[1,.26,0]]],"other"]},Center]," "},{" ", "                                                     "," "}},BaseStyle->"Subsection"],{{again,True},{False,True}},{{nega,False,"include negative arguments"},{False,True},ControlPlacement->Bottom},
{{operator,0,""},{1->Style["+",18],2->Style["-",18],3->Style["×",18],4->Style["÷",18]},ControlType->RadioButtonBar}, {{op,1},ControlType->None},{{n,{5,1}},ControlType->None},AutorunSequencing->{3}]

Manipulate[Graphics[Inset[Block[{numa,numb,diff},diff=Subtract@@Length/@{IntegerDigits[a],IntegerDigits[b]};numa=If[diff≥0,IntegerDigits[a],PadLeft[IntegerDigits[a],Length[IntegerDigits[b]]]];numb=If[diff≤0,IntegerDigits[b],PadLeft[IntegerDigits[b],Length[IntegerDigits[a]]]];Grid[{{ToString[a]},{StringJoin@@PadRight[{"+"},Max[2,diff+2]," "]<>ToString[b]},Sequence@@Table[{StringJoin@@Join[If[i==Length[numb],"+ ",""],PadRight[{ToString[numa[[-i]] +numb[[-i]]]},i ,"0"]]},{i,Length[numb]}],{ToString[a+b]}},Alignment->Right,BaseStyle->16,Dividers->{{False},Join[{False,False,True},Table[False,{Max[Length/@{IntegerDigits[a],IntegerDigits[b]}]-1}],{True}]}]]],ImageSize->300],{{a,1234,"first number"},0,10000,1},{{b,4321,"second number"},0,10000,1}]

University

Visualize solutions to a linear system of differential equations x'==A.x:

Manipulate[ParametricPlot[Evaluate[MatrixExp[A t1,#]&/@pt],{t1,0,10},PlotRange->5],{{pt,{{2,0},{0,1},{-3,0}}},Locator},SaveDefinitions->True, Initialization:>{A=(({{-1.1, 0.9}, {-1.4, 0.3}}))}]

2) the methodological approach(es)

2.2 Interdisciplinarity

Thanks to the high number of different tools and functions, Wolfram Language allows the potential to deal with any kind of topic, using interactive interfaces, data sources or graphics features to enable the overlapping of subjects in a fascinating way engaging students more efficiently compared with written linear text.

These are just embryonal example of what can be achieved in terms of interdisciplinarity, because the actual level of integration and interconnection depends on the targets, on the topics, and on the educational method the teacher wants to adopt.

History and geographic representation

GeoListPlot[%]

GeoGraphics[GeoCenter->(Entity["Battle of Zama", Entity["MilitaryConflict","BattleOfZama"], "Entity[\"MilitaryConflict\", \"BattleOfZama\"]", "military conflict"]),GeoRangePadding->(QuantityUnit[500])]

Another example of mix between a map and a tour calculation

Graphics[{Gray,CountryData[#,"Polygon"]&/@CountryData["Europe"],Thick,Red,Line[#[[Last[FindShortestTour[#]]]]&[Reverse[CountryData[#,"CenterCoordinates"]/.GeoPosition[x_]:>x]&/@CountryData["Europe"]]]}]

Markov Process and game of Tennis

In a game of tennis between two players, suppose the probability of the server winning a point is p≥(1/2). There are 17 possible states:

states={"GameA","GameB","Deux","AdvA","AdvB","40-15","15-40","40-0","30-15","15-30","0-40","30-0","15-15","0-30","15-0","0-15","0-0"};

Visualize the random walk graph for p==0.6`:

proc=With[{p=3/5,q=2/5},DiscreteMarkovProcess[17,SparseArray[{{1,1}->1,{2,2}->1,{3,4}->p,{3,5}->q,{4,1}->p,{4,3}->q,{5,2}->q,{5,3}->p,{6,1}->p,{6,4}->q,{7,2}->q,{7,5}->p,{8,1}->p,{8,6}->q,{9,3}->q,{9,6}->p,{10,3}->p,{10,7}->q,{11,2}->q,{11,7}->p,{12,8}->p,{12,9}->q,{13,9}->p,{13,10}->q,{14,10}->p,{14,11}->q,{15,12}->p,{15,13}->q,{16,13}->p,{16,14}->q,{17,15}->p,{17,16}->q},{17,17}]]];

Graph[proc,VertexSize->Large,VertexLabels->Thread[Range[17]->Map[Placed[Style[#,{Bold}],Center]&,states]],ImageSize->Large,ImagePadding->25]

Find the probability of the server winning the game if p==0.6`:

PDF[proc[Infinity],1]//N

MarkovProcessProperties[proc,"ReachabilityProbability"][[1]]//N

Find the mean time to absorption, that is, the number of points played:

N[Mean[FirstPassageTimeDistribution[proc,{1,2}]]]

Total[MarkovProcessProperties[proc,"TransientVisitMean"]]//N

Find the mean number of states visited:

MarkovProcessProperties[proc,"TransientTotalVisitMean"]//N

Queue systems

Open demo

Machine learning and literature

Find Which Author Wrote a Text. Get examples of the writings of Shakespeare, Oscar Wilde, and Victor Hugo to train a classifier.

SetDirectory[NotebookDirectory[]];

Othello = Import["Othello.txt"];
Hamlet= Import["Hamlet.txt"];
Macbeth = Import["Macbeth.txt"];

TheImportanceOfBeingEarnest = Import["TheImportanceOfBeingEarnest.txt"];
ThePictureofDorianGray = Import["ThePictureofDorianGray.txt"];
AnIdealHusband = Import["AnIdealHusband.txt"];

LesMiserables = Import["LesMiserables.txt"];
NotreDamedeParis = Import["NotreDamedeParis.txt"];
TheManWhoLaughs=Import["TheManWhoLaughs.txt"];

Generate an author classifier from the training examples

author = Classify[<|"William Shakespeare"-> {Othello, Hamlet},"Oscar Wilde"-> {TheImportanceOfBeingEarnest, ThePictureofDorianGray}, "Victor Hugo"-> {LesMiserables, NotreDamedeParis}|>]

Find the authors of texts not in the training set.

author[{Macbeth,AnIdealHusband,TheManWhoLaughs}]

Macroeconomics / Microeconomics

Data can arranged in tables or list of numbers or even maps, for a better explanation. For each country or continent the teacher can arrange dozen and dozen of maps and discuss about their meaning. 
There is no another software environment so powerful to provide such structured data and visualization tools in just one line of code.

GeoRegionValuePlot[(EntityClass["Africa", EntityClass["Country","Africa"], "EntityClass[\"Country\", \"Africa\"]", "countries"])->"LiteracyRate"]

GeoRegionValuePlot[(EntityClass["Africa", EntityClass["Country","Africa"], "EntityClass[\"Country\", \"Africa\"]", "countries"])->"ArableLandFraction"]

GeoRegionValuePlot[(EntityClass["Africa", EntityClass["Country","Africa"], "EntityClass[\"Country\", \"Africa\"]", "countries"])->(EntityProperty["economically active children", EntityProperty["Country","EconomicallyActiveChildrenFraction"], "EntityProperty[\"Country\", \"EconomicallyActiveChildrenFraction\"]"])]

Typical definition of “economically active children”: children involved in economic activity for at least one hour in the reference week of the survey.

3) the deployment strategy

When you start a new project, whatever it is, typically one of the question you have to answer to is: how my customers will use my solution?
The same is for educational digital contents. 
The way (methodology and technology) you adopt to share/deploy your educational content make the difference. 
Young students are most incline to read and study using smartphone/tablet, university’s students are most oriented to use laptop. 
Kids might use both, if supported by parents or assistant.
In other words, flexibility is the key word. Not just one rigid solution, better the same content available in different ways.
Wolfram Language Ecosystem provides different solutions according to the specific needs.

3.1 Standard solutions

Wolfram Language. You might decide to have Wolfram Language installed in all computer of your organisation. 
For instance it happens in an ever growing number of universities, which are adopting site unlimited licenses.

Wolfram webMathematica. In some cases, for instance for adult education and vocational training in industry, for big projects it could be better to have a central server with interactive pages delivering contents for all students. The main advantage is that is a server based solution, that means all calculations are done on the server and the client doesn’t need to have any software installed. Mathematica code is embedded into html pages. One of the cons is that the interface is not Mathematica based, it means you might have Java/JavaScript or other technology to add interface functionalities.

Wolfram CDF Player. Suitable for solution that focus on the asynchronous use of educational resources, for instance for school students which have to do homework. They need to have a computer and a CDF Player installed on it and so they can run code inside educational material. The main advantages are the availability of all the Wolfram Language interactive and dynamic interfaces, and that the execution is stand alone on the user’s computer, doesn’t require internet access. One of the cons is that the computation is executed client side, that means the CDF Player has to be installed on students’ computer.

3.2 Wolfram Cloud

Wolfram Cloud

"Wolfram Cloud is the central enabling infrastructure for all Wolfram's cloud products and services, providing integrated storage, interface, computation, knowledge, linguistics and deployment capabilities"
Considering the educational contents deployment, it represents the most recent solution.  For some aspects it encloses the advantage of all products aforementioned. 
Any educational environment based on Wolfram Cloud can be considered

it’s like a Wolfram Language on desktop, because it has the same engine;

It's like a CDF Player, because has a Wolfram Language front end embedded into the browser

It's like a webMathematica solution, because computations are server side and users don't need to install any software or plug-in

An example of ongoing design of educational application

Math4Life and UrbanMat

UrbanMat

Five years ago we have done a project with mathematics students from University of Naples, students from an high school in Naples (Scientific Lyceum) and kids from a primary schools, from Naples again.
Students from university designed some “urban math” paths, that means they went around Naples to identify mathematics underlying real life building and urban things. They took pictures, elaborated written educational material and created some nice posters, even with the cooperation of high school students. Then, they invited teachers and students from primary school to have a journey in the city of Naples and have them as “tour guide”, showing the beauty of buildings, architectures, nature and common things under the mathematical point of view. Here are some posters from that experience.

Math4Life

Last March, Department of Mathematics at University of Salerno submitted a proposal of project, named Math4Life, under the ErasmuPlus European programme, as a Strategic Partnership among universities, enterprises and schools, from three European countries. One the main goal is to create a map of all mathematical contents to be learned by people during the school period, ranging from 6 to 18 years. Something related to the concept of numeracy (some definition can be found here and here).
Moreover, the project aims to develop some original contents for intermediate schools, using Wolfram Language as development platform.

An example of ongoing design of educational application

Urban Science

Joining these two experiences, we are working on another project, currently referred as Urban Science, even if the name is not yet confirmed.

The main idea is to create an application, for desktop and mobile device, where students can receive information about mathematics, physics, chemistry or any other technical or scientific discipline starting from a picture or any other piece of information he/she is able to insert into the app by writing text.

The advantage, compared with UrbanMat, is that educational material is in digital form and is not stricty linked to the city or the ocation where students are. We don’t need to have a poster about a monument in Naples, we can have a system able to identify general elements in the picture from where start to find underlying science.

Consider typical pictures that can be found on Facebook or Instagram as usually shared by people, in particular young, during the day. They show something we can catch by means of functions like Classify or more in general neural networks and machine learning functionalities, in order to suggest possible arguments of interest according to what’s the main interpretation of the image.

The main general functional flow should be something like the following:

user upload a picture

the system try to classify it

if the image gives no results a text field is shown and the user can add key words or suggest subjects

if the image gives at least one key word associated with educational content available in the system, it will show a menu

The user can decide what kind of material to receive: short notebook or complete lessons. It also depend on the device he/she is working on

The user read/use the educational material and can try a final assessment/test that is useful also to provide suggestions to the system (for instance suggestions about new key words associated to the class of the picture)

Its very easy if explained by examples.

An example of ongoing design of educational application

Pictures of see, beach or scenarios where it’s visible the see

When the system recognize the see in the picture it can suggest something like:

The chemistry of water, salt water, mineral water, etc.

The tide and relationship between lunar phases and tides

The energy that can be captured by the see tides and waves (wave power)

Pictures of food and beverage like vine, water, fruit juice but also friends at lunch/dinner

The chemistry of water, vine, fruit juice and other beverage like Coca-Cola

Nutritional aspects of water, vine, fruit juice and other beverage like Coca-Cola

Junk food examples and information

Social behavior and relationships when eating with other people, the meaning and history

Production rates of food and other related goods, for user’s country (using geolocation) or other countries

Pictures of people

Group theory

Social behavior (bullying for example, a critical issue in schools)

Physics in social behavior

Health subjects like ageing, behavior pathology, social pathology (introductory level)

Pictures of traffic lights

The theory of colors

Queue theory

Color blindness and other possible issues related to color perception

Pictures of cash machine

Prime numbers, cryptography and other mathematical concept related to security codes

Finance

Actuarial science, interest rate, loan calculation and so on

Pictures of geometry in nature and art

Golden ratio in art

The meaning of golden ratio

The relationship among golden ratio and beauty

Fractals

Fractals in nature

Cellular automaton

Pictures of conveyance

Transportation system in user’s country (using geolocation) or other countries

Power supply for transportation system, energy issues and sustainability

Velocity, acceleration, displacement, distance and other physics of the motion

Air Pollution, the chemistry under the pollution

Health consequence, social impact of the air pollution

International regulation about air pollution and transportation

History of conveyance, history of trains and other main transportation mean

Pictures at train station

Physics of trolley

The wheel

Lever (physics and mathematical formula)

The knapsack problem (optimisation)

The shortest path to go from one point to another (when you have an heavy baggage)

Pictures of bicycle

Physics of bicycle

The wheel

Velocity, acceleration, displacement, distance and other physics of the motion

Lever (physics and mathematical formula)

Pictures of buildings

Shapes and buildings

Engineering basic concepts about shapes in buildings

Colors theory

Historical monuments in user’s country (using geolocation) or other countries

Pictures of mosaics

Tessellation

Geometry

Symmetry

Pictures of streets under different meteo condition

Velocity, acceleration, displacement, distance and other physics of the motion

Security norms and rule when driving

WeatherData

Weather forecasting

Wolfram Language added value

For a project like Urban Science the development environment is very crucial.

Wolfram Language and its ecosystem of products/applications guarantee we can cover the 100% of what we need (at least in this designing phase this is our perception).
Example of features should be used

Machine learning, neural network, image processing and analysis and related technology to work on images and on prediction of what the user would know

Curated data source and connection to external source of information where needed, for instance Wikipedia

Graphics and visualization

Wolfram knowledgebase

Core functions for any subject that will be included in the educational material provided by the app as answer to the user’s question

Notebooks for contents production, automatic reporting and other front end features

Deployment by means of Wolfram Cloud