The Future of Programming & Human-Centered AI
In our AI for Humanity course last night, I introduced two fundamental concepts that deserve deeper exploration. Before diving into these ideas, let me provide some context about our unique learning environment.
The Challenge of Human-Centered AI
Our human-centered AI courses attract students from diverse backgrounds—from mathematics and statistics to sociology and English literature. This variety in academic backgrounds brings an equally diverse range of programming experience and interest levels. While this creates valuable opportunities for intellectual cross-pollination, it presents the greatest challenge in delivering differentiated instruction.
During the initial weeks, as we establish foundational concepts, the pace can feel slow for STEM students. This reminds me of my own experience as an EECS undergraduate at Berkeley, where I found myself both bored and resentful forced to sit in a mandatory tech ethics class. The issue wasn't the subject matter itself, but rather its superficial presentation disconnected from both heart of technology and the creative impulses of their technical audience. This is one of many experiences that has shaped my approach to human-centered AI.
Key Concept 1: The Hierarchy of Professional Success
"Your success in life will depend on your ability to speak, write, and think—in that order." -Patrick Wilson, MIT Lecture on "How to Speak"
Many STEM students initially rank this hierarchy in reverse order. However, as you move beyond classroom examinations into real-world applications and research, Professor Wilson's insight becomes increasingly apparent. I encourage our STEM students to view this early course period as an opportunity to learn from peers who excel in areas that could provide the greatest boost to their professional skill stacks and offer the fastest route to long-term rewards.
Recommended by LinkedIn
Key Concept 2: Universal Programming Principles
"What it takes to be a little bit more than just effective in Python" - James Powell: So you want to be a Python expert? | PyData Seattle 2017
Learning to think like a Python interpreter represents a universal skill that transcends any particular programming language. You don't necessarily need to be able to write a compiler, but a working knowledge of such can be as important as linguistic fluency when interacting with AI LLMs. These fundamental concepts will maintain their relevance regardless of how rapidly AI transforms the landscape of computer science education, practice and converges to a natural language interfaces.
The relationship between technical and humanistic understanding works both ways:
Both paths give curious learners a richer understanding—from developing intuitive instincts to building explicit predictive models based on advanced theory and models.
The Future of Programming Education
Programming instruction is evolving to resemble the teaching of philosophy and writing. When taught effectively, it should fundamentally reshape your perspectives and thinking, offering increasingly indirect but valuable practical benefits. Consider Abraham Lincoln's observation that studying Euclid's Elements improved his reasoning abilities and ultimately made him a better lawyer although it has nothing to do with proofs.
You are doing good work. Thank you!