robots can make computer science education personal
Download
Skip this Video
Download Presentation
Robots can make Computer Science Education Personal

Loading in 2 Seconds...

play fullscreen
1 / 59

Robots can make Computer Science Education Personal - PowerPoint PPT Presentation


  • 130 Views
  • Uploaded on

Robots can make Computer Science Education Personal. Douglas Blank Computer Science Bryn Mawr College. Overview. Who am I? What am I doing? How am I going to do that?. Overview. Who am I? What am I doing? How am I going to do that?. Bryn Mawr College Computer Science. Deepak Kumar.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Robots can make Computer Science Education Personal' - quanda


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
robots can make computer science education personal

Robots can make Computer Science Education Personal

Douglas Blank

Computer Science

Bryn Mawr College

Bryn Mawr College

Institute for Personal Robots in Education

overview
Overview
  • Who am I?
  • What am I doing?
  • How am I going to do that?

Bryn Mawr College

Institute for Personal Robots in Education

overview3
Overview
  • Who am I?
  • What am I doing?
  • How am I going to do that?

Bryn Mawr College

Institute for Personal Robots in Education

bryn mawr college computer science
Bryn Mawr College Computer Science

Deepak Kumar

Dianna Xu

Doug Blank

Bryn Mawr College

Institute for Personal Robots in Education

bryn mawr college computer science5
Bryn Mawr College Computer Science
  • Small, all women’s liberal arts college outside Philadelphia
  • CS is newest major
  • Computational Methods Minor
  • 1 - 5 Majors, Minors each year

Bryn Mawr College

Institute for Personal Robots in Education

overview6
Overview
  • Who am I?
  • What am I doing?
  • How am I going to do that?

Bryn Mawr College

Institute for Personal Robots in Education

what am i doing
What am I doing?
  • Would like to create an artificial intelligence
  • Needs a body, a physical presence
  • And a whole lot of learning
  • And a desire to learnDevelopmental Robotics

Bryn Mawr College

Institute for Personal Robots in Education

developmental robotics
What is thought?

What is consciousness?

What drives a system to want to learn?

How can we create such a system?

Developmental Robotics

Bryn Mawr College

Institute for Personal Robots in Education

developmental robotics9
Developmental Robotics
  • I believe in strong AI
  • Such an intelligence may be quite different from our own
  • Will probably be as complex as our own intelligence, and just as hard to figure out how it works
  • Will lead to conscious systems, within 50 years

Bryn Mawr College

Institute for Personal Robots in Education

robots gone berserk
Robots Gone Berserk

Bryn Mawr College

Institute for Personal Robots in Education

overview11
Overview
  • Who am I?
  • What am I doing?
  • How am I going to do that?

Bryn Mawr College

Institute for Personal Robots in Education

need a robot
Need a Robot

Bryn Mawr College

Institute for Personal Robots in Education

need help
How can we explore such ideas, given that most of our students are just now encountering CS and robotics?Need Help

Bryn Mawr College

Institute for Personal Robots in Education

need help14
How can we explore such ideas, given that most of our students are just now encountering CS and robotics?

Make them accessible.

Need Help

Bryn Mawr College

Institute for Personal Robots in Education

slide15
Pyro
  • Code for exploring robotics and AI, written in Python
  • GUI, libraries, abstractions, and collection of teaching materials
  • Robot, Device, OS, and Paradigm independent
  • Designed for beginning AI students to jump-right-in, but to also pedagogically scale as the user gains experience
  • A community of users, teachers and students

Bryn Mawr College

Institute for Personal Robots in Education

python
Python
  • Looks like pseudo-code
  • Indentation matters
  • Object system built on top of functions
  • Support for functional programming
  • Large collection of libraries
  • Interactive
  • Can be easily integrated with other low-level languages

Bryn Mawr College

Institute for Personal Robots in Education

slide17

Pyro is the software component of a recently completed NSF grant, “Beyond LEGOs: Hardware, Software, and Curriculum for the Next Generation Robot Laboratory”

Douglas Blank, Bryn Mawr College

Deepak Kumar, Bryn Mawr College

Lisa Meeden, Swarthmore College

Holly Yanco, University of Massachusetts Lowell

Pyro

Bryn Mawr College

Institute for Personal Robots in Education

pythons all the way down
“Pythons all the way down”
  • GUI (Tkinter)
    • Graphs, plots, bar charts, other visualizations
  • Libraries and modules
    • Neural networks, self-organizing map, backpropagation of error, genetic algorithm, genetic programming, mapping, RL, etc.
  • Vision interface
    • Display, and filter application
  • Complete Simulator
    • Sonar, Gripper, Camera, Lights, Bulbs, 2D/3D

Bryn Mawr College

Institute for Personal Robots in Education

servers robots and simulators
Servers: Robots and Simulators

Bryn Mawr College

Institute for Personal Robots in Education

brain a pyro control program

from pyrobot.brain import Brain

class Avoid(Brain):

def step(self):

self.robot.move(1, 0)

def INIT(engine):

