XOJO and STEM education

As a recently retired scientist, I have been asked to serve as a judge for the past few years in a local school system’s annual “Science Fair” where the students’ ages range from about 4th grade through High School.

After asking how I might help by providing a bit of mentoring, I found that there is a relatively new effort to promote STEM education (Science, Technology, Engineering and Mathematics) and that a basic STEM lab has been established with a nice array of robot parts kits, Arduino’s, laser scanners, 3D printers and the like. I am not yet sure the extent to which local students have been exposed to computer programming.

So, I’d like your opinion about XOJO’s suitability for teaching computer programming and for integrating with a STEM lab (especially one heavy on robotics). One important feature to consider is that budgets are limited.


Xojo provides a free book in pdf format Free Xojo Book on Programming You might talk to @Bob Keeney as I think he was been doing some robotics education

I think at the last XDC (or maybe it was the previous one), there was a Teacher (Professor?) who was using Xojo for a college/university level course they give. Sorry, I couldn’t find a link to where this was mentioned so maybe contact hello@xojo.com it you want information on who that person was.

Also, a thing to consider is that I think you can use Xojo for free as long as you want, if you’re only running apps you create (in debug mode). It’s when you do a build (for distribution) that you need a license.

Disclaimer: the above is from memory, not the most reliable module I have.

As well, building for Raspberry Pi is free you just have to ask for the license.

All the best and have fun!

My personal experience is that you may have to devote quite a bit of effort and create new material to make Xojo “stick” with that crowd. And it may not exactly translate to CS material they may encounter going forward in higher education. I would recommend CircuitPython, CodeCombat, Code.org, Google’s Scratch, Microsoft’s MakeCode, FIRST Robotics; and of course Python. For these you will find lots of prepared teaching material and guides you can immediately deploy. I think Xojo is great for its purpose, but I think you should use something that has more “connections” to higher education so the acquired learning will translate better with what they will see and make their learning more meaningful.

Raspberry Pi is surely where it’s at. Cheap, tiny yet pretty powerful computers, that interface easily with the outside world.

As for languages, I would recommend Python and Xojo. Python + Pi is the much more documented combination, with lots of tutorial material out there. Xojo produces full desktop apps, more akin to real-world apps that the students might be used to, yet can still be used to interface with all the same sensors and robots and so on (with the added bonus that the student could take much of the same code and produce Mac, Windows or iOS apps as well in the future).

Both languages can be used to teach the fundamentals of programming, although I think Xojo is more similar to other common languages that the students might be exposed to in the future. Both are free for the Raspberry Pi so, time permitting, a combination of both languages might be great for the students.

Well if the lab is kitted out with Arduino, then C is the language! In my experience Arduino trumps a PI when you need accurate control and response from a piece of hardware in any case.

Anybody remember this from a while back?

Hi Craig,

Welcome to the wonderful world of Xojo! Here’s some thoughts for you. :slight_smile:

#1 - State requirements. If you are planning on using Xojo in the classroom, you’ll most likely need to speak with your STEM Dept. Chair. Oftentimes, each state will provide a list of “requirements” that have to be taught when working with a particular programming language.

#2 - Xojo can write programs (it’s free for teachers and students alike) for the Raspberry Pi. Check out the following robotics projects available for free: https://projects.raspberrypi.org/en/projects?interests%5B%5D=robotics

#3 - Another thing that is good about Xojo is that it is visual, as compared to Java or Python, which are traditionally taught using the old command line. (Think of the MS-DOS days of the early 1990s.) Xojo allows first time programmers (who are often a bit scared) to simply drag-n-drop a button onto an app, then double click on it to write a few lines of very basic, highly intuitive code. This makes it far easier for students to grasp the language and to get off to an enjoyable start with it. (The last thing teachers want is for students to try out a hard language, only to discouraged and walk away from it all.)

Hope this helps!

Just pointing out that there’s a Friday session at XOJO.CONNECT on using Xojo and Python together.


Thanks to all for your comments. Much appreciated.

The real title is “Introduction to Programming with Xojo” (4th Edition for API 2) and it is provided with a Teacher’s book and all project in the zip.