SlideShare a Scribd company logo
Teaching Algebra Through
Functional Programming
Using Bootstrap Curriculum
Thanks to our Sponsors!
Partners
Premier
Logo:
Why Use
Programming to
Teach Math
With support from the US Office of
Naval Research, Logo was pilot-
tested in the summer of 1967 with
fifth- and sixth-grade math students.
The reason that a laboratory is not traditionally used in
mathematical study is not that it would be less valuable there
than in biology, chemistry, or physics; rather, the idea of a
mathematical experiment was, until recently, unrealizable, and
barely conceivable, except in very special or superficial senses.
How could a person set in motion a sequence of
mathematical events or a mathematical process, and then see
its effects unfold? Using a computer with an appropriate
programming language adds this extra dimension to mathe-
matical experience; the important contribution of the computer
is a new and powerful operational universe for mathematical
experiment
By W. Feurzeig, S. Papert, Mo Bloom, R. Grant, C. Solomon.
Taken from the Final Report on the first fifteen months of the LOGO Project,
November 30, 1969.
Submitted to the National Science Foundation on Contract NSF-C 558.
Copies will be available from ERIC
Programming can be used to give students very
specific insights into a number of key concepts.
Ideas such as variable and function remain, to say
the least, obscure for many high school students.
Indeed, college students often have trouble with the
many roles of the “x” in algebra: sometimes it
appears to be a number, sometimes a subtly
different kind of object called a variable, and on
other occasions it is to be treated as a function…
In programming, the distinctions arise concretely.
By W. Feurzeig, S. Papert, Mo Bloom, R. Grant, C. Solomon.
Taken from the Final Report on the first fifteen months of the LOGO Project,
November 30, 1969.
Submitted to the National Science Foundation on Contract NSF-C 558.
Copies will be available from ERIC
Logo Turtles
What is a function?
𝑓 𝑥 =
−4, 𝑥 < −1
3𝑥, −1 ≤ 𝑥 ≤ 4
𝑥2
− 𝑥, 𝑥 > 4
𝑓 𝑥 = 3𝑥 + 1
𝑔 𝑦 = 𝑦2
Solve: 𝑓(𝑔 5 )
Definition of a function
› a relationship or expression involving one or more
variables (dictionary.com)
› a mathematical correspondence that assigns exactly one
element of one set to each element of the same or
another set (merriam-webster.com)
› a process or a relation that associates each element x of
a set X, the domain of the function, to a single
element y of another set Y (wikipedia)
How do programmers
define a function?
Functions in programming
› method
› procedure
› subroutine
› statement
› abstraction
› encapsulation
› calculation
› grouping
› named section (Wikipedia)
Bootstrap applies mathematical
concepts and rigorous programming
principles to creating a simple
videogame
Students create a simple, 3-character game involving a
player, a target and a danger. They design what each
character looks like, and use algebraic concepts to detect
collisions.
Introduction to Scheme
› Prefix language with parenthesis
› (+ 1 2)
› (define (foo (a b)) (+ a b))
› (define (foo (a b c)) (+ a (- b c)))
WeScheme (a subset of Scheme)
› Students are given
predefined functions for
– IO
– higher-order functions
› Are able to focus on
calculations
Circles of Evaluation
Translating Computation
𝑎2
+ 𝑏2
= 𝑐2
𝑎
𝑏
𝑐
𝑎
𝑏
𝑐
𝑓 𝑎, 𝑏 = 𝑎2 + 𝑏2
double distance(int x, int y, int x1, int y1) {
double aSquared = Math.pow(x - x1, 2);
double bSquared = Math.pow(y - y1, 2);
double cSquared = aSquared + bSquared;
return Math.sqrtc(cSquared);
}
Why Scheme? Why not Java?
A first course in computer programming should not be about the current “hot”
language in industry – which may be obsolete by the time today’s freshmen
graduate – but rather about lasting, transferable concepts and practices of good
programming. Yet beginning programming students spend much of their time
wrestling with the language, and often mistake that as the subject of the course; the
programming language distracts from the course material. – Stephen Bloch
(Math/CS Department Adelphi University)
Why Scheme?
› Syntax is simple
– Parenthesis
– Operators
– define keyword
› Functional
– Not imperative
Study on Bootstrap Curriculum
› The Bootstrap curriculum was taught at two schools
› An assessment on math skills was given before and after
the course to both the study and control groups
› Assessments were statistically analyzed
› Interviews were conducted with all the participants in the
Bootstrap course
Bootstrap course #1
› Taught at a middle school as an after school class
› Participants volunteered
– 14 started the course, 9 finished
› The course lasted about 6 weeks
– Twice a week
– 1 ½ hours each class
› Control group was a CTE (Careers, Technology,
Engineering) class
Bootstrap course #2
› Taught at a high school during school
› Participants where chosen by administration
– juniors and seniors who could not pass basic algebra
– students received ½ math credit for participation in math
– 14 started the course, 9 finished
› The course lasted about 6 weeks
– Twice a week
– 1 ½ hours each class
› Control group was a CTE (Careers, Technology,
Engineering) class
A friend sees the word “function” in your math book
and asks what it means. In terms of mathematics,
how do you explain “function” to them?
Given 𝑓 𝑥 = 5(𝑥 + 3), find 𝑓(5 − 𝑛)
Assessment Questions for understanding of
Functions
Assessment Questions for understanding of
Functions
Results of Evaluations on Functions
Study Group #1
Results of Evaluations on Functions
Study Group #2
Transfer from Scheme to Algebra
(define distance (x y x1 y1)
(sqrt
(+ (sq (-(x x1) sq(- (b b1)))))
𝑓 𝑥, 𝑥1
, 𝑦, 𝑦1
= (𝑥1 − 𝑥)2+(𝑦1 − 𝑦)2
Consider the following function:
On a graph, plot and label and .
How far apart are the two points?
Show your work.
f (x) = 3
4 x + 2
f (0) f (4)
Using the following two functions,
find the value of the composite function, f (g(5)).
Show your work.
f (x) = 2x
g(y) = y2
Questions on Transferring Programming
Functions to Algebra Functions
Questions on Transferring Programming
Functions to Algebra Functions
Results on Assessment on Transfer
Study
Group #1
Results on Assessment on Transfer
Study Group #2
Observations
› Students in both study and control groups didn’t answer
the harder questions
› In interviews with the study group
– when asked why they didn’t answer the hard questions
– did not remember what the syntax meant
– said the algebra syntax looked scary
– students very comfortable with the Scheme syntax
𝑓 𝑎, 𝑏 = 𝑎2 + 𝑏2
Students found math syntax confusing or
scary – despite some brief coaching
(define distance (a b)
(sqrt
(+ (sq a) sq(b))))
Students showed in interview they were comfortable with
Scheme Syntax, probably because they had worked with it
in building their games.
Conclusions
› Programming in most languages can teach some math
principles
– PEMDAS
– Cartesian Planes
– Formulas like Pythagorean Theorem
› Programming does not transfer well to math
symbols/syntax
– Unfamiliarity
– The term scary is used
› Programming can teach Computational Thinking
Conclusions
› Functional Programming is very good at teaching
functions
› The understanding of functions gained may help with the
concept in later education
The demonstration of positive transfer from
programming into algebra is exciting, but the
findings should not be generalized to suggest that
merely “learning to program” would result in
mathematical gains for students. Bootstrap’s
success rests on a conscious selection of
programming language, software tools, curriculum
and pedagogical practice that are drawn from
the algebraic domain.
-Emanuel Schanzer in his Doctoral Thesis
Robert W. Lee
https://www.linkedin.com/in/roblee
https://twitter.com/leerobertw
http://robertwlee.weebly.com
Master’s Thesis
https://scholarsarchive.byu.edu/etd/3519
Bootstrap website
http://www.bootstrapworld.org/
Schanzuer at TedX
https://www.youtube.com/watch?v=FbqnaoU-3VI
Bootstrap on Code.org
https://studio.code.org/s/algebra
Schanzer Doctoral Thesis
https://dash.harvard.edu/handle/1/16461037
Educator Resources
https://code.org/educate/curriculum/3rd-party

More Related Content

What's hot

Fast evaluation of Connectionist Language Models
Fast evaluation of Connectionist Language ModelsFast evaluation of Connectionist Language Models
Fast evaluation of Connectionist Language Models
Francisco Zamora-Martinez
 
Teori pnp
Teori pnpTeori pnp
Np cooks theorem
Np cooks theoremNp cooks theorem
Np cooks theorem
Narayana Galla
 
Function polynomial time
 Function polynomial time Function polynomial time
Function polynomial time
Abhishek Mungoli
 
J045055560
J045055560J045055560
J045055560
IJERA Editor
 
pptphrase-tagset-mapping-for-french-and-english-treebanks-and-its-application...
pptphrase-tagset-mapping-for-french-and-english-treebanks-and-its-application...pptphrase-tagset-mapping-for-french-and-english-treebanks-and-its-application...
pptphrase-tagset-mapping-for-french-and-english-treebanks-and-its-application...
Lifeng (Aaron) Han
 
Problem solving
Problem solvingProblem solving
Problem solving
hamza239523
 
Harnessing Deep Neural Networks with Logic Rules
Harnessing Deep Neural Networks with Logic RulesHarnessing Deep Neural Networks with Logic Rules
Harnessing Deep Neural Networks with Logic Rules
Sho Takase
 
Analysis of algorithms
Analysis of algorithmsAnalysis of algorithms
Analysis of algorithms
Ganesh Solanke
 
From_seq2seq_to_BERT
From_seq2seq_to_BERTFrom_seq2seq_to_BERT
From_seq2seq_to_BERT
Huali Zhao
 
Introduction to NP Completeness
Introduction to NP CompletenessIntroduction to NP Completeness
Introduction to NP Completeness
Gene Moo Lee
 
9. chapter 8 np hard and np complete problems
9. chapter 8   np hard and np complete problems9. chapter 8   np hard and np complete problems
9. chapter 8 np hard and np complete problems
Jyotsna Suryadevara
 
theory of computation lecture 01
theory of computation lecture 01theory of computation lecture 01
theory of computation lecture 01
8threspecter
 
Design and analysis of computer algorithms
Design and analysis of computer algorithmsDesign and analysis of computer algorithms
Design and analysis of computer algorithms
Krishna Chaytaniah
 
NP Complete Problems in Graph Theory
NP Complete Problems in Graph TheoryNP Complete Problems in Graph Theory
NP Complete Problems in Graph Theory
Seshagiri Rao Kornepati
 
Karin Quaas
Karin QuaasKarin Quaas
Karin Quaas
oxwocs
 
Np Completeness
Np CompletenessNp Completeness
Np Completeness
Rajan Shah
 
ADA complete notes
ADA complete notesADA complete notes
ADA complete notes
Vinay Kumar C
 

What's hot (18)

Fast evaluation of Connectionist Language Models
Fast evaluation of Connectionist Language ModelsFast evaluation of Connectionist Language Models
Fast evaluation of Connectionist Language Models
 
Teori pnp
Teori pnpTeori pnp
Teori pnp
 
Np cooks theorem
Np cooks theoremNp cooks theorem
Np cooks theorem
 
Function polynomial time
 Function polynomial time Function polynomial time
Function polynomial time
 
J045055560
J045055560J045055560
J045055560
 
pptphrase-tagset-mapping-for-french-and-english-treebanks-and-its-application...
pptphrase-tagset-mapping-for-french-and-english-treebanks-and-its-application...pptphrase-tagset-mapping-for-french-and-english-treebanks-and-its-application...
pptphrase-tagset-mapping-for-french-and-english-treebanks-and-its-application...
 
Problem solving
Problem solvingProblem solving
Problem solving
 
Harnessing Deep Neural Networks with Logic Rules
Harnessing Deep Neural Networks with Logic RulesHarnessing Deep Neural Networks with Logic Rules
Harnessing Deep Neural Networks with Logic Rules
 
Analysis of algorithms
Analysis of algorithmsAnalysis of algorithms
Analysis of algorithms
 
From_seq2seq_to_BERT
From_seq2seq_to_BERTFrom_seq2seq_to_BERT
From_seq2seq_to_BERT
 
Introduction to NP Completeness
Introduction to NP CompletenessIntroduction to NP Completeness
Introduction to NP Completeness
 
9. chapter 8 np hard and np complete problems
9. chapter 8   np hard and np complete problems9. chapter 8   np hard and np complete problems
9. chapter 8 np hard and np complete problems
 
theory of computation lecture 01
theory of computation lecture 01theory of computation lecture 01
theory of computation lecture 01
 
Design and analysis of computer algorithms
Design and analysis of computer algorithmsDesign and analysis of computer algorithms
Design and analysis of computer algorithms
 
NP Complete Problems in Graph Theory
NP Complete Problems in Graph TheoryNP Complete Problems in Graph Theory
NP Complete Problems in Graph Theory
 
Karin Quaas
Karin QuaasKarin Quaas
Karin Quaas
 
Np Completeness
Np CompletenessNp Completeness
Np Completeness
 
ADA complete notes
ADA complete notesADA complete notes
ADA complete notes
 

Similar to Teaching algebra through functional programming

Coding on iPads
Coding on iPadsCoding on iPads
Coding on iPads
David Dryden
 
Technology Lesson Plan Assignment: Quadratice Functions
Technology Lesson Plan Assignment: Quadratice FunctionsTechnology Lesson Plan Assignment: Quadratice Functions
Technology Lesson Plan Assignment: Quadratice Functions
dart11746
 
Artifact3 allen
Artifact3 allenArtifact3 allen
Artifact3 allen
allent07
 
Artifact3 allen
Artifact3 allenArtifact3 allen
Artifact3 allen
allent07
 
Artifact3 allen
Artifact3 allenArtifact3 allen
Artifact3 allen
allent07
 
Cdp session on board plan
Cdp session on board planCdp session on board plan
Cdp session on board plan
Ryan Casulang
 
FIDP_GenMath.docx
FIDP_GenMath.docxFIDP_GenMath.docx
FIDP_GenMath.docx
Junem Beli-ot
 
Math A Z 2007
Math A Z 2007Math A Z 2007
Math A Z 2007
julialott
 
CMI2012 CCSS for Mathematics
CMI2012 CCSS for MathematicsCMI2012 CCSS for Mathematics
CMI2012 CCSS for Mathematics
Janet Hale
 
Lesson 11 1
Lesson 11  1Lesson 11  1
Lesson 11 1
nabanita123
 
Xmss ict lesson sec 2 qe
Xmss  ict lesson sec 2 qeXmss  ict lesson sec 2 qe
Xmss ict lesson sec 2 qe
bryan
 
M11GM-Q1Module9.pdf
M11GM-Q1Module9.pdfM11GM-Q1Module9.pdf
M11GM-Q1Module9.pdf
AllanMembrillosTorre
 
M11GM-Q1Module9.pdf
M11GM-Q1Module9.pdfM11GM-Q1Module9.pdf
M11GM-Q1Module9.pdf
AllanMembrillosTorre
 
Heck
HeckHeck
Heck
iweinem
 
Xmss ict lesson template
Xmss  ict lesson templateXmss  ict lesson template
Xmss ict lesson template
bryan
 
MLlecture1.ppt
MLlecture1.pptMLlecture1.ppt
MLlecture1.ppt
butest
 
MLlecture1.ppt
MLlecture1.pptMLlecture1.ppt
MLlecture1.ppt
butest
 
Oops ppt
Oops pptOops ppt
Oops ppt
abhayjuneja
 
Mooc test
Mooc testMooc test
Mooc test
Sapna Sharma
 
Fosdem 2013 petra selmer flexible querying of graph data
Fosdem 2013 petra selmer   flexible querying of graph dataFosdem 2013 petra selmer   flexible querying of graph data
Fosdem 2013 petra selmer flexible querying of graph data
Petra Selmer
 

Similar to Teaching algebra through functional programming (20)

Coding on iPads
Coding on iPadsCoding on iPads
Coding on iPads
 
Technology Lesson Plan Assignment: Quadratice Functions
Technology Lesson Plan Assignment: Quadratice FunctionsTechnology Lesson Plan Assignment: Quadratice Functions
Technology Lesson Plan Assignment: Quadratice Functions
 
Artifact3 allen
Artifact3 allenArtifact3 allen
Artifact3 allen
 
Artifact3 allen
Artifact3 allenArtifact3 allen
Artifact3 allen
 
Artifact3 allen
Artifact3 allenArtifact3 allen
Artifact3 allen
 
Cdp session on board plan
Cdp session on board planCdp session on board plan
Cdp session on board plan
 
FIDP_GenMath.docx
FIDP_GenMath.docxFIDP_GenMath.docx
FIDP_GenMath.docx
 
Math A Z 2007
Math A Z 2007Math A Z 2007
Math A Z 2007
 
CMI2012 CCSS for Mathematics
CMI2012 CCSS for MathematicsCMI2012 CCSS for Mathematics
CMI2012 CCSS for Mathematics
 
Lesson 11 1
Lesson 11  1Lesson 11  1
Lesson 11 1
 
Xmss ict lesson sec 2 qe
Xmss  ict lesson sec 2 qeXmss  ict lesson sec 2 qe
Xmss ict lesson sec 2 qe
 
M11GM-Q1Module9.pdf
M11GM-Q1Module9.pdfM11GM-Q1Module9.pdf
M11GM-Q1Module9.pdf
 
M11GM-Q1Module9.pdf
M11GM-Q1Module9.pdfM11GM-Q1Module9.pdf
M11GM-Q1Module9.pdf
 
Heck
HeckHeck
Heck
 
Xmss ict lesson template
Xmss  ict lesson templateXmss  ict lesson template
Xmss ict lesson template
 
MLlecture1.ppt
MLlecture1.pptMLlecture1.ppt
MLlecture1.ppt
 
MLlecture1.ppt
MLlecture1.pptMLlecture1.ppt
MLlecture1.ppt
 
Oops ppt
Oops pptOops ppt
Oops ppt
 
Mooc test
Mooc testMooc test
Mooc test
 
Fosdem 2013 petra selmer flexible querying of graph data
Fosdem 2013 petra selmer   flexible querying of graph dataFosdem 2013 petra selmer   flexible querying of graph data
Fosdem 2013 petra selmer flexible querying of graph data
 

Recently uploaded

Cognitive Development Adolescence Psychology
Cognitive Development Adolescence PsychologyCognitive Development Adolescence Psychology
Cognitive Development Adolescence Psychology
paigestewart1632
 
The Diamonds of 2023-2024 in the IGRA collection
The Diamonds of 2023-2024 in the IGRA collectionThe Diamonds of 2023-2024 in the IGRA collection
The Diamonds of 2023-2024 in the IGRA collection
Israel Genealogy Research Association
 
South African Journal of Science: Writing with integrity workshop (2024)
South African Journal of Science: Writing with integrity workshop (2024)South African Journal of Science: Writing with integrity workshop (2024)
South African Journal of Science: Writing with integrity workshop (2024)
Academy of Science of South Africa
 
Reimagining Your Library Space: How to Increase the Vibes in Your Library No ...
Reimagining Your Library Space: How to Increase the Vibes in Your Library No ...Reimagining Your Library Space: How to Increase the Vibes in Your Library No ...
Reimagining Your Library Space: How to Increase the Vibes in Your Library No ...
Diana Rendina
 
How to Build a Module in Odoo 17 Using the Scaffold Method
How to Build a Module in Odoo 17 Using the Scaffold MethodHow to Build a Module in Odoo 17 Using the Scaffold Method
How to Build a Module in Odoo 17 Using the Scaffold Method
Celine George
 
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
Dr. Vinod Kumar Kanvaria
 
Liberal Approach to the Study of Indian Politics.pdf
Liberal Approach to the Study of Indian Politics.pdfLiberal Approach to the Study of Indian Politics.pdf
Liberal Approach to the Study of Indian Politics.pdf
WaniBasim
 
LAND USE LAND COVER AND NDVI OF MIRZAPUR DISTRICT, UP
LAND USE LAND COVER AND NDVI OF MIRZAPUR DISTRICT, UPLAND USE LAND COVER AND NDVI OF MIRZAPUR DISTRICT, UP
LAND USE LAND COVER AND NDVI OF MIRZAPUR DISTRICT, UP
RAHUL
 
Your Skill Boost Masterclass: Strategies for Effective Upskilling
Your Skill Boost Masterclass: Strategies for Effective UpskillingYour Skill Boost Masterclass: Strategies for Effective Upskilling
Your Skill Boost Masterclass: Strategies for Effective Upskilling
Excellence Foundation for South Sudan
 
How to Fix the Import Error in the Odoo 17
How to Fix the Import Error in the Odoo 17How to Fix the Import Error in the Odoo 17
How to Fix the Import Error in the Odoo 17
Celine George
 
ISO/IEC 27001, ISO/IEC 42001, and GDPR: Best Practices for Implementation and...
ISO/IEC 27001, ISO/IEC 42001, and GDPR: Best Practices for Implementation and...ISO/IEC 27001, ISO/IEC 42001, and GDPR: Best Practices for Implementation and...
ISO/IEC 27001, ISO/IEC 42001, and GDPR: Best Practices for Implementation and...
PECB
 
writing about opinions about Australia the movie
writing about opinions about Australia the moviewriting about opinions about Australia the movie
writing about opinions about Australia the movie
Nicholas Montgomery
 
BBR 2024 Summer Sessions Interview Training
BBR  2024 Summer Sessions Interview TrainingBBR  2024 Summer Sessions Interview Training
BBR 2024 Summer Sessions Interview Training
Katrina Pritchard
 
How to Make a Field Mandatory in Odoo 17
How to Make a Field Mandatory in Odoo 17How to Make a Field Mandatory in Odoo 17
How to Make a Field Mandatory in Odoo 17
Celine George
 
How to Create a More Engaging and Human Online Learning Experience
How to Create a More Engaging and Human Online Learning Experience How to Create a More Engaging and Human Online Learning Experience
How to Create a More Engaging and Human Online Learning Experience
Wahiba Chair Training & Consulting
 
Walmart Business+ and Spark Good for Nonprofits.pdf
Walmart Business+ and Spark Good for Nonprofits.pdfWalmart Business+ and Spark Good for Nonprofits.pdf
Walmart Business+ and Spark Good for Nonprofits.pdf
TechSoup
 
MARY JANE WILSON, A “BOA MÃE” .
MARY JANE WILSON, A “BOA MÃE”           .MARY JANE WILSON, A “BOA MÃE”           .
MARY JANE WILSON, A “BOA MÃE” .
Colégio Santa Teresinha
 
Film vocab for eal 3 students: Australia the movie
Film vocab for eal 3 students: Australia the movieFilm vocab for eal 3 students: Australia the movie
Film vocab for eal 3 students: Australia the movie
Nicholas Montgomery
 
Présentationvvvvvvvvvvvvvvvvvvvvvvvvvvvv2.pptx
Présentationvvvvvvvvvvvvvvvvvvvvvvvvvvvv2.pptxPrésentationvvvvvvvvvvvvvvvvvvvvvvvvvvvv2.pptx
Présentationvvvvvvvvvvvvvvvvvvvvvvvvvvvv2.pptx
siemaillard
 
PCOS corelations and management through Ayurveda.
PCOS corelations and management through Ayurveda.PCOS corelations and management through Ayurveda.
PCOS corelations and management through Ayurveda.
Dr. Shivangi Singh Parihar
 

Recently uploaded (20)

Cognitive Development Adolescence Psychology
Cognitive Development Adolescence PsychologyCognitive Development Adolescence Psychology
Cognitive Development Adolescence Psychology
 
The Diamonds of 2023-2024 in the IGRA collection
The Diamonds of 2023-2024 in the IGRA collectionThe Diamonds of 2023-2024 in the IGRA collection
The Diamonds of 2023-2024 in the IGRA collection
 
South African Journal of Science: Writing with integrity workshop (2024)
South African Journal of Science: Writing with integrity workshop (2024)South African Journal of Science: Writing with integrity workshop (2024)
South African Journal of Science: Writing with integrity workshop (2024)
 
Reimagining Your Library Space: How to Increase the Vibes in Your Library No ...
Reimagining Your Library Space: How to Increase the Vibes in Your Library No ...Reimagining Your Library Space: How to Increase the Vibes in Your Library No ...
Reimagining Your Library Space: How to Increase the Vibes in Your Library No ...
 
How to Build a Module in Odoo 17 Using the Scaffold Method
How to Build a Module in Odoo 17 Using the Scaffold MethodHow to Build a Module in Odoo 17 Using the Scaffold Method
How to Build a Module in Odoo 17 Using the Scaffold Method
 
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
 
Liberal Approach to the Study of Indian Politics.pdf
Liberal Approach to the Study of Indian Politics.pdfLiberal Approach to the Study of Indian Politics.pdf
Liberal Approach to the Study of Indian Politics.pdf
 
LAND USE LAND COVER AND NDVI OF MIRZAPUR DISTRICT, UP
LAND USE LAND COVER AND NDVI OF MIRZAPUR DISTRICT, UPLAND USE LAND COVER AND NDVI OF MIRZAPUR DISTRICT, UP
LAND USE LAND COVER AND NDVI OF MIRZAPUR DISTRICT, UP
 
Your Skill Boost Masterclass: Strategies for Effective Upskilling
Your Skill Boost Masterclass: Strategies for Effective UpskillingYour Skill Boost Masterclass: Strategies for Effective Upskilling
Your Skill Boost Masterclass: Strategies for Effective Upskilling
 
How to Fix the Import Error in the Odoo 17
How to Fix the Import Error in the Odoo 17How to Fix the Import Error in the Odoo 17
How to Fix the Import Error in the Odoo 17
 
ISO/IEC 27001, ISO/IEC 42001, and GDPR: Best Practices for Implementation and...
ISO/IEC 27001, ISO/IEC 42001, and GDPR: Best Practices for Implementation and...ISO/IEC 27001, ISO/IEC 42001, and GDPR: Best Practices for Implementation and...
ISO/IEC 27001, ISO/IEC 42001, and GDPR: Best Practices for Implementation and...
 
writing about opinions about Australia the movie
writing about opinions about Australia the moviewriting about opinions about Australia the movie
writing about opinions about Australia the movie
 
BBR 2024 Summer Sessions Interview Training
BBR  2024 Summer Sessions Interview TrainingBBR  2024 Summer Sessions Interview Training
BBR 2024 Summer Sessions Interview Training
 
How to Make a Field Mandatory in Odoo 17
How to Make a Field Mandatory in Odoo 17How to Make a Field Mandatory in Odoo 17
How to Make a Field Mandatory in Odoo 17
 
How to Create a More Engaging and Human Online Learning Experience
How to Create a More Engaging and Human Online Learning Experience How to Create a More Engaging and Human Online Learning Experience
How to Create a More Engaging and Human Online Learning Experience
 
Walmart Business+ and Spark Good for Nonprofits.pdf
Walmart Business+ and Spark Good for Nonprofits.pdfWalmart Business+ and Spark Good for Nonprofits.pdf
Walmart Business+ and Spark Good for Nonprofits.pdf
 
MARY JANE WILSON, A “BOA MÃE” .
MARY JANE WILSON, A “BOA MÃE”           .MARY JANE WILSON, A “BOA MÃE”           .
MARY JANE WILSON, A “BOA MÃE” .
 
Film vocab for eal 3 students: Australia the movie
Film vocab for eal 3 students: Australia the movieFilm vocab for eal 3 students: Australia the movie
Film vocab for eal 3 students: Australia the movie
 
Présentationvvvvvvvvvvvvvvvvvvvvvvvvvvvv2.pptx
Présentationvvvvvvvvvvvvvvvvvvvvvvvvvvvv2.pptxPrésentationvvvvvvvvvvvvvvvvvvvvvvvvvvvv2.pptx
Présentationvvvvvvvvvvvvvvvvvvvvvvvvvvvv2.pptx
 
PCOS corelations and management through Ayurveda.
PCOS corelations and management through Ayurveda.PCOS corelations and management through Ayurveda.
PCOS corelations and management through Ayurveda.
 

Teaching algebra through functional programming

  • 1. Teaching Algebra Through Functional Programming Using Bootstrap Curriculum
  • 2. Thanks to our Sponsors! Partners Premier Logo:
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9. With support from the US Office of Naval Research, Logo was pilot- tested in the summer of 1967 with fifth- and sixth-grade math students.
  • 10. The reason that a laboratory is not traditionally used in mathematical study is not that it would be less valuable there than in biology, chemistry, or physics; rather, the idea of a mathematical experiment was, until recently, unrealizable, and barely conceivable, except in very special or superficial senses. How could a person set in motion a sequence of mathematical events or a mathematical process, and then see its effects unfold? Using a computer with an appropriate programming language adds this extra dimension to mathe- matical experience; the important contribution of the computer is a new and powerful operational universe for mathematical experiment By W. Feurzeig, S. Papert, Mo Bloom, R. Grant, C. Solomon. Taken from the Final Report on the first fifteen months of the LOGO Project, November 30, 1969. Submitted to the National Science Foundation on Contract NSF-C 558. Copies will be available from ERIC
  • 11. Programming can be used to give students very specific insights into a number of key concepts. Ideas such as variable and function remain, to say the least, obscure for many high school students. Indeed, college students often have trouble with the many roles of the “x” in algebra: sometimes it appears to be a number, sometimes a subtly different kind of object called a variable, and on other occasions it is to be treated as a function… In programming, the distinctions arise concretely. By W. Feurzeig, S. Papert, Mo Bloom, R. Grant, C. Solomon. Taken from the Final Report on the first fifteen months of the LOGO Project, November 30, 1969. Submitted to the National Science Foundation on Contract NSF-C 558. Copies will be available from ERIC
  • 13. What is a function?
  • 14.
  • 15.
  • 16. 𝑓 𝑥 = −4, 𝑥 < −1 3𝑥, −1 ≤ 𝑥 ≤ 4 𝑥2 − 𝑥, 𝑥 > 4
  • 17.
  • 18. 𝑓 𝑥 = 3𝑥 + 1 𝑔 𝑦 = 𝑦2 Solve: 𝑓(𝑔 5 )
  • 19. Definition of a function › a relationship or expression involving one or more variables (dictionary.com) › a mathematical correspondence that assigns exactly one element of one set to each element of the same or another set (merriam-webster.com) › a process or a relation that associates each element x of a set X, the domain of the function, to a single element y of another set Y (wikipedia)
  • 21. Functions in programming › method › procedure › subroutine › statement › abstraction › encapsulation › calculation › grouping › named section (Wikipedia)
  • 22.
  • 23. Bootstrap applies mathematical concepts and rigorous programming principles to creating a simple videogame
  • 24. Students create a simple, 3-character game involving a player, a target and a danger. They design what each character looks like, and use algebraic concepts to detect collisions.
  • 25. Introduction to Scheme › Prefix language with parenthesis › (+ 1 2) › (define (foo (a b)) (+ a b)) › (define (foo (a b c)) (+ a (- b c)))
  • 26. WeScheme (a subset of Scheme) › Students are given predefined functions for – IO – higher-order functions › Are able to focus on calculations
  • 29.
  • 30.
  • 33. double distance(int x, int y, int x1, int y1) { double aSquared = Math.pow(x - x1, 2); double bSquared = Math.pow(y - y1, 2); double cSquared = aSquared + bSquared; return Math.sqrtc(cSquared); } Why Scheme? Why not Java? A first course in computer programming should not be about the current “hot” language in industry – which may be obsolete by the time today’s freshmen graduate – but rather about lasting, transferable concepts and practices of good programming. Yet beginning programming students spend much of their time wrestling with the language, and often mistake that as the subject of the course; the programming language distracts from the course material. – Stephen Bloch (Math/CS Department Adelphi University)
  • 34. Why Scheme? › Syntax is simple – Parenthesis – Operators – define keyword › Functional – Not imperative
  • 35. Study on Bootstrap Curriculum › The Bootstrap curriculum was taught at two schools › An assessment on math skills was given before and after the course to both the study and control groups › Assessments were statistically analyzed › Interviews were conducted with all the participants in the Bootstrap course
  • 36. Bootstrap course #1 › Taught at a middle school as an after school class › Participants volunteered – 14 started the course, 9 finished › The course lasted about 6 weeks – Twice a week – 1 ½ hours each class › Control group was a CTE (Careers, Technology, Engineering) class
  • 37. Bootstrap course #2 › Taught at a high school during school › Participants where chosen by administration – juniors and seniors who could not pass basic algebra – students received ½ math credit for participation in math – 14 started the course, 9 finished › The course lasted about 6 weeks – Twice a week – 1 ½ hours each class › Control group was a CTE (Careers, Technology, Engineering) class
  • 38. A friend sees the word “function” in your math book and asks what it means. In terms of mathematics, how do you explain “function” to them? Given 𝑓 𝑥 = 5(𝑥 + 3), find 𝑓(5 − 𝑛) Assessment Questions for understanding of Functions
  • 39. Assessment Questions for understanding of Functions
  • 40. Results of Evaluations on Functions Study Group #1
  • 41. Results of Evaluations on Functions Study Group #2
  • 42. Transfer from Scheme to Algebra (define distance (x y x1 y1) (sqrt (+ (sq (-(x x1) sq(- (b b1))))) 𝑓 𝑥, 𝑥1 , 𝑦, 𝑦1 = (𝑥1 − 𝑥)2+(𝑦1 − 𝑦)2
  • 43. Consider the following function: On a graph, plot and label and . How far apart are the two points? Show your work. f (x) = 3 4 x + 2 f (0) f (4) Using the following two functions, find the value of the composite function, f (g(5)). Show your work. f (x) = 2x g(y) = y2 Questions on Transferring Programming Functions to Algebra Functions
  • 44. Questions on Transferring Programming Functions to Algebra Functions
  • 45. Results on Assessment on Transfer Study Group #1
  • 46. Results on Assessment on Transfer Study Group #2
  • 47. Observations › Students in both study and control groups didn’t answer the harder questions › In interviews with the study group – when asked why they didn’t answer the hard questions – did not remember what the syntax meant – said the algebra syntax looked scary – students very comfortable with the Scheme syntax
  • 48. 𝑓 𝑎, 𝑏 = 𝑎2 + 𝑏2 Students found math syntax confusing or scary – despite some brief coaching
  • 49. (define distance (a b) (sqrt (+ (sq a) sq(b)))) Students showed in interview they were comfortable with Scheme Syntax, probably because they had worked with it in building their games.
  • 50.
  • 51. Conclusions › Programming in most languages can teach some math principles – PEMDAS – Cartesian Planes – Formulas like Pythagorean Theorem › Programming does not transfer well to math symbols/syntax – Unfamiliarity – The term scary is used › Programming can teach Computational Thinking
  • 52. Conclusions › Functional Programming is very good at teaching functions › The understanding of functions gained may help with the concept in later education
  • 53. The demonstration of positive transfer from programming into algebra is exciting, but the findings should not be generalized to suggest that merely “learning to program” would result in mathematical gains for students. Bootstrap’s success rests on a conscious selection of programming language, software tools, curriculum and pedagogical practice that are drawn from the algebraic domain. -Emanuel Schanzer in his Doctoral Thesis
  • 54. Robert W. Lee https://www.linkedin.com/in/roblee https://twitter.com/leerobertw http://robertwlee.weebly.com Master’s Thesis https://scholarsarchive.byu.edu/etd/3519 Bootstrap website http://www.bootstrapworld.org/ Schanzuer at TedX https://www.youtube.com/watch?v=FbqnaoU-3VI Bootstrap on Code.org https://studio.code.org/s/algebra Schanzer Doctoral Thesis https://dash.harvard.edu/handle/1/16461037 Educator Resources https://code.org/educate/curriculum/3rd-party