What is the future of K-12 CS education in an age of AI?
Code.org Chief Academic Officer Pat Yongpradit’s vision for the future of AI in computer science.
Generative AI is transforming industries, and given the ability of AI to generate useful code, it should be no surprise that 92% of professional software developers already use AI tools. It should also be no surprise that computer science (CS) education has yet to embrace AI tools, as learning to code for the first time is very different than an expert producing code for a professional purpose. CS educators, of all educators, are keenly aware that AI can transform education, and are wondering what the future of CS education will look like in an age of AI.
I got a glimpse of it by listening to CS teachers who are early adopters of AI, like Nora Burkhauser, Julie York, Gina Fugate, Jenny Styer, Elvage Murphy, and Krystal Chatman, at a White House event on “Teaching Inclusive AI in Computer Science.” As a former high school CS teacher myself, I am optimistic that my K-12 colleagues can show the rest of the education world what it looks like to responsibly and effectively incorporate AI into the classroom and adapt curriculum, pedagogy, and assessment. But to scale the work of these early adopters, it is crucial to have a shared vision and guidance.
The guidance part will be addressed by initiatives such as TeachAI, which has been convening global thought leaders to answer key questions related to how CS education changes in an age of AI. We hope to highlight what is already happening in schools and higher education, including what we are learning from early research.
Every vision starts with purpose, and incorporating AI in CS can:
- Broaden participation in CS by making programming more approachable. Kevin Scott, CTO of Microsoft, and Code.org board member, recently said that “language is the new programming language.” From punchcards to assembly code, modern programming languages, block-based coding, and now AI code generators, programming has always been getting more approachable.
- Support students with disabilities by making programming interfaces more accessible. My colleague at the Maryland School for the Blind, Gina Fugate, is always up to share about the benefits of AI for her students.
- Equip students to participate in civic discussions about AI’s social impact.
- Focus students on higher-order thinking skills, rather than just getting code to work, and usher in a new era and emphasis on computational thinking.
- Prepare students for a future where AI doesn’t replace workers, but workers who know how to use AI replace those who don’t.
- Speed up the pace at which students can create meaningful projects that can serve real audiences and impact their communities, rather than assignments that are designed to just learn the syntax of a programming language. A Mad Libs program shouldn’t be the crowning achievement of a first experience in computer science (even though it can be hilarious).
So with these reasons for incorporating AI in CS education, what might changes look like? There are three key areas of change.
- All foundational CS experiences will include AI as a topic, not just because it is a transformative technology and every student should be AI literate, but because it is a fascinating context for exploring fundamental CS concepts that range from algorithms and programming to data to ethical and social impacts of computing.
- Certain topics and skills will be de-emphasized while others are more emphasized. Less code-writing and more code-reading and understanding. Less need for low-level debugging skills and more need for skillful problem formulation, testing, and evaluation. Less of (or an end to) teaching HTML and CSS syntax, as web design teachers will focus more on UI/UX. And dare I say it — students won’t have to learn the difference between a do-while loop, a while loop, and a for-loop, but they will need to know what iteration is and what its purpose and power are when designing programs.
- CS education finally becomes programming language-agnostic, and we truly learn programming and program design rather than how to code in Java. Students will understand why and be able to create programs using different languages for different contexts by using normal language as the instruction set to rule them all.
- CS integration has been a grand challenge of CS education for decades, and AI will give efforts a new life. Because AI will make creating CS artifacts more accessible, teachers from other subject areas will be more open to and supported in integrating CS into their subject areas. Related to this, computational thinking will see a new era, one in which the ideas can be expressed in normal language rather than a programming language, in order to produce artifacts.
- If you are a CS teacher, it can get tiresome to be constantly hunching over students to help them find and fix syntax errors, and with block-based programming, there are still logic errors to fix. In an age of AI, environments will have built-in AI assistants that can help students discover and fix their own errors. Teaching is not about fixing errors or teaching programming syntax, but facilitating the larger programming experience, such as creating authentic, real-world projects.
- The best CS teachers won’t just be those who know programming fundamentals, but those who can connect with, inspire, and motivate their students — the reason why most of us became teachers in the first place. Teachers will have more time to focus on that in an age of AI.
- With the help of AI-empowered programming assistants, more CS teachers will adopt a coach and facilitator role, rather than acting as a “sage on the stage.” Many novice CS teachers, including those with very little CS background, will get more support.
- Everyone will have a pair programming partner, available at any time. It will not only be helpful but encouraging and provide feedback on how a student is performing. In this toolkit, my colleague Jill Denner describes the benefits of pair programming, which at the time of the writing of the toolkit, was thought of as two humans together.
- AI tools will support teachers in evaluating student learning throughout the programming process, not just at the end.
- Students will not just be graded on whether a program works and whether they exhibit knowledge of particular programming constructs, but they will be graded on their persistence, resilience, collaboration, and how well they designed a solution to serve their audience.
- AI will be allowed as a coding buddy for some assignments and even some assessment questions, coding assessment will be woven into coding platforms, and the assessments will allow people to turn AI features off and on as appropriate.
My vision isn’t without an understanding of the risks of incorporating AI in education. The biggest risk related to students who are learning computer science for the first time is the potential overreliance on code-generation tools. We want kids to learn higher-order, computational thinking skills, but what if the best avenue is still through traditional instruction, without an AI-powered code-generating assistant? What if these tools hinder the development of problem-solving skills? And what if students just get lazy? There are also other issues that are not particular to CS education, such as academic integrity, student privacy, misinformation, bias, and ensuring these experiences are equitable. In my vision, we must actively mitigate the risks in order to realize the benefits.
I’m optimistic that the CS education community can figure these things out. I’m especially excited that CS education can blaze the trail for other subjects embracing AI. As CS educators, we have the perfect situation in that AI is not just the tool for teaching CS, but also the subject matter as well.
Happy CSEdWeek 2023! Let’s #TeachAI.
— Pat Yongpradit, Code.org Chief Academic Officer
Code.org is a 501(c)3 nonprofit organization dedicated to every student having the opportunity to learn computer science as part of their core K-12 education. We are publicly funded by people like you. If you would like to join our commitment to computer science education by making a donation today, please click here. For questions, please contact Development at firstname.lastname@example.org or (206) 593–5521. Thank you.