I've been wondering if there would be a benefit to inverting how we teach subjects now. Previously we would teach from the bottom, and build up. Semi-colon goes here, curly brace goes there, and then build up to architecture, systems, etc.
But this doesn't seem to make sense when someone comes to a topic with an LLM in-hand. They need to know high-level techniques, architecture, best practice, etc. As they pursue the topic they start to get down into the details, although probably never learn to do it fully independently.
I quite like this view because it paints a somewhat optimistic way forward from where we are now.
I can't speak for other disciplines, but for math and CS, both with a really heavy focus on abstraction, the final result of learning is to build a nice intuition on top of the abstractions we find useful/expressive. And to build the intuition, the old, usual, and perhaps the only way is to see and practice a lot of concrete examples, after which the motivation of building some abstraction can be understood, and after which the abstraction itself can be fully grasped.
e.g. The "group" abstraction requires one see a lot of int, polynomial, modular arithmetic etc. before knowing why we want such a thing. It's unskippable.
This idea sounds good at first, but if you look closer, it would just make workers, not experts who really understand. What we could do, and already do, is tweak the learned abstractions. In our field, it's easy to see: most of us first learned about computing abstractions, not how processors actually work, or started with Java, not assembler. Plus, you can't teach math from top to bottom.
I keep trying to convince people that English majors and Philosophy majors will benefit the most from LLMs. English majors in particular, have been trained to be VERY exact in how they word things.
That awareness of how to structure the English language, it will benefit those who use LLMs.
Then again, maybe someone will just make a LLM that’s built to turn poor English and poor reasoning into excellent English and excellent reasoning. Maybe this is just a technical puzzle that needs solving.
I don't think you can learn high level techniques or architectures without first understanding the basics first. This means boring boiler plate coding.
You can ask LLMs about high-level techniques, and their answers will usually be good enough. What you can't get from LLMs is the taste and judgment, which you can only obtain by having a strong CS base and coding manually for years.
High-level techniques were never a problem. You could Google tens of articles on this topic. They are useless too, it's like learning how to drive a racing bicycle from reading a book. Sure, you will know a lot about nuances, but you will fail miserably when it comes to a real race.