Title: Business School Computing Division
1Business School Computing Division
Colin Price Learning Programming with
Simulated Robots IDE for Local and Distance
(blended) Learning
2Overview of Programming at UCW
Programming
Digital Technologies
X86 assembler
Level 1
VBasic
Digital Tech.
FSM
Neural Nets
Level 2
C
VBasic
OOP
Operating Sys.
Multi-tasking
Level 3
VBasic
Comp. Architecture
OOP
X86 assembler
Concepts and Philo.
MSc.
RISC assembler
FSM
OOP
Neural Nets
3OOP Level 2 3 Java
Web Page
4Our Integrated Environment
Distributed Simulator
Simulator
Robot
mController
5Rationale
- 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
6Characteristics 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
7Why program robots?
- Commercially viable
- Serious promise of AI
- Good vehicle for integrated learning of
Programming - Analogy of living beings
8Human Qualities
Cognitive
Affective
Psychomotoric
Acting
Thinking
Feelings
Behaving
Knowing
Emotions
Braitenberg Vehicles
9Programming 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
10Combining Behaviours
Subsumption (Brookes) Schemas (Arkin)
11mRobot Demo
12Approaches 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
13Finite State Machine Paradigm
FSM Table
Robot World
14Neural Net Tool
L
Training Set
Learned Controller
R
eyes
motors
15NNet Demo
16Physical mRobot
17OS Teaching Board
RS 232
http//www.keil.com/
MBC900 Philips 89LPC932
18Pedagogical 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
19Distributed Version
- one student one robot
- tutor selects robot world
- chat area
- self-organization ?
chat
20Pedagogy 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
21Structure of Distributed System
Student (client)
Tutor (client)
Server
controller code
Server maintains lists
javac
engine
chat
Info xfer via RMI calls
22Current Applications
- ODEs Solver
- Digital Simulator
- Robot Programming
1
2
3
23Future Agent Technology
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
24Summary
- 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,
25Acknowledgements
Support Received from
http//www.keil.com/
Hitex Ltd.Warwick University, Science Park
Coventry CV4 7EZ
http//www.hitex.co.uk