How to survive AI as programmers

As we navigate the swirl of technological advancements, particularly in AI and machine learning, it’s been fascinating—yet slightly disconcerting—to observe how these technologies are reshaping traditional educational paradigms. This is especially true in fields like computer science, where the tools designed to streamline and simplify processes are also, paradoxically, creating substantial gaps in practical knowledge.

This video is from Lattice.

Let’s dissect this conundrum a bit. AI tools like ChatGPT and others have become omnipresent helpers for students navigating the complex world of coding. They serve as a quick-fix solution, offering answers to thorny coding problems in seconds. But there’s a catch, isn’t there? While these tools can offer immediate answers, they also risk turning users into passive recipients of information. This shift away from deep, methodical problem-solving to instant problem-solving can dilute the rigorous mental exercise that coding traditionally demands.

Think about it for a second. Coding isn’t just about getting the right answers. It’s about understanding the path to those answers—the logic, the structure, the painstaking debugging that turns a good programmer into a great one. When students bypass these steps, they miss out on developing crucial skills that only come from facing and overcoming challenges.

So, how do we harness these powerful AI tools without letting them atrophy our problem-solving muscles? It’s about striking a delicate balance between using AI as a learning aid and relying on it completely. Here are a few strategies that might help:

  1. Embrace the Struggle: Before turning to any AI tool, give yourself a chance to wrestle with the problem. Spend time, even if it’s just 30 minutes, trying to solve it manually. Use a notebook, doodle, draw flowcharts, or scribble pseudocode. This initial struggle is invaluable as it forces you to engage deeply with the problem and understand its underlying principles.
  2. Build from Scratch: There’s a profound learning that comes from constructing things from the ground up. Whether it’s a simple data structure or a complex algorithm, building it yourself engraves the knowledge and the process in your mind far more effectively than merely using a pre-built solution.
  3. Analyze AI-generated Code: If you use an AI tool to generate code, take the time afterward to go through each line and understand what it does and why. If you find lines of code that baffle you, mark them, research them, and learn until you can explain them clearly. This method ensures you’re learning from the AI, not just copying its outcomes.
  4. Solve Problems Without AI: Regularly challenge yourself to solve problems without any AI assistance. This will not only boost your coding confidence but will also highlight areas that need more understanding or practice.

By integrating AI tools judiciously and focusing on active learning and understanding rather than just finding quick solutions, students can truly harness the power of AI without losing the ability to think and solve problems independently.

In an era where the traditional benchmarks of skill and capability, like a degree, are becoming less reflective of actual expertise, the onus is on us, the learners and educators, to ensure that our use of technology amplifies rather than diminishes our capabilities. We must remember, the ultimate goal of education, especially in such a dynamically changing field as computer science, is not just to know but to understand; not just to solve, but to discover how and why solutions work the way they do. This is the kind of deep, resilient understanding that will stand the test of the rapidly evolving tech landscape.

Frank

#DataScientist, #DataEngineer, Blogger, Vlogger, Podcaster at http://DataDriven.tv . Back @Microsoft to help customers leverage #AI Opinions mine. #武當派 fan. I blog to help you become a better data scientist/ML engineer Opinions are mine. All mine.