SlideShare a Scribd company logo
1 of 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
0
1
2
3
4
Learn to program?
Why bother?
5
Phogo: Logo + Python
“Good artists copy, great artists steal”
Pablo Picasso
6
7
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
New possibilities
Some things have change since the 70’s
9
What we have now
• Cheap and accessible electronics
• Arduino
• Python
• Domestic 3D printers
10
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
12
13
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
The Tortoise
Logo got the Turtle. We got a Tortoise.
15
Phogo’s
Tortoise
(early prototype)
16
$81
New version:
$30
Stay tuned.
17
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
The library
Logo was based on Lisp. We use Python.
19
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
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
Let’s try it!
22
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
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
From this…
from phogo import *
pen_down()
forward()
right()
forward()
right()
forward()
right()
forward()
right()
25
…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
27
28
29
30
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
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

More Related Content

Viewers also liked

Viewers also liked (8)

Relationship of knowledge to learn in programming methodology and evaluation ...
Relationship of knowledge to learn in programming methodology and evaluation ...Relationship of knowledge to learn in programming methodology and evaluation ...
Relationship of knowledge to learn in programming methodology and evaluation ...
 
From computational thinking to coding and back
From computational thinking to coding and backFrom computational thinking to coding and back
From computational thinking to coding and back
 
A survey of resources for introducing coding into schools
A survey of resources for introducing coding into schoolsA survey of resources for introducing coding into schools
A survey of resources for introducing coding into schools
 
Students’ expectations analysis before and after a curricular internship
Students’ expectations analysis before and after a curricular internshipStudents’ expectations analysis before and after a curricular internship
Students’ expectations analysis before and after a curricular internship
 
Student2student: Arduino Project-based Learning
Student2student: Arduino Project-based LearningStudent2student: Arduino Project-based Learning
Student2student: Arduino Project-based Learning
 
Design of Sustainable Domes in the Context of EPS@ISEP
Design of Sustainable Domes in the Context of EPS@ISEPDesign of Sustainable Domes in the Context of EPS@ISEP
Design of Sustainable Domes in the Context of EPS@ISEP
 
Smart Textile objects and conductible ink as a context for arts based teachin...
Smart Textile objects and conductible ink as a context for arts based teachin...Smart Textile objects and conductible ink as a context for arts based teachin...
Smart Textile objects and conductible ink as a context for arts based teachin...
 
Academic performance correlation with the qualification of Final Projects in ...
Academic performance correlation with the qualification of Final Projects in ...Academic performance correlation with the qualification of Final Projects in ...
Academic performance correlation with the qualification of Final Projects in ...
 

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

Py4 inf 01-intro
Py4 inf 01-introPy4 inf 01-intro
Py4 inf 01-introIshaq Ali
 
Travis Oliphant "Python for Speed, Scale, and Science"
Travis Oliphant "Python for Speed, Scale, and Science"Travis Oliphant "Python for Speed, Scale, and Science"
Travis Oliphant "Python for Speed, Scale, and Science"Fwdays
 
Python Seminar PPT
Python Seminar PPTPython Seminar PPT
Python Seminar PPTShivam Gupta
 
python-160403194316.pdf
python-160403194316.pdfpython-160403194316.pdf
python-160403194316.pdfgmadhu8
 
Pharo Consortium: A roadmap to solid evolution
Pharo Consortium: A roadmap to solid evolutionPharo Consortium: A roadmap to solid evolution
Pharo Consortium: A roadmap to solid evolutionESUG
 
Pharo: A roadmap to solid evolution.
Pharo: A roadmap to solid evolution.Pharo: A roadmap to solid evolution.
Pharo: A roadmap to solid evolution.Esteban Lorenzano
 
W1-Intro to python.pptx
W1-Intro to python.pptxW1-Intro to python.pptx
W1-Intro to python.pptxNaziaPerwaiz2
 
Apresentação - Minicurso de Introdução a Python, Data Science e Machine Learning
Apresentação - Minicurso de Introdução a Python, Data Science e Machine LearningApresentação - Minicurso de Introdução a Python, Data Science e Machine Learning
Apresentação - Minicurso de Introdução a Python, Data Science e Machine LearningArthur Emanuel
 
