Course title:
“Learn AI-powered Python programming”
What sparked the thought for the course?
Generative AI is really good at computer programming – to the purpose where the way in which we teach and assess students learning to code needs to vary.
We used to provide students dozens or tons of of small, focused programming tasks through which we learned every aspect of the syntax—the words and symbols—of programming. This worked well as a start line, except now generative AI tools can solve all of those problems. Educators can attempt to ban these tools (good luck with that!) or embrace them. We decided to incorporate them in our recent course, where students learn to code – supported by a generative AI assistant.
What will likely be examined within the course?
The course reimagines what learning to code means now that generative AI is out there to unravel more of the low-level syntax problems which have slowed and frustrated students previously. The more students struggle with tricky syntax details, the less time and energy they’ve to attain their program-related goals, comparable to: B. starting a business, writing apps for social causes, or contributing to projects which are meaningful to them.
Generative AI allows us to give attention to more invaluable, sophisticated skills that students have to turn out to be effective programmers. For example, generative AI struggles to unravel large problems; We still need humans to interrupt these problems down into bite-sized pieces – a process often known as problem decomposition – and which AI can solve each well. People are still needed to check the code to be sure that it does what it was intended to do and to be sure that the code is designed to assist, not harm, society and its vulnerable groups.
Why is that this course relevant now?
Many skilled programmers have already introduced generative AI tools and are using them to make their every day work more efficient. If the goal is to organize students for these tasks, teachers must train them to make use of these recent tools.
Perhaps more importantly, students' options in introductory courses are changing. With a more powerful tool comes a capability to operate at higher, more efficient levels. These tools save people time.
What is a crucial lesson from the course?
An necessary lesson is that while generative AI is impressive, it’s also fallible. You can't just ask for code and assume the code you get is ideal. It may not do the suitable thing. It can result in errors, or bugs. This could cause safety concerns. It can exclude underrepresented groups or discourses. You have to critically examine the code you get through generative AI.
What materials does the course include?
The course is predicated on our recent book “Learn AI-powered Python programming.” The book reimagines an introductory course in programming within the context of generative AI tools.
The essential tool utilized in the book and our course is named GitHub Copilot, which is like ChatGPT for programmers. Students use Copilot from day one. They create complete apps: apps to automate tedious, error-prone tasks; computer games; even an app to guess who wrote a novel whose creator could also be unknown. To ensure students still learn the fundamentals, the book teaches tips on how to understand the code that generative AI creates.
What does the course prepare students for?
Some students take an introductory programming course to start their computer science major. For these students, we proceed to show foundational skills like reading code and testing code, but now we're also introducing the higher-level skill of problem decomposition so students can solve larger problems than ever before.
However, nearly all of students in this system study other disciplines comparable to sociology, psychology, economics, engineering and natural sciences. The course prepares these students to make use of generative AI to spice up their careers through programming.