Having spent some time in technology-related education I have seen an unfortunate amount of promotion for nonfree software.

Wealthy corporations abuse their money to have their proprietary tools taught at schools, trapping unsuspecting victims in overpriced, closed ecosystems that don't respect their freedom. A lot of the proprietary tools that have become a de facto standard in their field only became such because of these predatory ways and something needs to be done about it.

Consider Adobe with their terribly overpriced subscriptions and constant attempts at trapping you into more subscriptions. All of that in return for slow and often problematic software. The biggest reason for Adobe's crushing marketshare is familiarity. Alternatives to their products exist (even if proprietary), but they aren't as widely used despite their superiority. Why? Because Adobe is what the schools teach.

The same applies to a lot of Microsoft's software, etc.

What's the solution? Schools should stop promoting nonfree software in any form. This would not only help eliminate these issues but would also help schools save money wasted on licenses. I also believe schools should focus more on teaching students how to use programs in general, rather than teaching specific programs.

Adaptability is a very important skill. Learning only a specific tool is setting yourself up for failure.

The learning process should be explored more deeply - teach students how to read documentation, how to research fixing issues they run into, maybe even how to report bugs. Hacking on free software is also an excellent starting point for learning to navigate codebases and solve practical programming challenges - schools that teach programming in a significant capacity should definitely look into this more.

Just like the old saying:

Give a man a fish, and you feed him for a day. Teach a man to fish, and you feed him for a lifetime.

This applies double in the ever-changing world of software, where what's true today may not be so tomorrow.