摘要:
With the explosion of the usage of AI-assisted tools in programming, both in the professional world and among learners, the approach to teaching students how to use these tools appropriately is of utmost importance. There is little point in denying students access to these tools, as professionals use them and students will seek them out regardless. However, teaching students to use them properly from the very start will allow them to move away from focusing on specific details and nuances of a programming language to be able to focus on larger applications, good design choices, and other aspects of software development besides programming. This means that many software engineering concepts can be introduced earlier in the curriculum, even in a first-semester computer science course, including functional decomposition, data structure decisions, testing, qualitative aspects of programming, stepwise refinement and refactoring, and basic use cases and user stories coupled with software inspections and code reviews. Having students focus on program design, testing, code quality, and building on previous assignments gives students numerous opportunities to develop programming skills. To ensure students are learning a programming language as well, they have to be able to read their own code and other code samples along with being able to research and explain any unfamiliar code generated by an AI tool.