5 ms·
I'm a curriculum developer and lead teacher training workshops. We still teach BASIC because one of the robotics platforms still in existence is the BoeBot from
by grendelt 7y ago
I'm a curriculum developer and lead teacher training workshops. We still teach BASIC because one of the robotics platforms still in existence is the BoeBot from Parallax. It uses the BASIC Stamp. When I started, the rest of the team was only doing the BoeBot. I started learning microcontrollers with the BASIC Stamp and I forgot how restricting it is when you try to do much with it. I proposed we adopt the Parallax Shield bot which uses an Arduino as the brain instead of the BASIC Stamp.
Leadership agreed.
It's actually more difficult to teach Arduino in a day or two and hope any of it sticks if the person you're training in coming in with zero programming background. BASIC is still an easy language for complete newbie to pick up in a short amount of time. The ease of learning comes at a cost later on though. I've encouraged teachers to start with BASIC if their students had no prior background or if they themselves feel overwhelmed by the wider pastures of the Arduino. I underscore that the time spent learning C++ in an Arduino context is a better investment than time spent mastering BASIC. BASIC is easy to learn for the purposes of the robot, but C++ can control the robot and allow you to branch out into countless other languages. I liken programming languages to spoken languages and learning C++ is like learning Latin. It may be obtuse and difficult at first, but once it clicks, you can easily slide into any number of other languages with ease.
I'm now not really beating the BASIC drum anymore, instead I talk up Python now that Parallax has released a bot built atop the micro:bit. It's limited in the amount of memory on board and python eats embedded memory for lunch. It's time well spent learning Python. It allows students to grow into "what's next" far easier. Kids that learn Python on something like this robot can easily write the same kind of code on a computer to have it do all sorts of things. Kids in camps that I've run (and students in my classroom years ago) love learning about the countless python libraries they can use. I casually point out "mouse" and they making "random mouse movement" scripts as a gag. I always "fall for it" each time. ("Oh no! What?! My mouse... it's jumping all over the place!!!" - met with giggles, high fives, raucous laughter, etc)
So, yeah, I actually still teach BASIC on occasion, but I'm more and more turning teachers into Python lovers and C++ for the Arduino.
- CarlGundel 7y agoI personally think that BASIC is an excellent first language, but people really should learn several different languages and be exposed to different programming ideas and styles. In addition to the Python and C++ you mentioned, people should consider Forth, Smalltalk, JavaScript, etc.