Array computing and the evolution of SciPy, NumPy, and PyData
Array computing and the evolution of SciPy, NumPy, and PyDataArray computing and the evolution of SciPy, NumPy, and PyData
Array computing and the evolution of SciPy, NumPy, and PyDataTravis Oliphant
 
What is Python? An overview of Python for science.
What is Python? An overview of Python for science.What is Python? An overview of Python for science.
What is Python? An overview of Python for science.Nicholas Pringle
 
Python and its Applications
Python and its ApplicationsPython and its Applications
Python and its ApplicationsAbhijeet Singh
 
Pythonanditsapplications 161121160425
Pythonanditsapplications 161121160425Pythonanditsapplications 161121160425
Pythonanditsapplications 161121160425Sapna Tyagi
 
PyCon2022 - Building Python Extensions
PyCon2022 - Building Python ExtensionsPyCon2022 - Building Python Extensions
PyCon2022 - Building Python ExtensionsHenry Schreiner
 

Similar to Phogo: A low cost, engaging and modern proposal to learn how to program (20)

Py4 inf 01-intro
Py4 inf 01-introPy4 inf 01-intro
Py4 inf 01-intro
 
Travis Oliphant "Python for Speed, Scale, and Science"
Travis Oliphant "Python for Speed, Scale, and Science"Travis Oliphant "Python for Speed, Scale, and Science"
Travis Oliphant "Python for Speed, Scale, and Science"
 
Python
PythonPython
Python
 
Python Seminar PPT
Python Seminar PPTPython Seminar PPT
Python Seminar PPT
 
python-160403194316.pdf
python-160403194316.pdfpython-160403194316.pdf
python-160403194316.pdf
 
python into.pptx
python into.pptxpython into.pptx
python into.pptx
 
Pharo Consortium: A roadmap to solid evolution
Pharo Consortium: A roadmap to solid evolutionPharo Consortium: A roadmap to solid evolution
Pharo Consortium: A roadmap to solid evolution
 
Pharo: A roadmap to solid evolution.
Pharo: A roadmap to solid evolution.Pharo: A roadmap to solid evolution.
Pharo: A roadmap to solid evolution.
 
PySide
PySidePySide
PySide
 
W1-Intro to python.pptx
W1-Intro to python.pptxW1-Intro to python.pptx
W1-Intro to python.pptx
 
py4inf-01-intro.ppt
py4inf-01-intro.pptpy4inf-01-intro.ppt
py4inf-01-intro.ppt
 
Apresentação - Minicurso de Introdução a Python, Data Science e Machine Learning
Apresentação - Minicurso de Introdução a Python, Data Science e Machine LearningApresentação - Minicurso de Introdução a Python, Data Science e Machine Learning
Apresentação - Minicurso de Introdução a Python, Data Science e Machine Learning
 
Array computing and the evolution of SciPy, NumPy, and PyData
Array computing and the evolution of SciPy, NumPy, and PyDataArray computing and the evolution of SciPy, NumPy, and PyData
Array computing and the evolution of SciPy, NumPy, and PyData
 
What is Python? An overview of Python for science.
What is Python? An overview of Python for science.What is Python? An overview of Python for science.
What is Python? An overview of Python for science.
 
Python and its Applications
Python and its ApplicationsPython and its Applications
Python and its Applications
 
Pythonanditsapplications 161121160425
Pythonanditsapplications 161121160425Pythonanditsapplications 161121160425
Pythonanditsapplications 161121160425
 
The Python Workshop.pdf
The Python Workshop.pdfThe Python Workshop.pdf
The Python Workshop.pdf
 
05 python.pdf
05 python.pdf05 python.pdf
05 python.pdf
 
PyCon2022 - Building Python Extensions
PyCon2022 - Building Python ExtensionsPyCon2022 - Building Python Extensions
PyCon2022 - Building Python Extensions
 
Why learn python in 2017?
Why learn python in 2017?Why learn python in 2017?
Why learn python in 2017?
 

More from Technological Ecosystems for Enhancing Multiculturality

More from Technological Ecosystems for Enhancing Multiculturality (20)

A Preliminary Study of Proof of Concept Practices and their connection with I...
A Preliminary Study of Proof of Concept Practices and their connection with I...A Preliminary Study of Proof of Concept Practices and their connection with I...
A Preliminary Study of Proof of Concept Practices and their connection with I...
 
