LLM in education

Sorry for this maybe not very original topic, but it really bothers me. I'm teaching my son programming. So far we’ve been doing it the classical way: variables, loops, algorithms. We spend hours discussing how to build stacks, queues, and heaps on top of arrays. We wrote qsort and merge sort in Python, and now we’re doing the same in C++.

Recently it has become almost impossible to avoid "vibe coding": Visual Studio Code can paste ten lines of code when you only define a function like drawSun, and those are exactly the lines you wanted to discuss and build carefully word by word.

I'm trying to adapt. We accept these lines, discuss them, and I'm trying to urge my son to learn the ideas behind them.

But I’m still unsure. Maybe during the learning process it’s better to be an LLM Luddite? Or should we separate "vibe coding" lessons from regular lessons: one time build an app as fast as possible, another time train by writing all these nuts and bolts from scratch?

Please, feel free to share your thoughts on my case in comments. Opinions and best practices are totally appreciated.

There is no policy like "english only". I'm writing in English just for practicing the writing skill. There is autotranslate function turned on. You can write comments in English, Russian, whatever works for you best.