I’m wondering: should new programmers still learn the same way we did — building everything by hand — or are there better ways to learn with AI tools around?
Have you seen examples of new developers who learned effectively with AI assistance? How did they structure their learning or projects?
I’d love to hear what worked for you, your students, or junior colleagues today.
Personally, I'd avoid using AI tools for learning atm.
1) As a learning path planning tool, I find LLM tools are very good at creating learning plans and next steps for popular concepts. However, the convenience of the tool also skips over a lot of accidental discovery/exposure, which IMO is useful in the long run in building out broader contextual awareness. The students following an AI plan only knows about the things in immediate vincitiy. Whereas more traditional methods, like a web search (use someting like Kagi, not Google) reveals more advanced stuff which they don't know yet, but plants a seed in their brains.
With the right prompting system, you can probably mitigate some of these issues, but atm I find the general trend is people want short fast answers.
2) For actual coding I'd discourage it. For people to learn quickly they have to build stuff from scratch so they develop the right mental models. Writing code manually is a good check on their understanding. When the work becomes boring/tedious they can offload it to AI tools.
Overall, my experience has been that the AI tools are useful in the short term, but too much reliance amputates a lot of the valuable, but hard to measure, learning experiences. If the goal is to form the right mental model of concepts in the human who is learning, then bypassing some of the "work" and frustration by letting AI do most of the planning and "thinking" actually harms the learning process.
If you need to go deeper, then do https://cs50.harvard.edu/web/ as well.
If you need to really nail DS/ Algorithms do the courses from Berkley:
https://cs61a.org/ (if you did CS50x already you can skip)
https://sp25.datastructur.es/ (CS61B)
https://cs61c.org/fa25/ (Optional/advanced stuff)
For people that like learning on their own, it opens up all doors. With that in mind, as you're learning build everything by hand. Copy the code by typing it, not copy/pasting. Make sure you understand each line and can change things as you go while still having it compile and work.
Start with actual projects, first small projects, then larger and larger. Each project should be something you can show someone else, if not upload and share online. Once you have a few projects, the path forward reveals itself and you'll know which books to read and what to tackle next.
Honestly, for learning programming, university is no longer needed. It's at best a place to network and meet potential employers, but even that is not necessary and there are ways to network online.
That said, I don't see any problem with using AI to grasp ideas faster[1]. AI can help you create a personalized roadmap and resolve confusion along the way. But if one doesn't go hands-on and understand what the AI is doing, and only consumes the output, there is no learning in that.
[1] By 'faster,' I mean getting a response quickly (requires fact-checking, ofc) instead of spending hours on Stack Overflow.
AI is a fantastic research assistant and even a tutor. But you still have to ask "good questions" and remain sceptical, both of which in turn requires foundational knowledge.