I am a French mathematics teacher in Reunion Island, and I want to share my story, my experiment and practice of visual programming in class. I will explain my own path from Logo to Snap!, through Scratch.
I want to show how far coding or programming a project can motivate students and increase their interest in mathematics. In this process, pupils are more engaged and are looking for answers on their own ; they start discovering and apply mathematical notions and principles. I will share with you my thoughts on how coding a game for example, implies implementing many notions in mathematics and computing.
My Snap! projects: https://snap.berkeley.edu/user?user=nathalierun
This work is delivered under the Creative Common License:
Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)
https://creativecommons.org/licenses/by-sa/4.0/
From Scratch to Snap! , what visual programming brings to my students.
1. From Scratch to Snap! ,
what visual programming
brings to my students.
ScratchBdx2017, Fri Jul 21, 2017
Nathalie Carrié, Reunion Island.
I am a french mathematics
teacher in highschool, in
Reunion Island.
I want to tell you about my meeting and my career through visual programming.
And what it brought to my students.
2. I began visual programming with
LOGO, designed by Seymour
Papert, as soon as I began
teaching, back in 1991.
Logo The beginning
3. The Seymour Papert’s point of view.
Learning with coding is like learning to ride a bicycle.
The Centipede was happy quite
Until the toad in fun
Said, Pray which leg comes after which?
This wrought her mind to such a pitch
She lay distracted in a ditch Considering
how to run —Anonymous
Mindstorms
page 42
Children, computers and powerful idea.
Jaillissement de l’Esprit
Ordinateurs et apprentissage. page 56
“ Keep on trying—one day you’ll just ‘get it’ ”
“Keep on trying—one day you’ll just ‘get it’ ”
“ Keep on trying—one day you’ll just ‘get it’ ”
4. to Trinome :a :b :c
make "delta :b*:b-4*:a*:c
ifelse :delta < 0
[show sentence sentence "pas "de "racine]
[make "x1 (-:b-sqrt(:delta)/(2*:a)
make "x2 (-:b+sqrt(:delta)/(2*:a)
show sentence sentence "x1 "= :x1
show sentence sentence "x2 "= :x2]
end to koch :x :etape
if :etape = 0 [forward :x/3 STOP]
koch :x / 3 (:etape - 1)
left 60
koch :x / 3 (:etape - 1)
right 120
koch :x / 3 (:etape - 1)
left 60
koch :x / 3 (:etape - 1)
end
koch 1000 3
flocon 1000 4
to flocon :x :etape
repeat 3 [koch :x :etape right 120]
end
5. Vector field of a differential equation : Tribute to Euler
to ChampVecteurs :pasGrille :pas
setpenwidth 1
setpencolor bleu
for [ix -450 450 :pasGrille] [
for [iy -400 400 :pasGrille] [
DessineChampVecteurs :ix :iy :pas]]
end
to DessineChampVecteurs :x0 :y0 :pas
penup
setxy :x0 :y0
pendown
setxy (:x0 + :pas) (:y0 + (fdy :x0) * :pas)
end
to DessineFunction
setpenwidth 2.5
setpencolor rouge penup
setxy -450 (ff -450)
pendown
for [ix -450 450] [ setxy :ix (ff :ix)]
end
to fdy :x
; définit la fonction y'=f(x) output :x * :x *
3/100000
end
to ff :x
; définit la fonction exacte output :x * :x *
:x/100000
end
DessineFunction
ChampVecteurs 12 10
Euler method
6. My Scratcher user name is nathalierun
https://scratch.mit.edu/users/nathalierun/
I began visual programming
with Scratch language 8 years
ago.
Coming to Scratch
I was totally seduced by Scratch because I had a tool that the
students loved and that allowed me to make them create
animations involving mathematical calculations in a playful
way.
I belong to the Reunion IREM (Research
institute in mathematics education) and I wrote
articles on Scratch when algorithmics
was introduced in the French High
School programmes in 2009.
Made in computer club by a student of mine :
mission accomplished ...
7.
8. - How large is the scene? What is a pixel, a screen resolution?
- How to choose an adapted Cartesian coordinate systems?
The size of the default scene is 480 x 360 px2.
…And to approach some calculations of
Cartesian geometry.
This gives me the opportunity to define a
pixel… (the basic unit for measuring the definition of a
matrix digital image.)
This work on coordinates is really useful
for students to become familiar with
locating in a plan.
Locating in the plan
The origin of the default mark is the
center of the scene.
10. CODING A VIDEO GAME
A gamer plays a video game which consists in making 100 random moves of 10 pixels
on a gaming console with a resolution (width x height) of 480 pixels by 360 pixels.
This game console is centered on a blue disc of radius 100 px.
At time 0, one is in O (the center of the screen).
The player throws a tetrahedral die whose balanced faces are numbered 1 to 4.
If it throws a 1, he moves 10 px to the right.
If it throws a 2, he moves 10 px to the left.
If he throws a 3, he moves 10 px up.
If he throws a 4, he moves 10 px down.
The game ends:
as soon as one has to leave the blue disk even if the 100 moves have not all been made.
as soon as 100 trips are made.
At the end of the game :
if one returned to O, one earn 1000 €.
if one is 30 px O or less (O excluded), one earn 500 €.
if one is between 30 px excluded and 50 px included, one gains 200 €.
if one is between 50 px excluded and 80 px included, one gains 10 €.
one lose 2 € otherwise.
The player asks the question: "Is the game fair?".
11. Random walk in a disc
AleaScratch Video Game - A Random Walk
12. From Scratch to Snap!
What I missed in Scratch was the ability to code functions in the
mathematical sense of the term.
(real functions as in mathematics :
blocks with reporter).
Snap! allows me to illustrate my math lessons effectively.
15. We associate to a game the random
variable G which indicates the gain
obtained at the end of this game.
Knowing that frequency tends towards
probability when performing a large
number of random experiments, performing
1000 games, storing winnings and pasting
them into a Libre Office Calc spreadsheet.
Calculate in this worksheet the obtained
frequencies as well as the expectation of G.
Simulation extension required from students
Calculations and Hope
01. 44114214121142231233234414324431212133124123221142211212144123314131121444
02. 24321234244243413424341213442343111421333324324233131124434342342121313234141232331213313
03. 3113131221333
04. 2134423113223331233
05. 441322333123212112121311442311321134112323
06. 33222411431333224443424344422314142444
07. 33123231413141242413314211233233
08. 3241211232413221332444134211241334324243431232441224143121431313432324224211221343231431313221422314
09. 23333344411422311213222111234123444321422414234314324224343114441323341312333133444323144343133233
10. 33222342313114142314311124114143414122222411112312421232111141
Finally, students have to calculate
the probability distribution of G
and the expectation E (G).
16. Discovering function variations with Snap!
a treasure hunt
The rectangle DEFG represents the school yard.
It measures 40 steps on 60 steps.
This activity comes from a collaborative textbook
of the association Sésamath for the 2nd class (age 15).
A student says "the pirate" hides a
"Treasure" in the rectangular
courtyard of the school.
Then he gives the player a treasure
map that shows how the player's
distance to the treasure evolves
when the player goes round the
court while staying on his board.
The player must use this message
to find the treasure. The player can
not make the move inside the yard
and must use only his reflective
capabilities.
17. 17
Number of steps
Distance
insteps
Discovering function
variations with Snap!
a treasure hunt
This activity comes from a collaborative textbook
of the association Sésamath for the 2nd class (age 15).
19. When algorithms entered in French official mathematics
courses, I wrote some reflections on algorithmic in the first year
of Upper High School (students aged 15 or 16) in this paper :
"Quel langage de programmation pour l'algorithmique en
Seconde ? " (Nov 2009). In this paper, I showed - according to
Seymour Papert - that Scratch was ideal for implementing
algorithms in high school in a playful and efficient way.
If you wish to go a bit further, I suggest you read this article I wrote to
present Snap! and the gallery I created on it.
Coder des algorithmes avec Snap !
Programmation visuelle au lycée.
Yet, as Snap! allows you to create your own blocks, it definitely
proves to be a great way to do high school mathematics.