return Avoid(\'My Avoid Brain\', engine)

Brain: A Pyro Control Program

Bryn Mawr College

Institute for Personal Robots in Education

can run the same control programs
Can run the same control programs

Bryn Mawr College

Institute for Personal Robots in Education

pyro python robotics
Pyro, Python Robotics
  • http://PyroRobotics.org
  • Designed for advanced CS students
  • Ability to do PhD topics easily as senior projects
  • Modules for exploring many topics in AI and cognitive science
  • Not appropriate for CS1

Bryn Mawr College

Institute for Personal Robots in Education

microsoft s educational robot initiative
Microsoft’s Educational Robot Initiative
  • Develop an institute to explore robots and education
  • Develop curricular materials for introductory computing courses
  • Make them accessible
  • Make them appeal to a broad range of students

Bryn Mawr College

Institute for Personal Robots in Education

commission on professionals in science and technology
Commission on Professionals in Science and Technology

“In computer science, the percentage of jobs held by women … was lower at the end of the 20 year period than it was in 1983.  [Things were so bad] that even while women’s share of these jobs was declining, their absolute numbers continued to increase through the year 2000, but then started to decline.”

Bryn Mawr College

Institute for Personal Robots in Education

by any measure we re failing
By any measure, we’re failing

Bryn Mawr College

Institute for Personal Robots in Education

robots could help
Robots could help?
  • Provides motivation to learn CS
  • We had a better programming environment for beginning students
  • Experience with making advanced robotics accessible
  • Yes, Person Robots could help make CS personal

Bryn Mawr College

Institute for Personal Robots in Education

institute for personal robots in education
Institute for Personal Robots in Education
  • Begun July, 2006 from a $1 million grant from Microsoft Research
  • Apply the philosophy of making computer science relevant and accessible to CS101
  • Develop a robot, software, and curricular materials for CS1 and CS2
  • Foster the trend of putting the liberal arts into engineering and technology-related fields

Bryn Mawr College

Institute for Personal Robots in Education

a challenge
A Challenge

How would you change CS education, if you were given a million dollars?

Bryn Mawr College

Institute for Personal Robots in Education

personal robot
Personal Robot

robot.turnLeft(.5)

robot.speak(“Hello”)

Gyro running Myro

Bryn Mawr College

Institute for Personal Robots in Education

cs1 introduction to computing
CS1: Introduction to Computing

Bryn Mawr College

Institute for Personal Robots in Education

cs2 data structures
CS2: Data Structures

Bryn Mawr College

Institute for Personal Robots in Education

approach
Approach
  • Robotics and computing interleaved.
    • Robotics serves as the motivating context for the computing.
      • To improve transfer
      • To demonstrate relevance
  • Start with the Project
    • What can we ask students to do that they will find motivating and relevant?
    • Then, what computing do we need (and in what order) to achieve that project?

Bryn Mawr College

Institute for Personal Robots in Education

15 chapter week outline
15 Chapter/Week Outline
  • Chapter 1 The World of Robots
  • Chapter 2 Robots: Personal or Otherwise
  • Chapter 3 Sensing the World
  • Chapter 4 Making Decisions
  • Chapter 5 Behaviors
  • Chapter 6 Control Paradigms
  • Chapter 7 Making Music
  • Chapter 8 Communication
  • Chapter 9 Artificial Intelligence
  • Chapter 10 Computing & Computation
  • Chapter 11 Games: Soccer anyone?
  • Chapter 12 Social Robots & Entertainment
  • Chapter 13 Swarms
  • Chapter 14 Robot Ethics
  • Chapter 15 Smart Appliances

Bryn Mawr College

Institute for Personal Robots in Education

myro pyro reloaded
Myro: Pyro, Reloaded
  • Implemented in .NET
  • Use IronPython, but be language agnostic
  • Simplified framework (“zero mystery”)
  • Rework everything (including C++ code) into a single framework
  • Sophisticated, yet extensible simulator
  • Standardized protocols between levels
  • Remain compatible with advanced robots and simulators

Bryn Mawr College

Institute for Personal Robots in Education

prototypes
Prototypes

Bluetooth

Serial

Transmitter/

Receiver

Myro

USB Bluetooth

Dongle

Bryn Mawr College

Institute for Personal Robots in Education

parallax scribbler
Parallax Scribbler

Bryn Mawr College

Institute for Personal Robots in Education

parallax scribbler37
Parallax Scribbler

Bryn Mawr College

Institute for Personal Robots in Education

ipre robot kit
IPRE Robot Kit

Bryn Mawr College

Institute for Personal Robots in Education

scribblers day 1
Scribblers: Day 1

Bryn Mawr College

Institute for Personal Robots in Education

editing environment idle
Editing Environment (IDLE)

Bryn Mawr College

Institute for Personal Robots in Education

more on myro
More on Myro
  • Pyro
  • Functions
  • Objects
  • Movement
  • Sensing
  • Sounds
  • IM
  • Future Myro

Bryn Mawr College

Institute for Personal Robots in Education

myro first steps
Myro, First Steps

>>> from myro import *

Myro, (c) 2006 Institute for Personal Robots in Education

[See http://www.roboteducation.org/ for more information]

Version 0.8.0, Revision 1.80, ready!

>>> robot = Scribbler(“com4”)

Waking robot from sleep...

Hello, I\'m Scribby!

>>> robot.beep(1, 800)

>>> robot.joyStick()

>>> ^D

Bryn Mawr College

Institute for Personal Robots in Education

simscribbler
SimScribbler

Bryn Mawr College

Institute for Personal Robots in Education

functional interface movement
Functional Interface: Movement

initialize(“com4”)

turnLeft(value)

turnRight(value)

forward(value)

backward(value)

stop()

# values are between 0 and 1

Bryn Mawr College

Institute for Personal Robots in Education

object interface movement
Object Interface: Movement

robot = Scribbler(“com4”)

robot = SimScribbler()

robot.turnLeft(value)

robot.turnRight(value)

robot.forward(value)

robot.backward(value)

robot.stop()

Bryn Mawr College

Institute for Personal Robots in Education

movement interface advanced
Movement Interface, Advanced

translate(value)

rotate(value)

move(tvalue, rvalue)

robot.translate(value)

robot.rotate(value)

move(tvalue, rvalue)

# values are between -1 and 1

Bryn Mawr College

Institute for Personal Robots in Education

functional interface sensors
Functional Interface: Sensors

getLight(position)

getLine(position)

getStall()

getIR(position)

getInfo() # returns dictionary

getAll() # returns dictionary

get(item, position)

get(“light”, “left”)

get(“stall”)

Bryn Mawr College

Institute for Personal Robots in Education

functional interface sounds
Functional Interface: Sounds

beep(duration, freq1)

beep(duration, freq1, freq2)

speak(“Hello world!”)

getVoices()

setVoice(“Fred”)

Bryn Mawr College

Institute for Personal Robots in Education

object interface sounds
Object Interface: Sounds

robot.beep(duration, freq1)

computer.beep(duration, freq1)

computer.speak(“Hello world!”)

computer.getVoices()

computer.setVoice(“Fred”)

s1 = makeSong(“a5 1; b5 .5; c5 .5”)

s2 = makeSong(“a5 a4 1; c4 c#4 1;”)

robot.playSong(s1)

robot.playSong(s2)

Bryn Mawr College

Institute for Personal Robots in Education

chat im interface
Chat (IM) Interface

c1 = Chat(“sarah”, “password”)

c2 = Chat(“joe”, “sEcrEt”)

c1.send(“joe”, “Hi, what’s up?”)

c2.receive()

[(‘[email protected]\', ‘Hi, what’s up?\')]

Bryn Mawr College

Institute for Personal Robots in Education

chat robot remote control
Chat Robot Remote Control

>>> robot = Scribbler()

>>> robot.setName(“Arnold”)

>>> robot.initializeRemoteControl("mypassword")

>>> robot.processRemoteControlLoop()

# on a computer, far, far away:

>>> chat = Chat("myname", “passwerd")

>>> chat.send(“Arnold", "robot.turnLeft(.4)")

>>> chat.receive()

Bryn Mawr College

Institute for Personal Robots in Education

reading the light sensors
Reading the Light Sensors

robot.getLight(“left”)

robot.getLight(“center”)

robot.getLight(“right”)

robot.getLight()

[657, 1453, 1025]

Light sensors

Bryn Mawr College

Institute for Personal Robots in Education

security guard
Security Guard

from myro import *

robot = Scribbler()

vals = [0 for i in range(100)]

# calibration:

for i in range(100):

vals[i] = robot.get("light", "left")

avg = sum(vals)/100.0 # securing perimeter!

# within some tolerance

while abs(robot.get("light", "left") - avg) < 50:

wait(1)

# intruder alert!

while 1:

robot.beep(1, 1000)

robot.beep(1, 500)

Bryn Mawr College

Institute for Personal Robots in Education

back to karel the robot
Back to Karel the Robot?

Bryn Mawr College

Institute for Personal Robots in Education

modeling animals
Modeling Animals
  • How do animals sense light?
  • Why do moths move to the light?
    • How do they know which way to turn to get there?
  • Let’s model light-seeking behavior

Bryn Mawr College

Institute for Personal Robots in Education

connections to biology and psychology
Connections to Biology and Psychology

Bryn Mawr College

Institute for Personal Robots in Education

summary
Summary

The IPRE hopes to support all robot-related educational activities, especially those appropriate for introductory courses that appeal to the non-traditional computing populations…

Bryn Mawr College

Institute for Personal Robots in Education

summary58
Summary

The IPRE hopes to support all robot-related educational activities, especially those appropriate for introductory courses that appeal to the non-traditional computing populations… so that we can make conscious robots

Bryn Mawr College

Institute for Personal Robots in Education

further information
Further information
  • www.roboteducation.org
    • blog.roboteducation.org
    • wiki.roboteducation.org

Bryn Mawr College

Institute for Personal Robots in Education

ad