I'm starting Harvard's free introductory programming course and want to build a strong foundation. Since AI is becoming common in software development, should I use it as part of my learning from the beginning, or should I first study traditionally and focus on the fundamentals without AI? If AI can be useful for beginners, what's a good way to use it without becoming dependent on generated solutions?
3 Answers
You don’t have to ban AI forever. Once you’ve tried solving a problem yourself, you can use it like a tutor rather than a code generator. Ask for hints, explanations, test cases, or questions that guide you toward the answer. Don’t ask it to write or fix everything, and make sure you understand every suggestion before using it.
I’d avoid using AI for most of the early learning. As a beginner, you need to practice breaking problems down, debugging, and figuring things out when the answer isn’t obvious. If AI solves those parts for you, you may produce working code without developing the reasoning skills you actually need.
That makes sense. I hadn’t considered how much relying on it could hide gaps in my problem-solving skills.
Learn the basics first: syntax, control flow, data structures, debugging, and how to reason about a solution. AI is only really useful when you understand enough to recognize whether its suggestions are correct. Otherwise, it can confidently give you code you don’t understand or that is simply wrong.

A useful rule could be to write down the logic or attempt a solution first, then use AI only to explain a specific concept or point out what to investigate.