250 likes | 338 Views
Business School Computing Division. Colin Price “Learning Programming with Simulated Robots : IDE for Local and Distance (blended) Learning”. Overview of Programming at UCW. Programming. Digital Technologies. X86 assembler. Level 1. VBasic. Digital Tech. FSM. Neural Nets. Level 2.
E N D
Business School Computing Division Colin Price “Learning Programming with Simulated Robots : IDE for Local and Distance (blended) Learning” HEAcademy
Overview of Programming at UCW Programming Digital Technologies X86 assembler Level 1 VBasic Digital Tech. FSM Neural Nets Level 2 “C” OOP VBasic Operating Sys. Multi-tasking Level 3 VBasic Comp. Architecture OOP X86 assembler Concepts and Philo. MSc. RISC assembler FSM OOP Neural Nets HEAcademy
OOP Level 2 & 3 = Java Web Page HEAcademy
Our Integrated Environment Distributed Simulator Simulator Robot mController HEAcademy
Rationale • CS Students may need to learn: • Various programming paradigms • Various programming languages • Operating Systems • Embedded Systems, Control • Artificial Intelligence Simulator Integrated Environment provides unifying thread connecting learning modules. Robot HEAcademy
Characteristics of this IDE • Same souce code runs on Robots as in the Simulator • Robot and Simulator engines ‘isomorphic’ • Same visual Robot World used for all languages (C, Java, FSM, NNet, LISP) • Principal programming paradigm is ‘Concurrent’ • Hardware is cheap, is ‘Industry Standard’ • Situates Computing in broader context of Cognitive Science, Ubiquitous Computing, Social Science HEAcademy
Why program robots? • Commercially viable • Serious promise of AI • Good vehicle for integrated learning of Programming • Analogy of living beings HEAcademy
Human Qualities Cognitive Psychomotoric Affective Acting Thinking Feelings Behaving Knowing Emotions Braitenberg Vehicles HEAcademy
Programming Behaviour Multi-tasking Collide bumper public void collide() { } Searchlight public void searchlight() { } CPU eyes public void wander() { for(;;) { wander_flag = true; wanderOpL = 10; wanderOpR = 10; muMonSleep(500); } } Wander HEAcademy
bumper Avoid s eyes Seek Light s Wander s Motors Combining Behaviours Subsumption (Brookes) Schemas (Arkin) HEAcademy
mRobot Demo HEAcademy
Approaches to Learning Programming Other important paradigms Deploying this Environment FSM • Year 1 students • FSM, Neural Nets • Year 2 students • Multitasking OS • Year 3 students • FSM, Neural Nets NNet HEAcademy
Finite State Machine Paradigm FSM Table Robot World HEAcademy
Neural Net Tool L Training Set Learned Controller R eyes motors HEAcademy
NNet Demo HEAcademy
Physical “mRobot” HEAcademy
OS Teaching Board RS 232 http://www.keil.com/ MBC900 Philips 89LPC932 HEAcademy
Pedagogical Dimension • Rapid, efficient, visual, fun learning to program • Skills transferable: ‘C’ and ‘Java’; 3 program constructs • Programming for action, interaction • Unrolling the constraints of the IDE, discover OO paradigm • Application of physics and math • Links between artificial and natural systems HEAcademy
ID ID Distributed Version • one student one robot • tutor selects robot world • chat area • self-organization ? chat HEAcademy
Pedagogy of Distributed System • Collaborative learning by common goal • Peer evaluation of programming success • Peer negotiation of tasks to meet learning outcomes • ? Formation of ad hoc learning groups • ? Management of ad hoc learning groups • ? Monitoring of individuals’ learning within groups HEAcademy
Structure of Distributed System Student (client) Tutor (client) Server controller code Server maintains lists javac engine chat Info xfer via RMI calls HEAcademy
Current Applications • ODEs Solver • Digital Simulator • Robot Programming 1 2 3 HEAcademy
Future – Agent Technology Java Applet Java Applet Java Applet Java RMI Server Java Servlet Students (client) Tutor (client) Server Java Agent Java Agent Java Agent Role of Agents : • negotiate formation of learning groups • monitor dynamics of groups • pedagogic – adapt learning materials (a)synchronous HEAcademy
Summary • Provides integration of programming effort • Multi-language ( “C”, “Java”) • Multi-paradigm: Concurrent, Procedural, FSM, NNet, Agent • Generalisable: Replace Robot with Atoms • Pedagogically interesting: Formation and Management of learning groups • Situates Computing in broader context of Cognitive Science, Ubiquitous Computing, Social Science, Philosophy, … HEAcademy
Acknowledgements Support Received from http://www.keil.com/ Hitex Ltd.Warwick University, Science Park Coventry CV4 7EZ http://www.hitex.co.uk HEAcademy