Educational Influencers
5 min read
A reading of this essay using a voice clone.
In the spring of 2000 I took my second computing course: CS 51 at Harvard.
It’s not as well-known as CS 50, which I had taken the semester before and loved, mostly because I had found something I was good at
The one distinct memory I have of that class is writing a Java program, running it, and having it not crash. Pretty much every C program I wrote in CS 50 crashed the first time I ran it. That was just what you expected to happen. My Java program didn’t solve the problem. But it ran. I remember thinking: maybe this is a little bit easier. Maybe this lets me focus on what my program is trying to do. Java didn’t require you to manage memory by hand, and memory was exactly what I kept getting wrong in C and C++.
In 2000, Java was a young language.
JDK 1.0 had been released in January 1996, only four years before.
Teaching it to hundreds of students in an early course was a bold move, one that would be considered radical today.
I know because I tried something similar.
When I introduced Kotlin into my CS1 course in 2021, Google had already made it the preferred language for Android development.
I wanted to teach the course only in Kotlin, a language that represents a significant improvement over Java.
My department refused: ten years after its debut
As I understand the history of Java, educators played a role in its dissemination
Today we’re seeing a new way of creating technology emerge with coding agents. Educators have the same role to play in spreading it. The big innovation in Java was that you didn’t have to manage memory. Being able to create technology in natural language is an improvement on a completely different scale—a dream as old as computing coming true around us.
But I worry that in the 25 years since I took that course, the people teaching early computing courses have changed. As I’ve written before, many of them don’t do computing. They don’t write code, other than as a live demo in class. They don’t build technology or maintain it. So it’s hard for them to appreciate what coding agents can do.
It strikes me as at least possible that one reason Professor Leitner taught Java in 2000 was that he used Java. He had problems he was solving with it, he was excited that it worked better than what he’d used before, and he wanted to share that with us. Today we’re living through a generational shift in how technology gets made. But educators don’t seem excited. That worries me.
I also hear concerns about how these tools might be used. But those concerns have an educational response. It used to take years of training to build even a simple app to solve a problem. Now you can do it in a week by talking to a coding agent. That is hugely exciting news, and our job is to share it, and to use it as a chance to teach people to use these tools responsibly. The ability to build quickly creates more opportunities for students to use and reflect on the things they create, and for educators to guide them toward good solutions and away from harmful approaches.
The speed at which students can now build is a strong argument for teaching this technology early. It belongs in our first computing courses, not later ones. I’ll write more about that soon.
Educators have a lot of influence over what our students see and how these ideas are presented to them. We don’t have to lead with ineffective ways of using the tools—like checking their output by hand. We don’t have to lead with fear about the future. We can influence that future! Professor Leitner shared the good news about Java in 2000. Twenty-five years later, it’s our turn to share the good news about natural language programming. If we teach our students these tools, and teach them to use them well, then in ten years we may see a much larger, more diverse, and more interesting community of people using technology to solve problems, answer questions, and make the world a better place.
And maybe, someday, someone will write about how exciting it was to learn coding agents in CS 124 in 2026.
New Essays by Email
Get an email when I publish a new essay: a short excerpt and a link, and nothing else. Unsubscribe anytime.