Phogo: A low cost, engaging and modern proposal to learn how to program

33
Phogo: A low cost, engaging and modern proposal to learn how to program Carlos Gonzalez-Sacristan, Carlos Garcia-Saura, Pablo Molins-Ruano Universidad Autnoma de Madrid [email protected] 0

Transcript of Phogo: A low cost, engaging and modern proposal to learn how to program

Page 1: Phogo: A low cost, engaging and modern proposal to learn how to program

Phogo: A low cost, engaging and modern proposal to learn how to program Carlos Gonzalez-Sacristan, Carlos Garcia-Saura, Pablo Molins-Ruano Universidad Autonoma de [email protected]

0

Page 2: Phogo: A low cost, engaging and modern proposal to learn how to program

2

Page 3: Phogo: A low cost, engaging and modern proposal to learn how to program

3

Page 4: Phogo: A low cost, engaging and modern proposal to learn how to program

4

Page 5: Phogo: A low cost, engaging and modern proposal to learn how to program

5

Pay no attention to that man behind the curtain

Page 6: Phogo: A low cost, engaging and modern proposal to learn how to program

6

Learn to program? Why bother?

Page 7: Phogo: A low cost, engaging and modern proposal to learn how to program

Phogo: Logo + Python“Good artists copy, great artists steal”Pablo Picasso

7

Page 8: Phogo: A low cost, engaging and modern proposal to learn how to program

8

Page 9: Phogo: A low cost, engaging and modern proposal to learn how to program

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

Page 10: Phogo: A low cost, engaging and modern proposal to learn how to program

New possibilitiesSome things have change since the 70’s

10

Page 11: Phogo: A low cost, engaging and modern proposal to learn how to program

11

What we have now• Cheap and accessible electronics• Arduino • Python• Domestic 3D printers

Page 12: Phogo: A low cost, engaging and modern proposal to learn how to program

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.

Page 13: Phogo: A low cost, engaging and modern proposal to learn how to program

13

Page 14: Phogo: A low cost, engaging and modern proposal to learn how to program

14

Page 15: Phogo: A low cost, engaging and modern proposal to learn how to program

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.

Page 16: Phogo: A low cost, engaging and modern proposal to learn how to program

The TortoiseLogo got the Turtle. We got a Tortoise.

16

Page 17: Phogo: A low cost, engaging and modern proposal to learn how to program

17

Phogo’s Tortoise(early prototype)

Page 18: Phogo: A low cost, engaging and modern proposal to learn how to program

18

$81New version: $30

Stay tuned.

Page 19: Phogo: A low cost, engaging and modern proposal to learn how to program

19

https://github.com/CRM-UAM/PhogoAll 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.

Page 20: Phogo: A low cost, engaging and modern proposal to learn how to program

The libraryLogo was based on Lisp. We use Python.

20

Page 21: Phogo: A low cost, engaging and modern proposal to learn how to program

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

Page 22: Phogo: A low cost, engaging and modern proposal to learn how to program

22

Some examples• Draw a squarefrom phogo import * def square():

pen_down()i = 1while (i < 5):

right()forward()i = i + 1

• Maze solverfrom phogo import * def right-hand_rule():

if (obstacle() < 10):left()

forward()right-hand_rule()

Page 23: Phogo: A low cost, engaging and modern proposal to learn how to program

Let’s try it!

23

Page 24: Phogo: A low cost, engaging and modern proposal to learn how to program

24

Objectives1. 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.

Page 25: Phogo: A low cost, engaging and modern proposal to learn how to program

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

Page 26: Phogo: A low cost, engaging and modern proposal to learn how to program

26

From this…from phogo import * pen_down() forward() right() forward() right() forward() right() forward() right()

Page 27: Phogo: A low cost, engaging and modern proposal to learn how to program

27

…to thisfrom 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 circulo(): pen_down() veces=1 while veces <= 18: forward(1) right(20) veces=veces+1

circulo()

Page 28: Phogo: A low cost, engaging and modern proposal to learn how to program

28

Page 29: Phogo: A low cost, engaging and modern proposal to learn how to program

29

Page 30: Phogo: A low cost, engaging and modern proposal to learn how to program

30

Page 31: Phogo: A low cost, engaging and modern proposal to learn how to program

31

Page 32: Phogo: A low cost, engaging and modern proposal to learn how to program

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

Page 33: Phogo: A low cost, engaging and modern proposal to learn how to program

Phogo: A low cost, engaging and modern proposal to learn how to program Carlos Gonzalez-Sacristan, Carlos Garcia-Saura, Pablo Molins-Ruano Universidad Autonoma de Madrid

[email protected] – https://github.com/CRM-UAM/Phogo33