Learning to Program, Not to Code
A Vision Statement for CSE 12X and AI
Last updated: Autumn 2026
How does Google Maps find the fastest route between two addresses? How do social media platforms manage millions of posts per day? How can you be sure your text messages remain private? What goes on behind the curtain when you send a prompt off to a large language model?
Questions like these are representative of the day-to-day work of programmers, and so learning how to reason about and answer them is central to the study of computer science and computer engineering. The concepts and technologies they highlight – graph theory and networking, databases, cryptography, and machine learning – are core to many computing applications and the keys to the practice of computer science. More importantly, future innovation in these and other similar areas remains challenging, even as implementing well-defined programs in code becomes easier with the assistance of artificial intelligence tools. We study questions like these not because we expect current students to find new and better answers to them, but because we want students to acquire the skills and foundational knowledge for solving similar, less-well-understood problems in the future.
The discipline of computing is undergoing significant change. AI tools have grown significantly in their ability to generate implementations of many simpler programs, such as those in introductory programming classes. The ubiquity and quality of AI code generation tools has also made them an important tool in developing more sophisticated software systems. It is clear that software implementation is becoming less reliant on manual code writing. What remains unchanged, however, is the need to think programmatically to design and manage computing systems. AI amplifies the skill of the AI user: the better the AI user is at programming, the better the software they will be able to produce with AI. Therefore, even though AI tools are capable of generating code in many settings, there is still enormous value in learning the fundamentals of programming. Additionally, the ability to understand, modify, and trace through unfamiliar code remains vital in working with programs (AI-generated or otherwise), and developing these skills occurs by beginning to work with simple problems that AI tools can already solve.
With this context in mind, and with the firm conviction that many students both inside and outside of the Allen School will continue to benefit from a strong foundation in programming, we are making changes to the courses in the CSE 12X Introduction to Computer Programming sequence starting in Autumn 2026. These changes are intended to realign the courses with the primary learning objective of building foundational programmatic thinking and reasoning abilities. This goal of the introductory course sequence has not changed, but the approaches and assessments are being updated to reflect a shifting context.
What’s Changing
The primary changes to the CSE 12X courses involve integrating opportunities for producing code both with and without AI code generators, while also increasing the emphasis on code comprehension, debugging, testing, and communication skills. These priorities will be reflected in a new assessment model focused on students’ demonstration of core competencies through AI-free assessments proctored by course staff. Program implementation will be assessed through take-home assignments on which AI use is permitted. Specific planned changes are summarized below.
- Assessment Model: Graded work will
comprise three assessment categories. Final course grades
will be more heavily weighted towards proctored assessments
than take-home assessments compared to prior offerings of
CSE 12X courses.
- Projects will focus on implementing specifications through code in near-real-world settings.
- Computer quizzes will provide a means for assessing students’ (small-scale) code writing, debugging, and testing competencies in a proctored programming environment.
- Written quizzes and exams will focus on code reading, comprehension, communication, and program design skills.
- AI Use Policy: In tandem with these changes in assessment, course policies on AI usage will be updated. Students will be allowed to generate code using AI tools for projects, but designing, debugging, testing, understanding, and reflecting on the implementation will still require active engagement and decision-making. In addition, students will be expected to demonstrate their knowledge and computational thinking skills in proctored settings without access to AI tools.
What’s Not Changing
The central mission of the CSE 12X remains the same: to help students, regardless of major, develop computational thinking and hands-on programming skills. All three courses will still expect students to demonstrate the ability to analyze, trace, debug, and write code at a small scale in proctored assessment settings, without the aid of AI or other tools. As such, the courses will continue to focus on how to reason through and produce code.
Understanding AI systems and utilizing AI tools will not be a focus of the CSE 12X curriculum. Starting in Winter 2027, CSE 170: Principles, Impacts, and Applications of Artificial Intelligence will offer students from all majors and prior programming backgrounds an introductory CSE course on critical AI literacy.
These changes are intended to respond to and reflect the growing role generative AI is playing in software development. That said, we acknowledge that the proliferation of AI, inside and outside of computing contexts, remains contested. As computer scientists, we must confront the well-documented consequences of the technology’s widespread use, such as the environmental and energy impacts of AI’s computational demands, the reliance of generative AI on unacknowledged and uncompensated labor and intellectual property, and the erosion of socialization and critical thinking capacities. While not the primary focus of the CSE 12X courses, students will have opportunities to engage with these questions as part of their work.
The CSE 12X courses will continue to welcome students from across campus interested in computational thinking, regardless of their prior experience or views on AI. To this end, the changes in the 12X curriculum do not require the use of any AI tools by students. While we anticipate students will make decisions on AI use in light of their own dispositions and goals, we want to underscore our conviction that students can succeed in CSE 12X without relying on AI tools.
The described changes to the CSE 12X courses have been thoroughly discussed and implemented after careful consideration. Before the advent of AI code-generation tools, a focus on the syntax, semantics, and errors of a particular language was necessary in order to unlock the ability to implement the types of algorithms students encounter in advanced courses. Strong familiarity with foundational programming building blocks remains an immense asset for computing students and software developers alike, but the bottleneck to implementation has become less rigid. Our hope is that these changes better highlight the shifting yet still-critical role of humans in the development of software, enabling our courses to continue to cultivate in students a love and appreciation for computing.