For Teachers

In early 2018 it became much easier to program the EV3 robot with Python, and therefore it is now much easier to do EV3 Python programming in the classroom. This big step forward is made possible by using the free code editor Microsoft Visual Studio code with the EV3 extension, as is discussed in detail HERE.

Congratulations for having found this page! It means that you are aware, as I am, that EV3 Python is brilliantly situated where the most-taught textual programming language in the world meets the most popular robotic platform in the world. It would be logical for all the schools that teach Python and can afford EV3 kits to be using EV3 Python to spice up their Python classes and to give students some exposure to robotics, a field that is likely to have a huge impact on human society over the coming decades. EV3 Python should be in use in thousands of schools around the world, but this is not YET the case. Until recently EV3dev and EV3dev Python were mainly toys for advanced hackers to play with and therefore the official site ev3dev.org was not very beginner-friendly, but the contributors to that project are becoming aware of the potential of EV3 Python to become popular in education and are rapidly improving their site. In fact several members of the EV3dev team have contributed to a very detailed and worthwhile discussion on Github: Look into options for promoting ev3dev as an educational tool.

I hope that this site ev3python.com can also help EV3 Python to become more widely used in schools. If and when there are signs that EV3 Python is becoming widely used in education then you can expect a robotics curriculum based on EV3 Python to be made available - I may even be willing to work on such a curriculum myself. 

Please remember though that neither this site nor ev3dev.org aim to teach the basics of Python programming - there are already hundreds of websites, books and videos that do that very well (see HERE). Working with EV3 Python is however a brilliant way to get students to practice their Python skills and to simultaneously get exposure to the world of robotics which is destined to have a huge impact on their lives in the near future (see this BBC article, for example, about how robots are expected to replace humans in many common jobs). Not only that, but they will realise that programming robots is a very different experience to writing normal programs because, unlike computers that usually do exactly what they are told, robots never quite do what they are asked to do. For example, a robot vehicle that is supposed to turn 90° right may only turn 85° - it may seem like a small error but such errors can quickly accumulate, sending the robot way off course.  Thus a perfectly written robotics program may actually fail to achieve its objective - a new situation for students. And the sensors that feed information to robots are often not very precise, further adding to the unpredictable and intriguing nature of the interaction between the perfect world of computers and the messiness of the physical world.

If you are not convinced of how important this concept of unpredictable behavior is in the world of robotics, please check out the video below. It shows scenes from a recent competition organised by DARPA, the research arm of the US Army, in which some very expensive, state-of-the-art humanoid robots attempt to complete a sequence of simple human-like tasks such as driving a vehicle and opening a door...

See my robotics site, mind-storms.com, for more philosophical musings about robots such as 'will robots have feelings?' and 'will robots take our jobs?'