Robots can make computer science education personal l.jpg
This presentation is the property of its rightful owner.
Sponsored Links
1 / 59

Robots can make Computer Science Education Personal PowerPoint PPT Presentation


  • 89 Views
  • Uploaded on
  • Presentation posted in: General

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.

Download Presentation

Robots can make Computer Science Education Personal

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 l.jpg

Robots can make Computer Science Education Personal

Douglas Blank

Computer Science

Bryn Mawr College

Bryn Mawr College

Institute for Personal Robots in Education


Overview l.jpg

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 l.jpg

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 l.jpg

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 l.jpg

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 l.jpg

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 l.jpg

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 l.jpg

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 l.jpg

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 l.jpg

Robots Gone Berserk

Bryn Mawr College

Institute for Personal Robots in Education


Overview11 l.jpg

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 l.jpg

Need a Robot

Bryn Mawr College

Institute for Personal Robots in Education


Need help l.jpg

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 l.jpg

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 l.jpg

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 l.jpg

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 l.jpg

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 l.jpg

“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 l.jpg

Servers: Robots and Simulators

Bryn Mawr College

Institute for Personal Robots in Education


Brain a pyro control program l.jpg

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 l.jpg

Can run the same control programs

Bryn Mawr College

Institute for Personal Robots in Education


Pyro python robotics l.jpg

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 l.jpg

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 l.jpg

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 l.jpg

By any measure, we’re failing

Bryn Mawr College

Institute for Personal Robots in Education


Robots could help l.jpg

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 l.jpg

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 l.jpg

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 l.jpg

Personal Robot

robot.turnLeft(.5)

robot.speak(“Hello”)

Gyro running Myro

Bryn Mawr College

Institute for Personal Robots in Education


Cs1 introduction to computing l.jpg

CS1: Introduction to Computing

Bryn Mawr College

Institute for Personal Robots in Education


Cs2 data structures l.jpg

CS2: Data Structures

Bryn Mawr College

Institute for Personal Robots in Education


Approach l.jpg

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 l.jpg

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 l.jpg

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 l.jpg

Prototypes

Bluetooth

Serial

Transmitter/

Receiver

Myro

USB Bluetooth

Dongle

Bryn Mawr College

Institute for Personal Robots in Education


Parallax scribbler l.jpg

Parallax Scribbler

Bryn Mawr College

Institute for Personal Robots in Education


Parallax scribbler37 l.jpg

Parallax Scribbler

Bryn Mawr College

Institute for Personal Robots in Education


Ipre robot kit l.jpg

IPRE Robot Kit

Bryn Mawr College

Institute for Personal Robots in Education


Scribblers day 1 l.jpg

Scribblers: Day 1

Bryn Mawr College

Institute for Personal Robots in Education


Editing environment idle l.jpg

Editing Environment (IDLE)

Bryn Mawr College

Institute for Personal Robots in Education


More on myro l.jpg

More on Myro

  • Pyro

  • Functions

  • Objects

  • Movement

  • Sensing

  • Sounds

  • IM

  • Future Myro

Bryn Mawr College

Institute for Personal Robots in Education


Myro first steps l.jpg

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 l.jpg

SimScribbler

Bryn Mawr College

Institute for Personal Robots in Education


Functional interface movement l.jpg

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 l.jpg

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 l.jpg

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 l.jpg

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 l.jpg

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 l.jpg

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 l.jpg

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 l.jpg

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 l.jpg

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 l.jpg

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 l.jpg

Back to Karel the Robot?

Bryn Mawr College

Institute for Personal Robots in Education


Modeling animals l.jpg

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 l.jpg

Connections to Biology and Psychology

Bryn Mawr College

Institute for Personal Robots in Education


Summary l.jpg

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 l.jpg

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 l.jpg

Further information

  • www.roboteducation.org

    • blog.roboteducation.org

    • wiki.roboteducation.org

Bryn Mawr College

Institute for Personal Robots in Education


  • Login