Social networks as a promotional space for Spanish radio content. The case st...
Social networks as a promotional space for Spanish radio content. The case st...Social networks as a promotional space for Spanish radio content. The case st...
Social networks as a promotional space for Spanish radio content. The case st...
 
Towards the study of sentiment in the public opinion of science in Spanish
Towards the study of sentiment in the public opinion of science in SpanishTowards the study of sentiment in the public opinion of science in Spanish
Towards the study of sentiment in the public opinion of science in Spanish
 
A Three-Step Data-Mining Analysis of Top-Ranked Higher Education Institutions...
A Three-Step Data-Mining Analysis of Top-Ranked Higher Education Institutions...A Three-Step Data-Mining Analysis of Top-Ranked Higher Education Institutions...
A Three-Step Data-Mining Analysis of Top-Ranked Higher Education Institutions...
 
Specifics of multimedia texts in the context of social networks media aesthetics
Specifics of multimedia texts in the context of social networks media aestheticsSpecifics of multimedia texts in the context of social networks media aesthetics
Specifics of multimedia texts in the context of social networks media aesthetics
 
Combined Effects of Similarity and Imagined Contact on First-Person Testimoni...
Combined Effects of Similarity and Imagined Contact on First-Person Testimoni...Combined Effects of Similarity and Imagined Contact on First-Person Testimoni...
Combined Effects of Similarity and Imagined Contact on First-Person Testimoni...
 
Direct online political communication effects on civil participation in spain...
Direct online political communication effects on civil participation in spain...Direct online political communication effects on civil participation in spain...
Direct online political communication effects on civil participation in spain...
 
University Media in Ecuador: Types, Functions and Self-determination
University Media in Ecuador: Types, Functions and Self-determinationUniversity Media in Ecuador: Types, Functions and Self-determination
University Media in Ecuador: Types, Functions and Self-determination
 
Like it or die: using social networks to improve collaborative learning in hi...
Like it or die: using social networks to improve collaborative learning in hi...Like it or die: using social networks to improve collaborative learning in hi...
Like it or die: using social networks to improve collaborative learning in hi...
 
Framing theory in studies of environmental information in press
Framing theory in studies of environmental information in pressFraming theory in studies of environmental information in press
Framing theory in studies of environmental information in press
 
Domain engineering for generating dashboards to analyze employment and employ...
Domain engineering for generating dashboards to analyze employment and employ...Domain engineering for generating dashboards to analyze employment and employ...
Domain engineering for generating dashboards to analyze employment and employ...
 
Mapping the systematic literature studies about software ecosystems
Mapping the systematic literature studies about software ecosystemsMapping the systematic literature studies about software ecosystems
Mapping the systematic literature studies about software ecosystems
 
Tag-Based Browsing of Digital Collections with Inverted Indexes and Browsing ...
Tag-Based Browsing of Digital Collections with Inverted Indexes and Browsing ...Tag-Based Browsing of Digital Collections with Inverted Indexes and Browsing ...
Tag-Based Browsing of Digital Collections with Inverted Indexes and Browsing ...
 
A Multivocal Literature Review on the use of DevOps for e-learning systems
A Multivocal Literature Review on the use of DevOps for e-learning systemsA Multivocal Literature Review on the use of DevOps for e-learning systems
A Multivocal Literature Review on the use of DevOps for e-learning systems
 
Document Annotation Tools: Annotation Classification Mechanisms
Document Annotation Tools: Annotation Classification MechanismsDocument Annotation Tools: Annotation Classification Mechanisms
Document Annotation Tools: Annotation Classification Mechanisms
 
Toward supporting decision-making under uncertainty in digital humanities wit...
Toward supporting decision-making under uncertainty in digital humanities wit...Toward supporting decision-making under uncertainty in digital humanities wit...
Toward supporting decision-making under uncertainty in digital humanities wit...
 
Managing Uncertainty in the Humanities: Digital and Analogue Approaches
Managing Uncertainty in the Humanities: Digital and Analogue ApproachesManaging Uncertainty in the Humanities: Digital and Analogue Approaches
Managing Uncertainty in the Humanities: Digital and Analogue Approaches
 
