In a thought-provoking lecture at Harvard University’s introductory computer science course CS50, Matt Welsh, co-founder of AI application-building platform Fixie and former engineer at Google and Apple, stirred excitement and contemplation among students and professionals alike.
With a bold opening statement asserting the potential doom of computer science, Welsh delved into the challenges and opportunities presented by the integration of AI into the field. This article explores his insightful lecture and its implications for the future of computer science.
The weakness of human programming
Welsh commenced his lecture by highlighting a fundamental challenge within computer science: the human element. Despite five decades of innovation and experimentation with programming languages, data types, and tools, humans continue to struggle with programming.
Welsh questioned whether another half-century of effort would resolve this inherent human limitation. This candid acknowledgment of the persistent weakness in human programming set the stage for a deeper exploration of the future.
Moving beyond the pessimism, Welsh raised intriguing questions about the future of computer science. He pondered how the practice of working with large language models could be formalized and turned into an engineering discipline.
Prompt engineering, though still in its infancy, is seen as a potential avenue for teaching AI models effectively, bridging the gap between human input and AI output. The goal is to transform this process from a dark art into a science, opening new avenues for collaboration between humans and AI.
Teaching AI new skills
One of the key takeaways from Welsh’s lecture was the need to teach AI models new skills. In a world where large language models are becoming increasingly prevalent, understanding how to effectively communicate with them is crucial.
Engineers are discovering nuances and hidden capabilities within these models, which underscores the importance of experimentation in deriving a manual for working with AI effectively. This evolving field is expected to become a formal discipline, significantly altering the way programming is approached.
While AI offers immense potential, it also raises critical questions about the capabilities of these models. Welsh emphasized the need to develop a formal way to reason about the correctness of AI models when tasked with specific challenges. This presents a challenging and uncertain problem that computer scientists will need to address as AI becomes more integrated into the industry.
The future of human programmers
Welsh confronted the inevitable question of whether AI would eventually replace human programmers. While acknowledging that AI would transform the industry, he highlighted the potential for a harmonious coexistence.
In his vision, humans and AI models would iterate together, with each playing to their strengths. This future could redefine the role of software engineers, focusing less on traditional code optimization and more on AI-powered interfaces and applications.
One positive aspect of this AI-driven future is the democratization of computing power. As AI takes on more tasks, computing becomes accessible to a broader segment of the population. The end of programming as we know it may open doors for individuals who were previously deterred by the complexities of coding.
This shift could bring a more inclusive approach to technology, breaking down the barriers that once limited access to the power of computing.
The ineffable quality of human programmers
A student’s question during the lecture raised the possibility that human programmers possess an ineffable quality that AI cannot replicate. Factors such as human training, knowledge of the world, ethics, and socialization might make human software engineers indispensable in certain contexts.
While Welsh acknowledged this perspective, he focused on the potential for AI and humans to complement each other’s abilities, leading to more efficient and creative problem-solving.
Welsh’s insights prompted a crucial question: How should computer science education evolve in response to these changes? He stressed the need for a curriculum that delves into the mechanics behind AI models, data handling, model construction, limitations, and evaluation. Critical thinking and understanding of the workings of AI should be central to education, rather than viewing AI as a magical black box. As the industry evolves, computer science programs must adapt to equip students with the skills and knowledge needed for the AI-driven future.