Vishram Singh - Textbook of Anatomy Upper Limb and Thorax.. Volume 1 (1).pdf
Phogo: A low cost, engaging and modern proposal to learn how to program
1. Phogo:
A low cost, engaging and modern proposal to
learn how to program
Carlos Gonzalez-Sacristan, Carlos Garcia-Saura, Pablo Molins-Ruano
Universidad Autónoma de Madrid
pablo.molins@uam.es
0
9. Why Logo is great
• Logo is a great tool that provides large construction possibilities to
the student
• “Low threshold and no ceiling”
• Papert believed that students learn while consciously engaged in
constructing a public entity
• When something doesn't come out as expected, the Turtle is the one
making mistakes, not the student
8
11. What we have now
• Cheap and accessible electronics
• Arduino
• Python
• Domestic 3D printers
10
12. Why change from Logo to Python?
• Logo lacks of a thriving community. Python's vast community of users
has advantages.
• Python has more real world applications and we believe this can
have an impact on the students' engagement.
11
15. Why change from Logo to Python?
• Logo lacks of a thriving community. Python's vast community of users
has advantages.
• Python has more real world applications and we believe this can
have an impact on the students' engagement.
• With Python, nothing is lost. It’s still possible to have a modular,
extensible, interactive and flexible language, the main principles in
Logo design.
• “Low threshold and no ceiling”. With Python, the ceiling is even
higher.
14
19. https://github.com/CRM-UAM/Phogo
All of the Phogo source code is released under the GNU General Public License
Version 3.
The rest of elements such as text, images or manuals are published under the CC
BY-SA 4.0 license terms.
18
21. What can the Tortoise do?
• forward(units=10)
• back(units=10)
• right(degrees=90)
• left(degrees=90)
• pen_up()
• pen_down()
• obstacle()
+ all Python
20
22. Some examples
• Draw a square
from phogo import *
def square():
pen_down()
i = 1
while (i < 5):
right()
forward()
i = i + 1
• Maze solver
from phogo import *
def right-hand_rule():
if (obstacle() < 10):
left()
forward()
right-hand_rule()
21
24. Objectives
1. Understand that a computer executes the orders previously given
by a programmer.
2. Basic use of variables and pre-defined functions.
3. Understand flow control structures:
• Conditional jumps
• Deterministic loops
4. Grouping and reusing code by defining functions.
5. Realize that these notions are the backbone of every complex
software out there.
23
25. Setting
• June 2016
• 19 students from 16 to 18 years old
• 12 of them with diverse physical or intellectual disabilities
• No one reported any previous programing knowledge
• Four programing teachers and some assistants (for example, sign
language interpreter)
• 90 minutes
• 7 robots. They were encouraged to work in pairs or groups
24
26. From this…
from phogo import *
pen_down()
forward()
right()
forward()
right()
forward()
right()
forward()
right()
25
27. …to this
from phogo import *
pen_down()
forward()
right()
forward()
right()
forward()
right()
forward()
right()
from phogo import *
def cuadrado():
pen_down()
veces=1
while veces <=4:
forward(6)
right()
veces = veces + 1
def círculo():
pen_down()
veces=1
while veces <= 18:
forward(1)
right(20)
veces=veces+1
círculo()
26
32. Now, what? Future work
• New Tortoise. Version 2.
• Cheaper (from $80 to $30)
• Better movement (more precise)
• Bye Bluetooth. Hello WiFi.
• More possibilities (speakers, microphone, light sensor…)
• More workshops
• More data
31
33. Phogo:
A low cost, engaging and modern proposal to
learn how to program
Carlos Gonzalez-Sacristan, Carlos Garcia-Saura, Pablo Molins-Ruano
Universidad Autónoma de Madrid
pablo.molins@uam.es – https://github.com/CRM-UAM/Phogo
32