Representing Imprecise and Uncertain Knowledge in Digital Humanities: A Theor...
Representing Imprecise and Uncertain Knowledge in Digital Humanities: A Theor...Representing Imprecise and Uncertain Knowledge in Digital Humanities: A Theor...
Representing Imprecise and Uncertain Knowledge in Digital Humanities: A Theor...
 
Dotmocracy and Planning Poker for Uncertainty Management in Collaborative Res...
Dotmocracy and Planning Poker for Uncertainty Management in Collaborative Res...Dotmocracy and Planning Poker for Uncertainty Management in Collaborative Res...
Dotmocracy and Planning Poker for Uncertainty Management in Collaborative Res...
 
Applying Commercial Computer Vision Tools to Cope with Uncertainties in a Cit...
Applying Commercial Computer Vision Tools to Cope with Uncertainties in a Cit...Applying Commercial Computer Vision Tools to Cope with Uncertainties in a Cit...
Applying Commercial Computer Vision Tools to Cope with Uncertainties in a Cit...
 

Recently uploaded

1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdfQucHHunhnh
 
Graduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - EnglishGraduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - Englishneillewis46
 
Unit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptxUnit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptxVishalSingh1417
 
ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.MaryamAhmad92
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17Celine George
 
SOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning PresentationSOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning Presentationcamerronhm
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...Nguyen Thanh Tu Collection
 
Towards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxTowards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxJisc
 
Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...Association for Project Management
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxDenish Jangid
 
Salient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functionsSalient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functionsKarakKing
 
Sociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning ExhibitSociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning Exhibitjbellavia9
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxVishalSingh1417
 
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17  How to Extend Models Using Mixin ClassesMixin Classes in Odoo 17  How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17 How to Extend Models Using Mixin ClassesCeline George
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...christianmathematics
 
Single or Multiple melodic lines structure
Single or Multiple melodic lines structureSingle or Multiple melodic lines structure
Single or Multiple melodic lines structuredhanjurrannsibayan2
 
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...ZurliaSoop
 
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptxSKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptxAmanpreet Kaur
 
Google Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptxGoogle Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptxDr. Sarita Anand
 
Vishram Singh - Textbook of Anatomy Upper Limb and Thorax.. Volume 1 (1).pdf
Vishram Singh - Textbook of Anatomy  Upper Limb and Thorax.. Volume 1 (1).pdfVishram Singh - Textbook of Anatomy  Upper Limb and Thorax.. Volume 1 (1).pdf
Vishram Singh - Textbook of Anatomy Upper Limb and Thorax.. Volume 1 (1).pdfssuserdda66b
 

Recently uploaded (20)

1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
 
Graduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - EnglishGraduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - English
 
Unit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptxUnit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptx
 
ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17
 
SOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning PresentationSOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning Presentation
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
 
Towards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxTowards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptx
 
Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
 
Salient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functionsSalient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functions
 
Sociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning ExhibitSociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning Exhibit
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptx
 
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17  How to Extend Models Using Mixin ClassesMixin Classes in Odoo 17  How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
 
Single or Multiple melodic lines structure
Single or Multiple melodic lines structureSingle or Multiple melodic lines structure
Single or Multiple melodic lines structure
 
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
 
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptxSKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
 
Google Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptxGoogle Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptx
 
Vishram Singh - Textbook of Anatomy Upper Limb and Thorax.. Volume 1 (1).pdf
Vishram Singh - Textbook of Anatomy  Upper Limb and Thorax.. Volume 1 (1).pdfVishram Singh - Textbook of Anatomy  Upper Limb and Thorax.. Volume 1 (1).pdf
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
  • 2. 1
  • 3. 2
  • 4. 3
  • 5. 4
  • 7. Phogo: Logo + Python “Good artists copy, great artists steal” Pablo Picasso 6
  • 8. 7
  • 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
  • 10. New possibilities Some things have change since the 70’s 9
  • 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
  • 13. 12
  • 14. 13
  • 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
  • 16. The Tortoise Logo got the Turtle. We got a Tortoise. 15
  • 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
  • 20. The library Logo was based on Lisp. We use Python. 19
  • 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
  • 28. 27
  • 29. 28
  • 30. 29
  • 31. 30
  • 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

Editor's Notes

  1. Meter logos UAM, TEEM’16
  2. Meter logos UAM, TEEM’16