Teach a Kid to Tinker and they'll be a Better Thinker!
Lory Livezey, Co-Founder of techARTeum
I have worked in the IT field for 25 years, when fresh out of the Air Force with no experience, I landed a job as a Help Desk Operator, and worked my way up to "PC Technician" to "Network Engineer". I then taught myself how to program and have spent the past 20 years as a database programmer and web developer. When people ask where I got my degree, I tell them it was from the School of Hard Knocks. I have taken college coursework, but found it so outdated that I thought I could learn better on my own. That's problem #1. Even graduating with a four-year degree is the "beginning" of learning, especially in the IT field.
Julie Brown has been amazing with the design of all of the boxes and robots. Her specialty is more on the hardware side, where mine is software. She worked as a CNC machinist prior to becoming an IT technician. She has a brilliant mechanical mind, and is really great at Autodesk Fusion 360!
I started techARTeum, Ltd, as a way to bring technology and art together, such as painting 3d printed objects. You will often find my sister sharing our booth, with her art work and home-made pens cut out with a lathe. The idea was to connect IT professionals with STEM Teachers who may need guidance or ideas with projects.
The idea for the Tinker Pi came from working with electronics projects, and their tangle of wires. The internet is teeming with DIY projects, and you can buy a bunch of stuff, and if you have a problem you're out of luck. That's problem #2. The idea was to have tutorials that were "modular" and intertwined. You could build one on the other, and then go back and take a different path, re-using the stuff you bought. I thought it would be great to have a modular "box" where you could plug things into it, and re-use them, and take them with you. I had always wanted to help out with schools in some way, and thought this would be a great way for teachers to keep their students' projects organized. They could put them away when they were done, or even hang them up! On the right I will show you various "versions" of the design, to show how failing is NOT a bad thing! ;)
The idea was not just a "box", but a learning system that would teach you a little of everything. But more importantly, it would use open source technologies, and incorporate technology, project management and "soft skills" that are not just useful, but imperative to learn for this next generation. Technology is getting more and more complex and competitive, that's problem #3. We MUST find ways to learn (and teach) more productively. I approach this not as a parent or a teacher, but as someone who has spent a lifetime "learning", and finding ways to make it stick in my own brain.
There is a movement called "flipping the classroom" -- having students 'pre-learn' certain materials by watching videos or reading ahead of time. This is great, because teachers are so spread thin. That's problem #4. How can they be expected to learn it all, when even I, a professional, struggle to keep up? Perhaps the classroom needs to be "flopped" as well. Perhaps the kids can learn, and then teach each other. Studies show that we learn better when we turn right around and "teach" it. This would take the pressure off teachers. They would become like "Project Managers" or "Coaches". Kids are so entrenched in mind-numbing technology and games. That's problem #5. I believe that 'problem-solving' is the most important skill you can have in the workplace and in life. It's like that old adage, "teach a man to fish and you feed him for a lifetime". I guess my motto would be, "teach a kid to tinker, and they'll be a better thinker!"
I may not solve the world's problems, but here are a good five to start with! The sixth (and biggest) is up to the powers that be - to give them all the boatload of money they deserve!
Tinker Pi Factory
The Tinker Pi Factory is still in the "idea stage", being developed in collaboration with our prototype classroom and wonderful teacher, Stephanie Greathouse. Mrs. Greathouse has 12 Tinker Pi boxes and 12 Robots, with the ability to print more of her own! Tinker Pi Factory is a "mini factory" where the kids get involved with different aspects of a make-believe (or is it?) factory. Each student creates a resume and applies for a job. Examples are Plant Manager (this is the teacher), Product Architect, SCRUM Master, Network Administrator, Server Administrator, Robotics Designer, Robot Handler, Video Production Specialist. These roles have varying degrees of complexity, so they can be assigned to accomodate a wide range of skill levels in the classroom. For example, a "Robotics Handler" may have responsibilities that require programming a Micro:bit (blocky programming), where a "Robotics Designer" may get into some Python. The teacher would not need to learn all of the various roles, just as a Plant Manager in a real plant would not need to learn every job. This teaches the students to think for themselves, problem-solve, to learn from each other, to work with each other, and gets them acquainted with real-world situtaions, while empowering them with responsibility over a role.
Tinker Pi Stack
A "stack" in the programming world is a set of technologies that work together to perform some task. For example, the "LAMP" stack is Linux, Apache, MySql and PHP. I have been deliberate in choosing the technologies that are part of my tutorials based on my audience - teachers, and students young and less-young. I hope to eventually get help from a community in creating them, but even then, these are the goals that I had in mind in choosing the "Tinker Pi Stack" - the technologies of focus.
Goals for Choosing the Technologies
- Easy for Teachers, Students and Adults who are just starting
- Future Resistent in that it won't be outdated in a year or two
- Relevant to the work force. Isn't that the point?
- Reusable and Modular - Can be used for multiple purposes
- Widely Available - Open source solutions where possible
- Cheap or Free - We don't have money to burn!
Windows Or Mac
I have chosen software that will run on Windows or Mac. My tutorials are on Windows, but I hope that with community support, there will eventually be Mac versions. I intend to open the platform for collaborators in time.
Raspberry Pi running Raspbian (Linux)
The Raspberry Pi is very affordable, and runs a scaled-down version of Linux. It can be programmed remotely from a computer, but also has some built-in development tools, such as Scratch and Idle (Python). I have tutorials for installing Visual Studio Code, Mu and the Arduino IDE. These allow the Raspberry Pi to replace the PC or Mac, for the most part.
There is the official Arduino board, and the makers of this support the Arduino Software (free). But there are many, many Arduino compatible boards that can be programmed using the same software, which will run on Windows, PC or Raspberry Pi.
The founder of Adafruit, Limor Fried (known as Lady Ada), is a proponent of open source hardware, and has paved the way for many beginners and non-engineers, including myself, to create powerful electronics projects. It's not just the hardware her company has developed, but also countless "libraries" that make it much easier for beginners to write programs for such hardware. Adafruit's hardware and libraries will be used throughout our curriculum.
Sensors are the building blocks of an electronic project. We have a numbering system for sensors (signal going 'out') and modules (signal going 'in'), that will allow you to know which sensors from various sources are compatible. We consider them compatible if they (1) are essentially the same component (power requirements/pinouts) and (2) can use the same program (library) to run.
We focus on two database. Sqlite, because it is more than sufficient for smaller applications, and very "portable". This means it can be used on devices as well as computers. It's is programmable from all major languages, and is simple to use. PostgreSQL is an enterprise-level database that is open source and also runs on the Raspberry Pi. It also has some powerful document (json) support that makes it a half-way point between SQL and NoSQL.
We lean toward MakeCode.org as an entry-level Block-based language, and therefore any boards that use it, such as Adafruit's Circuit Playground and the BBC Micro:bit.
Front End Framework
A front end frameworks keeps you from having to re-invent the wheel when you're writing a web application. There are several out there, React (Facebook), Angular (Google), Bootstrap, Semantic-UI, Foundation. It will eventually make your head spin. I focus on two: Bootstrap is the most popular of it's kind (it helps you from having to write a lot of css). The second is Vue.js, which serves a different purpose but is also a front end framework. It is popular and right up there with React and Angular, but easier to learn.
More and more transactions and interactions are taking place on devices. Ten years ago you could build a web site without considering mobile devices. Now, many are designing for "mobile first". The mobile platform we'll be using in our curriculum is called Kivy (pronounced kee-vee). It's open source, relatively simple to learn, and best of all, written in Python and runs on the Rasbperry Pi.
Blockchain was invented in 2008, and in my opinion, the biggest thing since TCP/IP. I would say it's the biggest thing since web, but it's more like TCP/IP. TCP/IP is the foundation for all of the communication on the web. The Blockchain is the foundation layer for Bitcoin and other cryptocurrencies. I believe it's so important for the next generation to understand these technologies that will be the future of the web.
Tinker, Learn and Pass it On!
Tinker Pi is about evolving ideas, trying them on for size, putting them into practice and then teaching them. If you would like to become involved, please don't hesitate to contact me!