My younger brother just started learning programming. When I was learning, I spent weeks building small demos and exercises — calculators, todo apps, little games — but now, most of those can be built in seconds with AI assistants.
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.
I'd say stay in the fundamentals and build things by himself. Do not rely on AI. Instead, train him to search for answers in offline materials. Help him read other people's source code instead of summarizing it using AI.
Those little exercises are still good projects IMO. Find where his passion is about (it could be making games, or making apps to help his girlfriend do X, or drilling into computer architecture), and help him to build up the ability to teach himself using material offline.
And train his patience, too. With so many free helping hands nowadays, it is very important to be patient and NOT seek out help unless one has exhausted all available venues at hand. My thumb of rule is "3-night" -- if he cannot find the answer or even make an progress for 3 nights, he needs to seek external help. But build up his tolerance towards frustration -- in pretty much all trades, programming included, tradesmen need to retain the ability to tolerate certain level towards frustration -- otherwise they would achieve nothing. Build up his tolerance towards frustration, build up his tolerance towards boredom. IMO it helps to sit with him to debug programs step by step.
I work with students and junior engs.
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 wanted to become a painter, would you use generative AI to make you a painting and then call yourself an artist? I wouldn't. Downloading mp3 files doesn't make anyone a musician.
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 simply the latest tool. There was time when a similar question was whether to learn assembly language because we now had compilers (C, Pascal, FORTRAN etc). That question glossed over the value of understanding the foundations. When things don't work as expected, debugging requires deeper knowledge.
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.
I would do (and have done) CS50X online https://cs50.harvard.edu/x/ do all the problem sets and projects by hand using no AI to write any code. The lectures and tutorials are outstanding. By the time you're done you'll be ready to build whatever and research what you need to learn to build most things
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)
What about building something bigger?
If AI lets you build the basic version immediately, then try adding features until you get stuck. Extend your todo app to have gantt chart scheduling with drag and drop and automatic reflowing. Give your video game more realistic physics. Etc
Use AI to speed up the boring parts, but make sure you understand what’s happening behind the scenes. The best programmers in the AI era aren’t the fastest coders - they’re the ones who can debug, reason, and connect systems creatively.
I had 50 years as a programmer. For 50 years I was learning new stuff. It doesn't stop, so you need to get used to it. Hard won knowledge sticks best so AI may blunt your learning if you are not careful.
AI is the best teacher, short of a 1:1 with an actual human teacher. You can literally learn almost anything, and it's at the very least a starting point, and then you ask it for the best books to continue with.
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.
i've learned linux cmd with assistance from ai which i would have never done on my own. however, even with ai, i still struggle with anything c++ or winapi so it will require more manual effort to fill the gaps.
I think you should at least know the basics! AI still makes mistakes, and sometimes it can't fix them even when they're simple errors.
I would say that solving the puzzles with pen and paper is still valuable way to learn to analyze problems and sketch solutions, while details of syntax can be resolved with AI
Learn everything about datatypes. You may happily skim the algorythms.