Recently I was scouting around for a good Python course for my 15 year old son. They way they are teaching it in school is not very practical. There is a lot of text explaining concepts in a web application with questions and code cells where you have to type code and execute. He is learning all these things but there is no connection to reality. I asked him: you learned all these commands, write a program that asks a user to give their weight and height and that calculates their bmi and then tells them in what bmi category they fall. Obviously he had no clue how to even start because that is not covered in their course. Until a year ago I would have said teaching Python this way is completely pointless. Now, I would say it could serve its purpose if you asked e.g. Copilot to do something for you and it spit out a Python program. Potentially you might be able to read the code and then fix or modify it. But if you restrict the opportunity of students to experiment with the platform you use they are not going to get far in getting them to enjoy programming. You only succeeded into turning Python into yet another school task. Some people claim programming is dead because of AI but my experience is it is not there yet. Possibly the time will come where you can simply ask the computer to do something for you and it will generate code and execute it to your satisfaction. But to achieve that I think you will need to create your own digital twin first. Some sort of all knowing version of yourself that you can ask everything you don’t know how to do yourself and that at the same time understand exactly in every detail what you are asking, what you are looking for. Things evolve fast but today we are far from there. Yesterday I was parsing files and asked AI to do it for me. At first it gave me a good result but as I expanded my query it suddenly failed to perform what was required. It parsed one file correctly and when I asked it to modify the code to let me select a folder of the files and then process all the files in a directory it gave me buggy code. It worked for one set of .txt files but then didn’t work for .csv files with different type of data and a different parsing technique required. The code actually had syntax errors and logical errors in it. I found this very surprising. I still got something useful out of Copilot but I had to modify and tune it. It was still helpful as it gave me a head start in the right direction. and 99% of the code was correct, just a few last colons to be put in the right location and spaces to be added in strings that AI thought it had stripped in a previous step. Based on my limited experience I actually think AI is an excellent programming aid that will speed up your coding enormously. You can probably create your own tuned coding agent that you feed with your own examples and reference scripts so that it learns your style and preferences. But bringing AI programming to the same level as the electronic calculator is still far away. And when you use a calculator you still need to know how to calculate yourself, the calculator can just do it faster and without errors. This point is really the weak point in the marketing, you are still responsible for the output generated by AI. If the output is obviously bogus then there is no problem but we have seen recent cases where people were deceived into believing for example AI was providing them with real quotes from people. But who cares if Einstein really said something or if it sounds like something Einstein could have said? It only matters if the fact that Einstein said it makes it more valid or not. For other AI generated output things could be more critical, if you are analyzing data and AI does something wrong in the analysis and you don’t spot it you are ‘stuffed’. If you don’t understand what it did you will at minimum have to come up with a comprehensive test set that demonstrate that what it gave you is making sense and correct.
Leave a comment