| I'm a CS professor at a primarily undergraduate college. I teach our intro programming course most years and also teach upper-level classes in AI and software engineering. I've used agentic tools with no restrictions in my upper-level classes and also in a new programming course for non-CS students. I've seen several examples of students using an agent to crank out version .01 of a program, but then have no idea what to do next, because they don't understand what changes are even possible or how to guide the model to add new features. AI coding deemphasizes knowing specific language features or frameworks, but requires having a careful, structured development process. Memorizing the syntax of library functions is less important, but you need to know the language of software design and how the features of your program are implemented, even if you're no longer writing individual lines of code. Breaking a design into independent units is important for revision and testing. You want to keep AI generations small and focused, which requires knowing where and how features are implemented. We're also moving past the tokenmaxxing trend and swinging back to cost-conscious AI use. Classical CS knowledge will help you choose algorithms and systems that can minimize token consumption. My advice would be to take a standard CS 101 course that teaches the fundamentals of structured programming in Python or another standard language. Focus on understanding how to write loops and functions and use basic data structures. Use AI tactically to help with debugging and understanding code, but do most of your writing by hand - don't generate entire programs yet. Ideally, this will happen in a class with an expert who can observe and guide you. I have some resources from my class that may be useful: https://github.com/dansmyers/IntroToCS After that point, you can start introducing some AI coding and gradually build up the size and complexity of your programs. Learn about software design and object-oriented programming, security, and fundamental systems. We are moving most of this content earlier in the curriculum, so students see it in the first two years, rather than waiting until elective classes. The details of data structures and algorithms can probably come later, once you have more context for where they're useful. Last point: I teach the specs-driven development process in all of my classes. It's the best way to approach more complex projects. Prioritize creating ambitious projects that do interesting things. |