SYSTEMMODELER IN EDUCATION

Ankit Naik, Sales Engineer

Join the Conversation #WolframTechConf

Present Education System

“Did you know as per a report 2 out of every 3 students are bored in school every single day!!!”
- Annual survey, Indiana University’s High School Survey of Student Engagement (HSSSE)

Why do they get bored?

BarChart[{30,75},BarSpacing->Large,ChartLabels->Placed[{"No or very less interaction with Teachers","Material not interesting"},{{0.5,0},{0.9,1}},Rotate[#,(2/7) Pi]&],ChartStyle->"Pastel",BaseStyle->{FontSize->22}]

75% of the students say material taught is not interesting!

What do they find interesting?

BarChart[{80,70,52},BarSpacing->Large,ChartLabels->Placed[{"Classroom discussion and debate","Group Projects","Teacher Lectures"},{{0.5,0},{0.9,1}},Rotate[#,(2/7) Pi]&],ChartStyle->"Pastel",BaseStyle->{FontSize->22}]

Only 52% students find lectures interesting.

They are interested in active learning!

Can we then facilitate learning?

Make study material interactive?

Make lectures interesting?

Virtual Lab

What is it?

Interactive courseware which facilitates learning.

We do that by three approaches (in short (MA^2)):-

Manipulate

Animate

Activate

Labs for High school and Universities

What does a lab contain?

Each set of courseware consists of :-

Virtual Lab notebook

SystemModeler models

Teacher Instructions notebook

How does it work?

3 different examples :-

Heterogenous Equilibrium

Train Physics

3 bit Full Adder

Heterogenous Equilibrium

Consider the reaction of decomposition of calcium carbonate to calcium oxide and carbon dioxide :

(Subscript[CaCO, 3 ])(s) <-> CaO (s) + (Subscript[CO, 2]) (g)

How did I learn?

Whats your answer?

Solution

The expression of the equilibrium constant for this reaction given by: K = [(Subscript[CO, 2])]

How my teacher explained?

It gets messy quite fast

Student cannot understand if they look at the figure after 1-2 months

How we do it in Virtual Labs?

Import[FileNameJoin[{NotebookDirectory[],"HeterogenousEquilibriumAndSolubilityEquilibria.mo"}],"MO"];

Manipulate[
Quiet[
SystemModelPlot[
SystemModelSimulate["HeterogenousEquilibriumAndSolubilityEquilibria.CalciumCarbonate",10,<|"ParameterValues"-> {"initialAmountCaCO3"-> CaCO3,"initialAmountCaO"-> CaO,"initialAmountCO2"-> CO2}|>],"Concentrations",PlotRange->{0,17},AxesLabel -> {"Seconds", "Moles"}, ImageSize->600]],"Initial Amount:",{{CaCO3,3,"CaCO3:"},Row[{Slider[#,{0,10,1},ContinuousAction->False],Spacer[5],#,Style[" mol","Output"]}]&},{{CaO,3,"CaO:"},Row[{Slider[#,{0,10,1},ContinuousAction->False],Spacer[5],#,Style[" mol","Output"]}]&},{{CO2,3,"CO2:"},Row[{Slider[#,{0,10,1},ContinuousAction->False],Spacer[5],#,Style[" mol","Output"]}]&}]

Train Physics

How can we explain design of coupling to a high school student?

How they do it in high school today?

Solve analytically for forces using change in momentum

Very difficult to visualize

How we do it in Virtual Labs?

Import[FileNameJoin[{NotebookDirectory[],"Train.mo"}],"MO"];

Module[{graphicsFunction},
Manipulate[
graphicsFunction[c,d],
{{c,4000, "Spring constant"},Row[{Slider[#,{0,10000,10},ContinuousAction->False],Spacer[5],#," N/m"}]&},
{{d,4000, "Damping constant"},Row[{Slider[#,{0,10000,10},ContinuousAction->False],Spacer[5],#," Ns/m"}]&},
ContinuousAction->False,
Initialization:>(
graphicsFunction[c_,d_]:=graphicsFunction[c,d]=
Module[{
loc=,
car=,
sim=SystemModelSimulate["Train.SpringDamper",<|"ParameterValues"-> {"c"->c,"d"-> d}|>],
couplingWidth=0.08,
positions},
positions=sim[{"locomotive.r0","car.pos"},\[FormalT] ];
Column[{
Animate[Graphics[
{Rectangle[{positions[[2]]/. \[FormalT]-> t,-couplingWidth/2},{positions[[1]]/. \[FormalT]-> t,couplingWidth/2}],
Inset[loc,{positions[[1]]/. \[FormalT]-> t,0}],
Inset[car,{positions[[2]]/. \[FormalT]-> t,0}]},
PlotRange->{{-2,4},{-0.25,0.25}},ImageSize->{500,100}],{{t,0,"Time"},0,1},Paneled->False,AnimationRunning->False],
SystemModelPlot[sim,PlotRange-> All,ImageSize->{350,200}]}]];
graphicsFunction[4000,4000]),
SynchronousInitialization->False,
SynchronousUpdating->False,
TrackedSymbols:>{c,d}]
]

SystemModeler["Train.TrainWithElasticDampenedCoupling","Animation"]

Combinational Circuit

Background

Inside a digital computer, arithmetic operations are performed by the arithmetic logic unit (ALU).

Several ALUs can be found in the central processing unit (CPU) and they are a fundamental part of a computer.

The most basic arithmetic operation is the addition of two binary digit which is performed by the Adder.

How they do it?

Write code in C++ for the adder circuit.

Assign pins to input and output by coding.

Example code for assigning a pin as output in Arduino

How we do it in Virtual Labs?

Design the circuit in SystemModeler and assign pins.

Plug it to the Arduino and simulate!

Import[FileNameJoin[{NotebookDirectory[],"CombinationalCircuits.mo"}],"MO"];

SystemModeler["CombinationalCircuits.ThreeBitAdder","Modeling"]

What students say?

(Labeled[, "\"Tricky formulas and advanced concepts become graspable with the help of SystemModeler. The courseware is suitable for students who are starting more advanced mechanics and need to repeat the basics.\""])

(Labeled[, "\"I was able to interact in real time with the Arduino board using my designs. Manipulate command helped me to tune my PID controller, I have not found any similar tools in any other softwares. I also designed a LQR controller for the inverted pendulum. I used a lot of differential equations and I saved a lot of time testing my controller.\""])

(Labeled[, "\"In SystemModeler even high school students with no programming experience can build their own model. I learnt a lot about Mechanics and Electrical engineering just by browsing through the virtual labs.\""])

(Labeled[, "\"SystemModeler is especially good for students who lack mathematical background. The user interface was really easy to use. It allowed me to create variety of models in different fields of biology.\""])

Special Mention

Anna Palmer                         Emil Arkstål               Frida Svensson

Patrik Ekenberg                 Jan Brugård	            Julius Diestra

Thank You!

SystemModeler Talks

New in SystemModeler 12

Time: Wednesday 4:00 pm

Presenter: Jan Brugård, CEO, Wolfram MathCore

SystemModeler in Education

Time: Wednesday 4:30 pm

Presenter: Ankit Naik, Sales Engineer, Wolfram MathCore

SystemModeler in Real World Application

Time: Thursday  2:30 pm

Presenter: Jan Brugård, CEO, Wolfram MathCore

Using SystemModeler with Mathematica to Rapidly Build and Verify Hardware Control Systems

Time: Thursday 4:30 pm

Presenter: Neil Singer, President at AC Kinetics Inc.

Innovating in Oil and Gas with Wolfram SystemModeler

Time: Friday 4:30 pm

Presenter: Eric Smith, Senior Multiphase Technology Specialist, Assured Flow Solutions LLC