Video: Using AI to Transition to Text

An idea to use Grok or ChatGPT to transition students from block coding to text by correcting AI errors (related to extension terms) in JavaScript. Motivation is to make a rover car run correctly.

3 Likes

There are two Elecfreaks robots named Cutebot. Namely the Cutebot and the Cutebot Pro. I am thinking that Grok did not pick up on the “Pro” portion of your request. They are two different libraries or “namespace” as they say in Javascript. The Cutebot uses the namespace cuteBot while the Cutebot Pro uses the namespace CutebotPro.

You call a function within a namespace by referencing the namespace followed by a dot (period) then the function name. So to use the Cutebot extension you would reference the namespace like so

cuteBot.forward()

To use the Cutebot Pro extension you would write something like this

CutebotPro.fullSpeedAhead()

Note the difference in case for the two namespaces. cuteBot is the accepted standard, while CutebotPro is not to standard. They were probably coded by different people at different times so none of the functions will be the same. Why have two? Some basic differences between the Cutebot designed years ago and the Cutebot Pro designed more recently make them incompatible. So two very different extensions are needed.

At one point in my classroom I was using a combination of Cutebots and Maqueens. Fortunately we were using microPython and I could just write driver code for both that used the same names so a program for one would also run on the other. That BTW is what the microbit-robot project is all about and why you can have trouble with it. Each function must work for a wide range of hardware and compromises must be made to support generality.

Recently, DFRobot has released a new version of the Maqueen. The Maqueen Plus V3. It has some things I want to try so I just got one. In this case DFRobot did exactly the wrong thing. They created a V2 and V3 combined extension. Why would you do that? The robots are very different and kids, who don’t listen when you say something important, are going to be trying to get our V2 robots to do something only the V3 can do.

DFRobot also made the mistake of releasing a new version V2.1 that didn’t work properly. I rant about that in a different thread.

In summary, it seems like companies produce the extensions as an afterthought assigned to the least experienced engineer, who may not even be a software engineer. And this is what we get.

1 Like

I would go one step further , Don. In my estimation, code writers and extension developers don’t have the hardware in hand at the outset. They don’t have a Cutebot Pro rover to begin with. The code that they write “should work”. and they leave it to us, the owners of the hardware to test their code in real life. I have long suspected that this is just because they are programmers and are not interested in hardware and could care less about robotics, or micro-electronics for that matter. (example, my complaints here about Jacdac and RGB Neopixel where the hardware was shipped without proper firmware installed.) Just my opinion.

That reminds me of a project I was on. We were building an Abrams tank simulator at Chrysler Defense. Chrysler Defense made weapons, most notably tanks. Their attitude towards software was this “you can teach an engineer to write code, but you can’t teach a programmer to engineer.” So they only hired engineers. I was hired not because of my degrees in computer science, but because of my math degree.

What a mess. They actually had a mechanical engineer in charge of a vital part of the project’s code. That translates to essentially having amateurs in charge of the software and this project was almost all software.

In an engineering approach you work to a strict specification. That is essentially your theory of “should work” and there is truth in that. An electrical engineer doesn’t understand software. Experienced software people rebelled against the engineering approach in the 1990s in favor of a craftsmanship approach.

Anyway, a day or two before the big demonstration to the Army generals it was time to test. Switched it on. It drew a white line vertically on the screens. Then it went black. It wasn’t because we didn’t care it was because no one except myself was a software engineer. They just didn’t know how to work with software at that scale.

I recall seeing somewhere that you are a dentist. Is that right? Consider what would happen if you had a dermatologist put a cap on your broken tooth. That dermatologist can try, but it just isn’t going to go well.

The moral of the story is the opposite of what you have proposed. There are no software developers involved. Instead they have electrical engineers doing it. The engineers care about the product they just don’t know how to make it work.

PS don’t get me started on Ford. Their motto was “we are not a software company.”