1 / 59

Robots can make Computer Science Education Personal

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.

quanda
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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Robots can make Computer Science Education Personal Douglas Blank Computer Science Bryn Mawr College Bryn Mawr College Institute for Personal Robots in Education

  2. Overview • Who am I? • What am I doing? • How am I going to do that? Bryn Mawr College Institute for Personal Robots in Education

  3. Overview • Who am I? • What am I doing? • How am I going to do that? Bryn Mawr College Institute for Personal Robots in Education

  4. Bryn Mawr College Computer Science Deepak Kumar Dianna Xu Doug Blank Bryn Mawr College Institute for Personal Robots in Education

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

  6. Overview • Who am I? • What am I doing? • How am I going to do that? Bryn Mawr College Institute for Personal Robots in Education

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

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

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

  10. Robots Gone Berserk Bryn Mawr College Institute for Personal Robots in Education

  11. Overview • Who am I? • What am I doing? • How am I going to do that? Bryn Mawr College Institute for Personal Robots in Education

  12. Need a Robot Bryn Mawr College Institute for Personal Robots in Education

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

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

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

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

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

  18. “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

  19. Servers: Robots and Simulators Bryn Mawr College Institute for Personal Robots in Education

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

  21. Can run the same control programs Bryn Mawr College Institute for Personal Robots in Education

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

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

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

  25. By any measure, we’re failing Bryn Mawr College Institute for Personal Robots in Education

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

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

  28. A Challenge How would you change CS education, if you were given a million dollars? Bryn Mawr College Institute for Personal Robots in Education

  29. Personal Robot robot.turnLeft(.5) robot.speak(“Hello”) Gyro running Myro Bryn Mawr College Institute for Personal Robots in Education

  30. CS1: Introduction to Computing Bryn Mawr College Institute for Personal Robots in Education

  31. CS2: Data Structures Bryn Mawr College Institute for Personal Robots in Education

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

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

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

  35. Prototypes Bluetooth Serial Transmitter/ Receiver Myro USB Bluetooth Dongle Bryn Mawr College Institute for Personal Robots in Education

  36. Parallax Scribbler Bryn Mawr College Institute for Personal Robots in Education

  37. Parallax Scribbler Bryn Mawr College Institute for Personal Robots in Education

  38. IPRE Robot Kit Bryn Mawr College Institute for Personal Robots in Education

  39. Scribblers: Day 1 Bryn Mawr College Institute for Personal Robots in Education

  40. Editing Environment (IDLE) Bryn Mawr College Institute for Personal Robots in Education

  41. More on Myro • Pyro • Functions • Objects • Movement • Sensing • Sounds • IM • Future Myro Bryn Mawr College Institute for Personal Robots in Education

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

  43. SimScribbler Bryn Mawr College Institute for Personal Robots in Education

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

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

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

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

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

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

  50. Chat (IM) Interface c1 = Chat(“sarah”, “password”) c2 = Chat(“joe”, “sEcrEt”) c1.send(“joe”, “Hi, what’s up?”) c2.receive() [(‘sara@myro.roboteducation.org', ‘Hi, what’s up?')] Bryn Mawr College Institute for Personal Robots in Education

More Related