Slides · UC San Diego, October 12, 2026

The CS Curriculum in the Age of Coding Agents

Bill Pugh, University of Maryland. Given in UC San Diego’s "Tales of Modern Software Engineering" series on October 12, 2026; an earlier version was given to a UMD class on September 29. Beneath each slide is a list of the sources it cites; the full list is at the end.

Also available: about the talk (abstract and bio), the slides as a PDF, and the reference list, all in github.com/billpugh/talks.

Comments and corrections: pugh@umd.edu. Please refer to slides by number.

Jump to backup slides All references

Play mode shows one slide at a time. Use the arrow keys or space to move, F for full screen, Esc to return here.

1

The CS Curriculum in the Age of Coding Agents

The CS Curriculum in the Age of Coding Agents

More questions than answers

Bill Pugh, University of Maryland

Professor Emeritus of Computer Science

pugh@umd.edu

Slides, PDF, and references: billpugh.github.io/talks/2026-10-12-UCSD

QR code for the slides and references

2

Questions, some answers and some guesses

Questions, some answers and some guesses

  • How is software development changing, and which changes will last?
  • What skills should CS students have when they graduate?
  • What do we know about how AI affects learning?
  • What advice can we give current CS students?
  • How should the CS curriculum change, from the first programming course to the capstone?
  • How should we change our intro CS courses?
3

How much change should we prepare for?

How much change should we prepare for?

¯\_(ツ)_/¯

Very few knowledgeable people try to make detailed predictions further than two years into the future.

I'm going to pick a rate of change that I think is just a little bit conservative:

  • Should be good preparation for all but the rapid-change scenarios
  • If things change very rapidly, we will have moved in the right direction and can adjust
4

How is software development changing, and which changes will last?

How is software development changing, and which changes will last?

QR code for the slides and references

5

Source code will be typed by AI

Source code will be typed by AI

  • "Typed," not "written." I mean the text of source files. Writing software is more than that.
  • Anthropic, June 2026: more than 80% of code merged into their codebase was authored by Claude
  • Google, April 2026: 75% of new code AI-generated and approved by engineers (25% in Oct 2024, 50% fall 2025)
  • Thorsten Ball, co-creator of the Amp coding agent and author of Writing a Compiler in Go, July 2026: "Nobody in our team really writes code by hand anymore. I certainly don't." His team poll: 99, 95, 90 percent

Two companies and one engineer who used to write compilers by hand. One direction.

3 references
  1. When AI builds itself: Our progress toward recursive self-improvement, and its implications. Anthropic (The Anthropic Institute); co-authored by Marina Favaro and Jack Clark. Anthropic Institute report, 4 June 2026. The page is undated; 4 June 2026 is the date reported in press coverage.
  2. Sundar Pichai shares news from Google Cloud Next 2026. Sundar Pichai. The Keyword (Google blog), 22 Apr 2026 (Google Cloud Next 2026 keynote remarks).
  3. Think Harder: How I Prompt. Thorsten Ball. Laracon US talk, 29 July 2026 (video with transcript). Transcript from auto-generated captions.
6

This becomes near-universal even if the models stop improving

This becomes near-universal even if the models stop improving

Why not yet:

  1. Adoption lag
  2. Harness headroom. The agent scaffolding can improve independently of the model, some of it company-specific
  3. QA infrastructure. Rerun every affected test, static analysis, style guides, checks that the code is not getting harder to maintain, before code is ready for review or use

None trivial. Most companies get there in about two years.

7

Prefer frameworks that are secure by design

Prefer frameworks that are secure by design

  • For example, prefer Rust to memory-unsafe languages
  • The OWASP Secure by Design Framework
  • Use abstractions that prevent entire categories of bugs
  • Cedar (Amazon, 2023): an open-source language and engine for access control. Permissions are policies, separate from application logic, and the engine is formally modeled and its correctness properties proved with automated reasoning. cedarpolicy.com

Such frameworks make important properties and abstractions explicit in the code, making it easier for humans and agents to have a good conversation about them, and remove the concern that agents might not correctly implement them.

2 references
  1. OWASP Secure by Design Framework. OWASP Foundation. OWASP project page.
  2. Introducing Cedar, an open-source language for access control. Amazon Web Services. AWS announcement, 10 May 2023. Language site and playground: https://cedarpolicy.com/
8

Offensive AI-powered cyberattacks demand better code

Offensive AI-powered cyberattacks demand better code

  • The way even top development teams wrote software two years ago is no longer sufficient
  • Using AI coding models to improve security is essential, but may not be sufficient
  • Companies such as Google and Amazon are trying hard to move from C/C++ to Rust, even rewriting existing C/C++ code bases
9

What happens to code review

What happens to code review

Boris Cherny, creator of Claude Code, Sept 2026, in response to "What to do about slop?": production code written by Claude "should have a higher bar than if it was written by a human." The bar: lint, tests, Claude-driven end-to-end tests, daily fuzzers, automated code and security review, automated refactoring.

"Your job is to hold the bar on code quality."

He never says "read the code."

Simon Willison, May 2026: "I'm not reviewing every line of code that they write anymore, even for my production level stuff."

2 references
  1. "Every day, I get a lot of emails and messages like this one ..." (thread sharing an emailed question, "What to do about slop?", and his reply). Boris Cherny. Thread on X, 10 Sept 2026. The thread's first post shows the emailed question, from a developer with 12 years' experience; Cherny's reply is the second post. Discussed by Simon Willison: https://simonwillison.net/2026/Sep/11/boris-cherny/
  2. Ep. #9, The AI Coding Paradigm Shift with Simon Willison. Simon Willison (guest), Joseph Ruscio (host). High Leverage podcast (Heavybit), 5 May 2026. The line is at about 12:00 of the episode; Willison's own write-up, 6 May 2026: https://simonwillison.net/2026/May/6/vibe-coding-and-agentic-engineering/
10

Agents get very good at anything with a clear pass/fail test

Agents get very good at anything with a clear pass/fail test

  • Anything with a clear pass/fail test can be used for reinforcement learning with verifiable rewards. The models get exceptionally good at exactly that
  • And an agent can iterate in a loop until every test passes

So: for a well-specified problem with an adequate validation harness, functional correctness is mostly no longer the worry.

The remaining issues are all the other things we expect of software.

11

What code review was always about

What code review was always about

  • Three studies over fifteen years: about 75% of review findings are maintainability, 25% functional (Mäntylä & Lassenius 2009; Bacchelli & Bird 2013; Beller et al. 2014). Microsoft's own title: "Code reviews do not find bugs" (Czerwonka, Greiler, Tilford, 2015)
  • Much of that 75% was not style. "When an experienced engineer reads a diff and says 'I don't understand this,' their confusion is the finding" (Allspaw, 2026). Comprehensibility is a property of a person meeting the code, not of the code alone
  • Google's stated reason for code review: "code must act as a teacher for future developers." Readability, "maintaining norms": that isn't how we do it here
  • Google tried 117 code and log metrics to predict where its engineers said working code was slowing them down. None worked. Their explanation: that is a judgment comparing the code as it is to the code as it should be, and no metric can see the "should" (Jaspan & Green, 2023)
7 references
  1. What Types of Defects Are Really Discovered in Code Reviews? Mika V. Mäntylä, Casper Lassenius. IEEE Transactions on Software Engineering 35(3):430-448, May/June 2009.
  2. Expectations, Outcomes, and Challenges of Modern Code Review. Alberto Bacchelli, Christian Bird. ICSE 2013 (35th International Conference on Software Engineering), pp. 712-721, May 2013. Open PDF at https://www.microsoft.com/en-us/research/wp-content/uploads/2016/02/ICSE202013-codereview.pdf
  3. Modern Code Reviews in Open-Source Projects: Which Problems Do They Fix? Moritz Beller, Alberto Bacchelli, Andy Zaidman, Elmar Juergens. MSR 2014 (11th Working Conference on Mining Software Repositories), pp. 202-211, May 2014. Open PDF at http://sback.it/publications/msr2014.pdf
  4. Code Reviews Do Not Find Bugs: How the Current Code Review Best Practice Slows Us Down. Jacek Czerwonka, Michaela Greiler, Jack Tilford. ICSE 2015 (Software Engineering in Practice track), pp. 27-28, May 2015.
  5. There is more to code review than (automatable) detection. John Allspaw. Blog post (Adaptive Capacity Labs), 24 Aug 2026. A reply to Monperrus 2026.
  6. Modern Code Review: A Case Study at Google. Caitlin Sadowski, Emma Söderberg, Luke Church, Michal Sipko, Alberto Bacchelli. ICSE-SEIP 2018 (40th International Conference on Software Engineering: Software Engineering in Practice), pp. 181-190, May 2018. Source of both "code must act as a teacher for future developers" and "maintaining norms". Open PDF: https://sback.it/publications/icse2018seip.pdf
  7. Defining, Measuring, and Managing Technical Debt. Ciera Jaspan, Collin Green. IEEE Software 40(3):15-19, May/June 2023.
12

Three kinds of debt (Storey, 2026)

Three kinds of debt (Storey, 2026)

  • Technical debt makes systems harder to change
  • Cognitive debt makes systems harder to understand
  • Intent debt makes it hard to know what the system is for

"Generative AI does not remove the challenges of software engineering; it redistributes them."

Her own students: a senior team using AI to ship fast hit a wall in week eight, because "no one on the team could explain why certain design decisions had been made."

1 reference
  1. From Technical Debt to Cognitive and Intent Debt: Rethinking Software Health in the Age of AI. Margaret-Anne Storey. arXiv 2603.22106, Mar 2026 (v4, 6 Apr 2026). Also published in ACM Queue 24(2), 2026, https://doi.org/10.1145/3807966
13

What injury might we incur by just using AI code that passes every test?

What injury might we incur by just using AI code that passes every test?

Suppose the tests are adequate and the code passes them. What might we lose?

  • The code may still be slop: duplication, not the way this codebase does it, structure that resists the next change, a design nobody would have chosen
  • When humans built the code, building it had benefits beyond the code:
    • the people who wrote it understood it, and could change it safely
    • the reasons for its shape were in someone's head, and often in the names and structure
    • review taught newcomers how we do things here, and the conversation produced "a shared understanding that neither party had prior to the discussion"

Accept generated code and you get the artifact without the side effects. The tests cannot see what is missing.

1 reference
  1. There is more to code review than (automatable) detection. John Allspaw. Blog post (Adaptive Capacity Labs), 24 Aug 2026. A reply to Monperrus 2026.
14

Code review will transform to change review

Code review will transform to change review

Marc Brooker, Distinguished Engineer, AWS, Sept 2026: "I believe that, long-term, humans have no role in routinely reviewing code."

Two different things are likely to happen:

  1. Many changes will not need any human review. Meta's RADAR (2026): of 535K eligible low-risk, mostly bot-generated diffs, a risk model plus an LLM reviewer landed 62% (332K) with no human review and sent the other 38% to people. Everything outside the eligible categories still goes to human review
  2. Changes that do need review will be reviewed above the source code. Meta's AfterVibe (2026) distills an agent session and its diff into a spec of intent, design decisions, and behavioral requirements, about one sixth the diff's size: "specifications, not code, could become the primary artifact for human review." Their own open questions: will reviewers accept the spec as the thing they review, and does spec-driven review catch more bugs in practice?

The human reviewer will operate at a layer mostly above source code. How are the abstractions, specifications and design changing?

4 references
  1. "There's been a ton of talk about the role of humans in code review ... I believe that, long-term, humans have no role in routinely reviewing code." (9-post thread). Marc Brooker. Thread on X, 18 Sept 2026.
  2. Automating Low-Risk Code Review at Meta: RADAR, Risk Calibration, and Review Efficiency. Chris Adams, Arjun Singh Banga, Parveen Bansal, Souvik Bhattacharya, Payal Bhuptani, Rujin Cao, Pedro Canahuati, Nate Cook, Brian Ellis, Prabhakar Goyal, Gurinder Grewal, Tianyu He, Matt Labunka, Alex Manners, David Molnar, Ging Cee Ng, Vishal Parekh, Jiefu Pei, Frederic Sagnes, James Saindon, Will Shackleton, Sid Sidhu, Gursharan Singh, Karthik Chengayan Sridhar, Matt Steiner, Pratibha Udmalpet, Sean Xia, Stacey Yan, Audris Mockus, Peter Rigby, Nachiappan Nagappan (Meta). arXiv 2605.30208, May 2026 (v2 June 2026); industry preprint, no venue. The 1/50 incident and 1/3 revert rates compare risk-model-selected low-risk diffs with all other diffs; the authors do not claim causality.
  3. AfterVibe: What Remains When the Conversation Ends. Matteo Paltenghi, Satish Chandra (Meta). arXiv 2607.09900, July 2026; preprint, no venue. 72 internal tasks; specs evaluated by a blind agent rebuild graded by LLMs; no human reviewers in the study.
  4. AI in SE: The Era of Coding Agents. Satish Chandra (Meta). Keynote, REBASE 2026 at SPLASH/ISSTA, Oakland, 6 Oct 2026. Slides not public; the open questions quoted on the slide are from "Specs as the Source of Record: Open Problems" (slide 42 as presented), as photographed by Bill Pugh and checked against the speaker's deck.
15

What a change review would look at

What a change review would look at

  1. The project's own abstractions and specifications. State machines, sequence diagrams, APIs and schemas, correctness properties. Kept in sync with the code, so a code change that affects a specification also updates that specification, and reviewing that update is part of the change review. Whether the code still conforms is a check an agent can run
  2. A concise description of the change and its intent beyond what those specifications capture: what AfterVibe is reaching for, written from the session and the diff
  3. Keep the per-change descriptions in the project's history. A record of intent that people and agents can read when asking why the code is the way it is: Storey's intent debt, paid down one change at a time

The reviewer judges the design and the intent. The diff is there to drill into, not to read.

2 references
  1. AfterVibe: What Remains When the Conversation Ends. Matteo Paltenghi, Satish Chandra (Meta). arXiv 2607.09900, July 2026; preprint, no venue. 72 internal tasks; specs evaluated by a blind agent rebuild graded by LLMs; no human reviewers in the study.
  2. From Technical Debt to Cognitive and Intent Debt: Rethinking Software Health in the Age of AI. Margaret-Anne Storey. arXiv 2603.22106, Mar 2026 (v4, 6 Apr 2026). Also published in ACM Queue 24(2), 2026, https://doi.org/10.1145/3807966
16

What skills should CS students have when they graduate?

What skills should CS students have when they graduate?

QR code for the slides and references

17

From programmers to engineers

From programmers to engineers

Ciera Jaspan, Engineering Productivity Research, Google, May 2026:

"I kind of like that this is maybe going to be the forcing function that's going to take us from being programmers to being engineers. The code is still there. We still have to make sure it's high quality. But part of quality is not just the individual lines of code. It's about how the whole system is put together. It's about, does this system even solve the problem my users have in the first place?"

And earlier in the same session:

"we're now going to need to make sure everybody is a senior engineer, including our most junior people graduating from college today."

1 reference
  1. A fireside chat on the evolution of the developer craft. Richard Seroter (moderator), Ciera Jaspan, Aja Hammerly, Addy Osmani. Google I/O 2026 fireside chat, Professional Development track, Mountain View, 19-20 May 2026 (video uploaded 21 May 2026). The quoted remarks are at 1:59 and 37:50. Session page: https://io.google/2026/explore/workshop-5
18

What the people who hire say

What the people who hire say

The T-shape: GenAI usage across the top; core software engineering as the deep stem; adjacent engineering and non-engineering at the sides

Figure 3, Kam et al., FSE 2025 (CC BY 4.0)

Kam et al., Google + Education Development Center, FSE 2025 (job analysis with expert developers, May 2024, before agents)

Deep in core software engineering. Broad in using AI, in adjacent engineering (security, regulation), and in the non-engineering context: users, customers, business, market.

"a regular AI-enhanced developer of tomorrow will need to have the skills & knowledge of today's senior developer"

1 reference
  1. What Do Professional Software Developers Need To Know To Succeed in an Age of Artificial Intelligence? Matthew Kam, Cody Miller, Miaoxin Wang, Abey Tidwell, Irene A. Lee, Joyce Malyn-Smith, Beatriz Perret, Vikram Tiwari, Joshua Kenitzer, Andrew Macvean, Erin Barrar. FSE Companion '25 (33rd ACM International Conference on the Foundations of Software Engineering), Trondheim, June 2025, pp. 947-958; arXiv 2506.00202, May 2025. Open version with the full occupational profile: https://arxiv.org/abs/2506.00202 (CC BY 4.0). The seventh author is "Perret" in the ACM record and "Perez" on arXiv.
19

Skills that used to be learned late are becoming entry requirements

Skills that used to be learned late are becoming entry requirements

Specification. Testing and quality assurance. Version control. Design. Reading and explaining code you did not write. Working with people who are not software developers.

Students used to pick these up in senior courses, internships, side projects, or the first year on the job.

We could have been teaching many of these fifteen years ago. Some CS programs were.

20

Depth and detectors

Depth and detectors

Shriram Krishnamurthi, "Advice to the New College Student in the AI Era," summer 2026:

"the purpose of going to college is to emerge as close to middle-aged as possible ... cognitively. The way you do that is to acquire depth."

"the scars of battle help you develop a finely-tuned sense of what can go wrong. This translates into high-quality detectors that identify various kinds of weaknesses: bullshit, threats to validity, ground not covered, and so on."

Detectors = a person's internal alarms. Not a tool.

"Long, manual slogs helped us build up those detectors, and now we have tools that amplify the need for them. Without those detectors, modern AI tools set you up for epic failure — and the worst part is, without the detectors, you won't even know you've failed."

1 reference
  1. Advice to the New College Student in the AI Era. Shriram Krishnamurthi. Published Google Doc, late summer 2026.
21

Software is more than source code and unit tests

Software is more than source code and unit tests

Software includes decisions and thinking about:

  1. What the software must do, and what properties it must have
  2. How it accomplishes that: strategies, algorithms, architecture, interfaces
  3. Gaining confidence that what was built serves its intended purpose

These concerns are spread across many documents and artifacts: requirements, design documents, diagrams, API and schema definitions, tests, conventions files, review discussions, and the code itself. Often jumbled.

22

Confidence is bigger than tests: exposure notification

Confidence is bigger than tests: exposure notification

At Apple, on COVID exposure notification:

  • Nothing logged in the clear on Apple servers. Not even the number of users in a region
  • Opt-in privacy-preserving analytics: you could only learn what you had decided in advance to ask, and devices added noise
  • We needed two significant revisions. We had missed the most important question: are people who get a notification more likely to contract COVID?
  • After vaccines, base rates fell and the noise swamped the signal. We had to argue for new analytics
  • The analytics also found bugs in Apple's and Google's code that we would never have known about
1 reference
  1. Exposure Notification Privacy-preserving Analytics (ENPA) White Paper. Apple and Google. White paper, April 2021.
23

Design documentation is where humans matter most right now

Design documentation is where humans matter most right now

Sequence diagrams. State machines. Externally exposed APIs you cannot refactor after release. Complex types and schemas.

Some might have just lived in developers' heads, or in a document somewhere that did not track revisions with the code and quietly went stale. Now: humans author and review the design; models keep it in sync with the code and tests.

"the responsibilities of software developers are rapidly becoming more about designing and less about programming." Shaw, Hilton, Fairbanks, IEEE Software, Mar-Apr 2026

Caution (Storey): "Resist the automation of understanding."

2 references
  1. AI Tools Make Design Skills More Important than Ever. Mary Shaw, Michael Hilton, George Fairbanks. IEEE Software 43(2), Mar-Apr 2026 (The Pragmatic Designer column). Open copy on Fairbanks's site: https://georgefairbanks.com/ieee-software-v43-n2-mar-apr-2026-ai-tools
  2. From Technical Debt to Cognitive and Intent Debt: Rethinking Software Health in the Age of AI. Margaret-Anne Storey. arXiv 2603.22106, Mar 2026 (v4, 6 Apr 2026). Also published in ACM Queue 24(2), 2026, https://doi.org/10.1145/3807966
24

What do we know about how AI affects learning?

What do we know about how AI affects learning?

QR code for the slides and references

25

What counts as learning?

What counts as learning?

  • Learning is not the same as getting the task done or the score on the test
  • Acquiring a skill requires mental effort and, usually, productive struggle and failure along the way
  • The research question is not "do students perform better with AI" but "what skills have students acquired"
  • Many published papers on the impact of AI on student learning date from before agentic AI coding tools were good. Impact of current and future models uncertain
26

Performance is not learning

Performance is not learning

Bastani et al., PNAS 2025 (about 1,000 high-school math students, randomized):

  • With unguarded GPT-4 during practice: +48% on practice problems
  • On the unassisted exam: −17% versus students who never had access
  • With a tutor scaffold that withheld answers: harm removed, no gain

Anthropic, Jan 2026 (52 junior engineers learning a Python library): AI-assisted group 50% on the follow-up quiz vs 67% hand-coding. The AI group finished only two minutes faster.

You can cheat yourself by completing the task without obtaining the learning the task was designed to provide, even if you are allowed to use AI.

2 references
  1. Generative AI without guardrails can harm learning: Evidence from high school mathematics. Hamsa Bastani, Osbert Bastani, Alp Sungu, Haosen Ge, Özge Kabakcı, Rei Mariman. PNAS 122(26), e2422633122, June 2025. The SSRN preprint (July 2024) was titled "Generative AI Can Harm Learning".
  2. How AI assistance impacts the formation of coding skills. Judy Hanwen Shen, Alex Tamkin (Anthropic). Anthropic research post, 29 Jan 2026; paper "How AI Impacts Skill Formation", arXiv 2601.20245, Jan 2026. Paper: https://arxiv.org/abs/2601.20245
27

Not specific to CS: a randomized trial across UMD

Not specific to CS: a randomized trial across UMD

Liu, Sweet, Chen, et al., University of Maryland, preprint dated Sept 29, 2026. Fall 2025: 30 instructors in 11 of UMD's 12 colleges, 2,379 students. Instructors were randomized to turn on UMD's course-grounded GPT-4o study assistant.

  • Only 15% of the students offered it ever used it
  • Among sections of the same course: final grades 0.37 SD lower (about 4 points of 100); activity on the course site 0.9 SD lower
  • Students who never opened it lost about as much as those who did. Larger losses for first-generation students
  • 74% of requests asked for an answer or explanation. 0.7% asked for feedback on the student's own work

Putting an AI tool in a course is not the same as integrating it into the teaching. It was left in answer-giving mode, and no instructor built assignments around it.

1 reference
  1. The Effects of Course-Integrated AI Tutoring on Student Performance and Engagement: A Randomized University Trial. Jing Liu, Tracy Sweet, Marty Haoyuan Chen, Jonathan Engelberg, Martyn Clark, Axel Persaud, Alia Lancaster, Jeffrey Hollingsworth, Jennifer King Rice, Megan Masters. Working paper, EdWorkingPaper 26-1598, Annenberg Institute at Brown University, Sept 2026. Preprint, not peer reviewed. Landing page: https://edworkingpapers.com/ai26-1598
28

Struggle has to land on the right thing

Struggle has to land on the right thing

  • Bjork: a difficulty is desirable only if it exercises the process you are trying to build. A logic error in a loop exercises how programs run. A missing colon does not
  • Kapur, "productive failure": students who first attempt problems they have not yet been taught how to solve, and then get instruction, learn more than students who get the instruction first and then practice, provided the failure is safe and is followed by consolidation. A meta-analysis of 53 studies puts the effect at about a third of a standard deviation, larger when done well
  • Krishnamurthi's test for the student: "Am I eliminating failure?"
4 references
  1. Making Things Hard on Yourself, But in a Good Way: Creating Desirable Difficulties to Enhance Learning. Elizabeth L. Bjork, Robert A. Bjork. Book chapter in M. A. Gernsbacher, R. W. Pew, L. M. Hough, J. R. Pomerantz (eds.), Psychology and the Real World: Essays Illustrating Fundamental Contributions to Society, Worth Publishers, 2011, pp. 56-64.
  2. When Problem Solving Followed by Instruction Works: Evidence for Productive Failure. Tanmay Sinha, Manu Kapur. Review of Educational Research 91(5), 2021. A meta-analysis of 53 studies (166 comparisons).
  3. Productive Failure. Manu Kapur. Cognition and Instruction 26(3):379-424, 2008.
  4. Advice to the New College Student in the AI Era. Shriram Krishnamurthi. Published Google Doc, late summer 2026.
29

Students who skip the learning strategies do not find out until it is too late

Students who skip the learning strategies do not find out until it is too late

  • Prather et al. 2024 (21 CS1 students, think-aloud with Copilot and ChatGPT): new metacognitive difficulties when coding with AI: being interrupted by suggestions, being misled down the wrong path, and being behind without knowing it
  • Denny et al. 2025, 1,028 intro students at the University of Auckland working on underspecified problems: about 95% of A students probed the oracle before coding; more than half of D students never did
  • Bastani's students who practiced with AI felt fine right up to the exam

If the course only recommends the strategies that lead to learning, the students who most need them will not adopt them. The course has to push everyone into them.

3 references
  1. The Widening Gap: The Benefits and Harms of Generative AI for Novice Programmers. James Prather, Brent Reeves, Juho Leinonen, Stephen MacNeil, Arisoa S. Randrianasolo, Brett A. Becker, Bailey Kimmel, Jared Wright, Ben Briggs. ICER 2024 (ACM Conference on International Computing Education Research), Aug 2024. Open version at https://arxiv.org/abs/2405.17739
  2. Probing the Unknown: Exploring Student Interactions with Probeable Problems at Scale in Introductory Programming. Paul Denny, Viraj Kumar, Stephen MacNeil, James Prather, Juho Leinonen. ITiCSE 2025, July 2025; arXiv 2504.11723, Apr 2025. Open version at https://arxiv.org/abs/2504.11723
  3. Generative AI without guardrails can harm learning: Evidence from high school mathematics. Hamsa Bastani, Osbert Bastani, Alp Sungu, Haosen Ge, Özge Kabakcı, Rei Mariman. PNAS 122(26), e2422633122, June 2025. The SSRN preprint (July 2024) was titled "Generative AI Can Harm Learning".
30

Adding AI to a course shouldn't make it easier; maybe harder

Adding AI to a course shouldn't make it easier; maybe harder

For both students and instructor.

  • Need to decide what the important concepts and skills this course builds
  • It can't be just "complete a task"
  • Deftly navigate the use of AI so students productively struggle on tasks that build those important skills, while minimizing the struggle with unimportant ones
31

Two obvious ways to patch an existing programming course

Two obvious ways to patch an existing programming course

  1. Ban AI on programming assignments
  2. Allow AI at the student's discretion, but leave the content unchanged from before AI, and what students are responsible for on exams unchanged

A coherent case can be made for 1, and some courses may do it until we have better approaches. But it cannot be enforced.

2 could end badly. Some students will avoid the challenges needed to learn skills that are still being tested, and will not find out until the exam. Unfortunately, 2 is what many courses have drifted into.

Anything beyond patching means moving topics around and re-imagining the course.

32

What advice can we give current CS students?

What advice can we give current CS students?

QR code for the slides and references

33

Take a course in modern software development

Take a course in modern software development

If your CS department offers one, take it.

Specification, testing, review, design: these are the skills that are becoming entry requirements, and they change far more slowly than the tools.

34

Decide what you want to master, and what you don't

Decide what you want to master, and what you don't

Productively struggle with the concepts and skills you want to know well.

You might decide you never want to master SQL syntax.

Maybe you decide you don't want to master building the front end for a web app. Then you can delegate most of that to AI, although you are still responsible for thinking about the entire application and the messages that will be exchanged with the front end.

35

Don't race to keep up with the bleeding edge of AI coding tools

Don't race to keep up with the bleeding edge of AI coding tools

It is exhausting, and whatever you learn is out of date in six months.

You do have to experience it for yourself, once, properly. Jaspan learns one new tool a month: "It keeps me sane." That is a full-time Google engineer's pace. With a full course load, something new about three times a year, learned properly, is enough.

1 reference
  1. A fireside chat on the evolution of the developer craft. Richard Seroter (moderator), Ciera Jaspan, Aja Hammerly, Addy Osmani. Google I/O 2026 fireside chat, Professional Development track, Mountain View, 19-20 May 2026 (video uploaded 21 May 2026). The quoted remarks are at 1:59 and 37:50. Session page: https://io.google/2026/explore/workshop-5
36

Have something software-related going on outside your courses

Have something software-related going on outside your courses

With people who are not all CS students.

Don't depend on the CS courses offered in the next two years to be the only thing you need to get you there. Find a group helping some organization solve a need in which software is a key component: a club such as Hack4Impact, a startup idea, a field outside CS you come to understand deeply.

I've observed over decades as a student and a faculty member that the students best prepared to have impact all had something like this. Sometimes research with a faculty member. More often, something built with other students. True for decades. More important now.

37

What that builds: taste

What that builds: taste

Calibrated judgment on the dimensions nobody has written a test for:
what is missing, what would be simpler, what will be hard to change, what the user actually wanted.

  • Scarce because it cannot be measured (Google's 117 metrics found none that worked) and because the places it was learned, code review and asking a senior, are eroding
  • Built the way every design discipline builds it: many examples with feedback, and comparison. The studio critique
  • Agents make comparison cheap: five designs in a minute
1 reference
  1. Defining, Measuring, and Managing Technical Debt. Ciera Jaspan, Collin Green. IEEE Software 40(3):15-19, May/June 2023.
38

How should the CS curriculum change, from the first programming course to the capstone?

How should the CS curriculum change, from the first programming course to the capstone?

QR code for the slides and references

39

Changing a curriculum

Changing a curriculum

  • A CS department cannot reinvent its courses every year or two
  • A course has to reuse 60 to 90% of its material from one year to the next, or it cannot be staffed, approved, or taught well
  • So the question is not "what should the course look like this fall" but "what can we build that stays mostly right for several years"
  • Fundamentals change over decades. Effective use of AI tools changes in months. Design the course so the perishable part is small and swappable
40

Every layer changes

Every layer changes

Layer What changes
Intro Concepts without the syntax tax; specification; verification
Data structures, systems Read and audit generated code; invariants; performance, memory, behavior under stress
Software engineering Design documentation, API design, types and schemas, review as norm-setting, the three debts
Capstone An intent-debt laboratory

Experiments are wanted throughout. The intro course is where they are urgently needed.

41

How should we change our intro CS courses?

How should we change our intro CS courses?

QR code for the slides and references

42

Why the intro courses are the hard case

Why the intro courses are the hard case

  • The typical assignments are so easy that even non-frontier models produce solutions to all of them
  • The problems are too simple and unrealistic to engage students
  • And yet these courses may be where students acquire the fundamental conceptual building blocks: iteration, lists, conditionals, functions, and how programs run
  • Without that conceptual foundation, students might struggle to become good software developers, even in a world where they never type source code
43

Additional complication: many students will skip CS1

Additional complication: many students will skip CS1

  • We want our new CS1 to be approachable by students with no previous programming experience
  • Many students will likely skip CS1, based on work in high school or community college, in courses that have not been updated for generative AI
  • Any topic we consider required for using generative AI effectively has to be covered in CS2, the first CS course some students will take
44

For consideration: an experimental CS1 course

For consideration: an experimental CS1 course

Students learn the core concepts of programming while spending a minimum of time, friction, and struggle on source code syntax.

  • Stick to basic constructs that look much the same in many languages: loops, conditionals, arrays, maps, sets, functions, recursion
  • Let students see the same code in Java, Python, C, and Swift, and notice what each language makes you decide
  • Program reading and tracing. Faded Parsons problems. Writing tests that distinguish 4 correct implementations from 8 incorrect ones. Probeable problems
  • Struggle on the right thing
45

The Rainfall problem

The Rainfall problem

Write a function that takes a list of daily rainfall amounts and returns the average rainfall, or None if the average can't be determined. Ignore negative values.

46

Rainfall: what forty years of studies found

Rainfall: what forty years of studies found

For those of us who have written code for decades it is hard to see how a student struggles with this. Some do.

  • Soloway, Yale, 1983: 14% of CS1 students solved it
  • Forty years of studies: the failures are the empty-input and negative-value corner cases, not the loop
  • Any model solves it now. In 2023 Copilot failed it the way students do: it forgot the empty list

The source code that solves this is not interesting. Thinking about the corner cases is the skill students need to develop.

"Most bugs won't be 'coding' bugs. They'll be 'you asked for the wrong thing' bugs." Thorsten Ball, Sept 2026

4 references
  1. Cognitive Strategies and Looping Constructs: An Empirical Study. Elliot Soloway, Jeffrey Bonar, Kate Ehrlich. Communications of the ACM 26(11):853-860, Nov 1983.
  2. The Recurring Rainfall Problem. Kathi Fisler. ICER 2014, Glasgow, Aug 2014, pp. 35-42. Author's copy at https://web.cs.wpi.edu/~kfisler/Pubs/icer14-rainfall/icer14.pdf
  3. The Robots Are Here: Navigating the Generative AI Revolution in Computing Education. James Prather, Paul Denny, Juho Leinonen, Brett A. Becker, et al. (ITiCSE 2023 working group). Proceedings of the 2023 Working Group Reports on Innovation and Technology in Computer Science Education (ITiCSE-WGR 2023), pp. 108-159. Source of the Copilot-on-Rainfall result (4 of 7 variants solved; empty list unguarded in two). Open copy: https://juholeinonen.com/assets/pdf/prather2023robots.pdf
  4. Most predictions I see are still way too conservative. Here's mine (image: "What I believe about the future of software development"). Thorsten Ball. Post on X, 19 Sept 2026. The line is in the attached image; same text on his blog: https://thorstenball.com/blog/2026/09/19/what-i-believe-about-the-future-of-software-development/
47

Rainfall as a Parsons problem

Rainfall as a Parsons problem

The lines of a working program, scrambled. The student puts them in order and indents them. Nothing to type, no syntax errors.

Write a function that takes a list of daily rainfall amounts and returns the average rainfall, or None if the average can't be determined. Ignore negative values.

Where two blocks sit side by side, only one belongs.

def average_rainfall(amounts):
return total / count
if amount > 0:
or
if amount >= 0:
count = count + 1
for amount in amounts:
return None
total = total + amount
if total == 0:
or
if count == 0:
total = 0
count = 0
1 reference
  1. Parson's Programming Puzzles: A Fun and Effective Learning Tool for First Programming Courses. Dale Parsons, Patricia Haden. Proceedings of the 8th Australasian Computing Education Conference (ACE 2006), CRPIT 52, Jan 2006, pp. 157-163.
48

Rainfall as a Parsons problem: the answer

Rainfall as a Parsons problem: the answer

def average_rainfall(amounts):
    total = 0
    count = 0
    for amount in amounts:
        if amount >= 0:
            total = total + amount
            count = count + 1
    if count == 0:
        return None
    return total / count
  • >= 0, not > 0: a day with no rain is still a day
  • total and count change together, under the same if: ignored values stay out of the denominator
  • if count == 0, not if total == 0: two dry days average 0.0; only no days at all is "no data"
  • None says "no data"; 0 would say "no rain"

The student typed nothing, and still had to decide every corner case.

49

Faded Parsons problems

Faded Parsons problems

Real code, visible. Lines to arrange. Blanks for the variables the student must name, or for whole expressions. Paired distractors can still encode the classic bugs (if ___ > 0 next to if ___ >= 0).

  • Deciding what variables you need and what they each mean is an important skill
  • Weinman, Fox, Hearst (Berkeley, 2021): transfer to code writing at least as good as writing, in about a third less time, preferred three to one
  • Never run as the primary format for a whole semester. That is part of the experiment
  • A language toggle: Python by default; later, the same problem in Java, C, Swift, or pseudocode, with one question: what did this language make you decide?
1 reference
  1. Improving Instruction of Programming Patterns with Faded Parsons Problems. Nathaniel Weinman, Armando Fox, Marti A. Hearst. CHI 2021, May 2021.
50

The verification unit

The verification unit

How do you know the answer is right when you did not compute it?

  • Properties, not expected values
  • Equivalent answers, not equal answers: a simple equality test on outputs fails when several different outputs are all correct
  • A slow, obviously correct second implementation, and compare them
  • Invariants checked after every operation
  • Metamorphic relations: avg(2·xs) = 2·avg(xs)
  • Coverage is a floor. Mutation testing: test the tests
  • An exercise: 12 implementations, pairwise distinguishable; 4 correct, 8 wrong. Write tests that tell them apart

The one principle: the oracle must be independent of the implementation. Tests written by LLMs after seeing the code catch 14% of faults instead of 25%.

1 reference
  1. On the risk of coding before testing: An empirical study on LLM-based test generation workflow. Michael Konstantinou, Florian Tambon, Mike Papadakis. arXiv 2607.05139, July 2026. Preprint. The tests in the study were generated by an LLM, after seeing faulty code versus independently (14% vs 25% fault detection).
51

Ambiguity, on purpose

Ambiguity, on purpose

Probeable Problems (Denny et al., 2025): the spec omits details. "Find the smallest even value." An oracle answers any input you try. Probes are free; failed submissions cost.

Top students probe first. More than half of the weakest never do.

Brown's version: students write a test plan before coding; the rows they cannot fill in without a decision are the ambiguities, and the plan says "decide" there.

2 references
  1. Probing the Unknown: Exploring Student Interactions with Probeable Problems at Scale in Introductory Programming. Paul Denny, Viraj Kumar, Stephen MacNeil, James Prather, Juho Leinonen. ITiCSE 2025, July 2025; arXiv 2504.11723, Apr 2025. Open version at https://arxiv.org/abs/2504.11723
  2. CSCI 0111E: Introductory Computing with AI Agents (Fall 2026 course site). Kathi Fisler, Brown University. Course website, Fall 2026 (marked "Public Beta").
52

When do we cover agentic AI?

When do we cover agentic AI?

  • Honestly, I don't know yet. Where agentic AI belongs in CS1 needs a much more detailed course design before anyone can say
  • Perhaps this is best covered more in CS2, which fewer students will skip
  • Perhaps allow students to use LLMs to generate code to parse input or display/graph output
  • Under the covers, the course will likely use agentic AI for generating and analyzing Parsons problems, and more
53

Questions?

Questions?

Backup slides

Material held in reserve for questions or for a longer version of the talk. Not planned for the student talks.

54

Backup slides

Backup slides

QR code for the slides and references

55

Backup: Parsons problems, the evidence

Backup: Parsons problems, the evidence

  • Ericson, Margulieux, Rick 2017: Parsons 473 s vs fix 679 s vs write 714 s per session; no difference in learning or one-week retention
  • Denny, Luxton-Reilly, Simon 2008: Parsons marks correlate with writing marks, not tracing; lower-quartile scores: tracing 0%, writing 48%, Parsons 78%
  • Weinman 2021: faded Parsons beat writing on pattern acquisition; on code-writing transfer, 85% vs 75% in one study, 28% vs 29% in the other
  • 13-institution study 2023: Parsons practice erased the prior-familiarity advantage on the final code-writing task
  • Limits: near transfer only; expertise reversal for experienced students; GPT-4V solved 96.7% of Parsons screenshots, so not an assessment format
6 references
  1. Solving Parsons Problems Versus Fixing and Writing Code. Barbara J. Ericson, Lauren E. Margulieux, Jochen Rick. Koli Calling '17 (17th Koli Calling International Conference on Computing Education Research), pp. 20-29, Nov 2017.
  2. Evaluating a New Exam Question: Parsons Problems. Paul Denny, Andrew Luxton-Reilly, Beth Simon. ICER '08 (Fourth International Workshop on Computing Education Research), pp. 113-124, Sept 2008.
  3. Improving Instruction of Programming Patterns with Faded Parsons Problems. Nathaniel Weinman, Armando Fox, Marti A. Hearst. CHI 2021, May 2021.
  4. Designing Exercises to Teach Programming Patterns. Nathaniel Weinman. PhD dissertation, UC Berkeley, Technical Report UCB/EECS-2022-257, Dec 2022. The 85% vs 75% and 28% vs 29% transfer numbers are from Table 5.3. PDF: https://www2.eecs.berkeley.edu/Pubs/TechRpts/2022/EECS-2022-257.pdf
  5. Multi-Institutional Multi-National Studies of Parsons Problems. Barbara J. Ericson, Janice L. Pearce, Susan H. Rodger, Andrew Csizmadia, Rita Garcia, Francisco J. Gutierrez, Konstantinos Liaskos, Aadarsh Padiyath, Michael James Scott, David H. Smith, Jayakrishnan M. Warriem, Angela Zavaleta Bernuy. ITiCSE-WGR '23 (2023 Working Group Reports on Innovation and Technology in Computer Science Education), pp. 57-107, Dec 2023. The 13-institution ITiCSE 2023 working group. Open PDF: https://repository.falmouth.ac.uk/5216/1/ITiCSE_2023_WorkingGroup_Parsons_Report.pdf
  6. More Robots are Coming: Large Multimodal Models (ChatGPT) can Solve Visually Diverse Images of Parsons Problems. Irene Hou, Owen Man, Sophia Mettille, Sebastian Gutierrez, Kenneth Angelikas, Stephen MacNeil. ACE '24 (26th Australasian Computing Education Conference), pp. 29-38, Jan 2024. arXiv: https://arxiv.org/abs/2311.04926
56

Backup: the verification techniques, with references

Backup: the verification techniques, with references

  • Coverage is a floor: Inozemtseva & Holmes, ICSE 2014
  • Mutation testing: Jia & Harman, TSE 2011; Just et al., FSE 2014; Code Defenders (Fraser et al.)
  • Property-based testing: Claessen & Hughes, QuickCheck, ICFP 2000; Hypothesis; Wrenn, Nelson, Krishnamurthi 2021 on relational problems
  • Differential testing: McKeeman 1998; caveat Knight & Leveson 1986
  • Metamorphic testing: Chen et al., ACM CSUR 2018
  • The oracle problem: Barr et al., TSE 2015; Weyuker 1982
  • Examplar: Wrenn & Krishnamurthi, ICER 2019; conceptual mutation testing: Prasad et al. 2024
14 references
  1. Coverage Is Not Strongly Correlated with Test Suite Effectiveness. Laura Inozemtseva, Reid Holmes. ICSE 2014 (36th International Conference on Software Engineering), pp. 435-445, May 2014.
  2. An Analysis and Survey of the Development of Mutation Testing. Yue Jia, Mark Harman. IEEE Transactions on Software Engineering 37(5), pp. 649-678, Sept-Oct 2011.
  3. Are Mutants a Valid Substitute for Real Faults in Software Testing? René Just, Darioush Jalali, Laura Inozemtseva, Michael D. Ernst, Reid Holmes, Gordon Fraser. FSE 2014 (22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering), pp. 654-665, Nov 2014.
  4. Code Defenders: Crowdsourcing Effective Tests and Subtle Mutants with a Mutation Testing Game. José Miguel Rojas, Thomas D. White, Benjamin S. Clegg, Gordon Fraser. ICSE 2017 (39th IEEE/ACM International Conference on Software Engineering), pp. 677-688, May 2017. The game: https://code-defenders.org/
  5. QuickCheck: A Lightweight Tool for Random Testing of Haskell Programs. Koen Claessen, John Hughes. ICFP 2000 (Fifth ACM SIGPLAN International Conference on Functional Programming), pp. 268-279, Sept 2000.
  6. Hypothesis: A new approach to property-based testing. David R. MacIver, Zac Hatfield-Dodds, and many other contributors. Journal of Open Source Software 4(43), article 1891, Nov 2019. Library: https://hypothesis.works/
  7. Using Relational Problems to Teach Property-Based Testing. John Wrenn, Tim Nelson, Shriram Krishnamurthi. The Art, Science, and Engineering of Programming 5(2), article 9, 2021 (published online Oct 2020). arXiv 2010.16305
  8. Differential Testing for Software. William M. McKeeman. Digital Technical Journal 10(1), pp. 100-107, 1998. No DOI; the original HP URL is gone, so this is the Internet Archive copy.
  9. An Experimental Evaluation of the Assumption of Independence in Multiversion Programming. John C. Knight, Nancy G. Leveson. IEEE Transactions on Software Engineering SE-12(1), pp. 96-109, Jan 1986.
  10. Metamorphic Testing: A Review of Challenges and Opportunities. Tsong Yueh Chen, Fei-Ching Kuo, Huai Liu, Pak-Lok Poon, Dave Towey, T. H. Tse, Zhi Quan Zhou. ACM Computing Surveys 51(1), article 4, Jan 2018.
  11. The Oracle Problem in Software Testing: A Survey. Earl T. Barr, Mark Harman, Phil McMinn, Muzammil Shahbaz, Shin Yoo. IEEE Transactions on Software Engineering 41(5), pp. 507-525, May 2015.
  12. On Testing Non-Testable Programs. Elaine J. Weyuker. The Computer Journal 25(4), pp. 465-470, Nov 1982.
  13. Executable Examples for Programming Problem Comprehension. John Wrenn, Shriram Krishnamurthi. ICER '19 (2019 ACM Conference on International Computing Education Research), pp. 131-139, Aug 2019. This is the paper that introduces Examplar.
  14. Conceptual Mutation Testing for Student Programming Misconceptions. Siddhartha Prasad, Ben Greenman, Tim Nelson, Shriram Krishnamurthi. The Art, Science, and Engineering of Programming 8(2), article 7, 2024. arXiv 2401.00021
57

Backup: Kam et al., method and the T

Backup: Kam et al., method and the T

  • DACUM job analysis: 8 expert developers (screened from 3,000), 13 Google advisors, 2.5-day workshop May 31 to June 2, 2024; 12 goals, 75 tasks
  • Six-step task workflow: Identify, Engage, Evaluate, Calibrate, Tweak, Finalize. "The use of GenAI tools is perhaps often understood to entail prompting an LLM only. Unfortunately, this corresponds to only a subset of the Engage step"
  • The profile has a seventh step the paper dropped: Socialize. Getting the artifact accepted by the team
  • Limits: 8 people, 7 men, self-report, pre-agent
1 reference
  1. What Do Professional Software Developers Need To Know To Succeed in an Age of Artificial Intelligence? Matthew Kam, Cody Miller, Miaoxin Wang, Abey Tidwell, Irene A. Lee, Joyce Malyn-Smith, Beatriz Perret, Vikram Tiwari, Joshua Kenitzer, Andrew Macvean, Erin Barrar. FSE Companion '25 (33rd ACM International Conference on the Foundations of Software Engineering), Trondheim, June 2025, pp. 947-958; arXiv 2506.00202, May 2025. Open version with the full occupational profile: https://arxiv.org/abs/2506.00202 (CC BY 4.0). The seventh author is "Perret" in the ACM record and "Perez" on arXiv.
58

Backup: industry numbers and their caveats

Backup: industry numbers and their caveats

  • Cherny, June 2026: "I haven't written a line of code by hand in, I think, eight months now"; Anthropic spokesperson, Jan 2026: 70 to 90% company-wide
  • METR RCT (early-2025 tools): experienced developers 19% slower with AI; they predicted +24% and believed afterward +20%. METR has since said its design broke because developers refused to work without the tools
  • LinearB (8.1M PRs, 2025): AI PRs wait 4.6x longer for first review; accepted 32.7% vs 84.4%
  • DORA 2025: 90% use AI daily; 30% trust its output little or not at all; throughput up, stability down
  • Stack Overflow 2025: 84% use or plan to use AI; 29% somewhat trust it, 3% highly
  • GitClear (623M changed lines, vendor): duplication +81%, refactored code 21% to 3.8%, edits to year-old code −74%
8 references
  1. The head of Claude Code hasn't 'written a line of code by hand' in 8 months. Nick Lichtenberg (Fortune), reporting Boris Cherny's remarks. Fortune, 11 June 2026, reporting a fireside chat at Fortune Brainstorm Tech 2026.
  2. Top engineers at Anthropic, OpenAI say AI now writes 100% of their code—with big implications for the future of software development jobs. Beatrice Nolan (Fortune). Fortune, 29 Jan 2026.
  3. Measuring the Impact of Early-2025 AI on Experienced Open-Source Developer Productivity. Joel Becker, Nate Rush, Elizabeth Barnes, David Rein (METR). arXiv 2507.09089, July 2025 (METR blog post, 10 July 2025). Blog: https://metr.org/blog/2025-07-10-early-2025-ai-experienced-os-dev-study/
  4. We are Changing our Developer Productivity Experiment Design. Joel Becker, Nate Rush, Tom Cunningham, David Rein, Khalid Mahamud (METR). METR blog post, 24 Feb 2026. Developers declined to work without AI; 30 to 50% held back some tasks.
  5. 2026 Software Engineering Benchmarks Report. LinearB. Industry report (data from 2025; published early 2026). Vendor report; the page gives no publication date.
  6. State of AI-assisted Software Development 2025. DORA (Google Cloud); announcement post by Nathen Harvey and Derek DeBellis. DORA report, 23 Sept 2025. Announcement: https://cloud.google.com/blog/products/ai-machine-learning/announcing-the-2025-dora-report
  7. 2025 Stack Overflow Developer Survey: AI. Stack Overflow. Stack Overflow Developer Survey 2025 (49,000+ responses, 177 countries), 2025. The page gives 84% as "using or planning to use" AI tools and 3.1% "highly trust"; the 29% figure on the slide is the "somewhat trust" share.
  8. The Maintainability Gap: 2026 AI Code Quality Research. GitClear. Industry report (web page), Jan 2026. Vendor report.
59

Backup: design rules versus tests (Yu et al., 2026)

Backup: design rules versus tests (Yu et al., 2026)

  • 1,787 design rules mined from the code-review threads of six real projects (Django, SymPy, Ansible, Teleport, Flipt, Open Library); 495 issues
  • Best agent: passed 77% of tests, fully satisfied the design rules on 35%; 42% of its patches passed while violating a rule
  • Passing the tests predicted design compliance about as well as a coin flip (Cramér's V at most 0.12)
  • Handing agents the relevant rules cut violations by about six points; pass rates mostly got worse
  • Example: Django #13410, the rule was catch BlockingIOError only; the agent caught OSError
1 reference
  1. Does Pass Rate Tell the Whole Story? Evaluating Design Constraint Compliance in LLM-based Issue Resolution. Kai Yu, Zhenhao Zhou, Junhao Zeng, Ying Wang, Xueying Du, Zhiqiang Yuan, Junwei Liu, Ziyu Zhou, Yujia Wang, Chong Wang, Xin Peng. arXiv 2604.05955, Apr 2026 (preprint). Preprint. The benchmark is SWE-Shield.
60

Backup: Cornell, September 2025

Backup: Cornell, September 2025

Students (2,029): 56% use GenAI several times a week or daily; 68% never use it to complete entire assignments, 7% often; 58% say it will be essential to their future work.

Faculty (737): 61% worried students gain an unfair advantage; 57% say it has challenged their ability to assess learning; 28% encourage students to use it; 16% think it has improved teaching and learning.

2 references
  1. GenAI 2025 - Student. Cornell University (survey by the Cornell GenAI Education Working Group with Institutional Research and Planning). Survey results report, dated 2 Sept 2025 (survey run May 2025). Landing page: https://academicinnovation.cornell.edu/gen-ai/generative-ai-impact-on-learning-spring-2025-surveys/ (it gives 2,029 responses in one place and 1,988 in another).
  2. GenAI 2025 - Faculty. Cornell University (survey by the Cornell GenAI Education Working Group with Institutional Research and Planning). Survey results report, dated 2 Sept 2025 (survey run May 2025). 737 responses, 32% response rate. Same landing page.

All references

Every source cited on a slide, with the slide numbers. Each slide also lists its own references.

70 references
  1. Automating Low-Risk Code Review at Meta: RADAR, Risk Calibration, and Review Efficiency. Chris Adams, Arjun Singh Banga, Parveen Bansal, Souvik Bhattacharya, Payal Bhuptani, Rujin Cao, Pedro Canahuati, Nate Cook, Brian Ellis, Prabhakar Goyal, Gurinder Grewal, Tianyu He, Matt Labunka, Alex Manners, David Molnar, Ging Cee Ng, Vishal Parekh, Jiefu Pei, Frederic Sagnes, James Saindon, Will Shackleton, Sid Sidhu, Gursharan Singh, Karthik Chengayan Sridhar, Matt Steiner, Pratibha Udmalpet, Sean Xia, Stacey Yan, Audris Mockus, Peter Rigby, Nachiappan Nagappan (Meta). arXiv 2605.30208, May 2026 (v2 June 2026); industry preprint, no venue. The 1/50 incident and 1/3 revert rates compare risk-model-selected low-risk diffs with all other diffs; the authors do not claim causality. Slide 14.
  2. There is more to code review than (automatable) detection. John Allspaw. Blog post (Adaptive Capacity Labs), 24 Aug 2026. A reply to Monperrus 2026. Slides 11, 13.
  3. Introducing Cedar, an open-source language for access control. Amazon Web Services. AWS announcement, 10 May 2023. Language site and playground: https://cedarpolicy.com/ Slide 7.
  4. When AI builds itself: Our progress toward recursive self-improvement, and its implications. Anthropic (The Anthropic Institute); co-authored by Marina Favaro and Jack Clark. Anthropic Institute report, 4 June 2026. The page is undated; 4 June 2026 is the date reported in press coverage. Slide 5.
  5. Exposure Notification Privacy-preserving Analytics (ENPA) White Paper. Apple and Google. White paper, April 2021. Slide 22.
  6. Expectations, Outcomes, and Challenges of Modern Code Review. Alberto Bacchelli, Christian Bird. ICSE 2013 (35th International Conference on Software Engineering), pp. 712-721, May 2013. Open PDF at https://www.microsoft.com/en-us/research/wp-content/uploads/2016/02/ICSE202013-codereview.pdf Slide 11.
  7. Think Harder: How I Prompt. Thorsten Ball. Laracon US talk, 29 July 2026 (video with transcript). Transcript from auto-generated captions. Slide 5.
  8. Most predictions I see are still way too conservative. Here's mine (image: "What I believe about the future of software development"). Thorsten Ball. Post on X, 19 Sept 2026. The line is in the attached image; same text on his blog: https://thorstenball.com/blog/2026/09/19/what-i-believe-about-the-future-of-software-development/ Slide 46.
  9. The Oracle Problem in Software Testing: A Survey. Earl T. Barr, Mark Harman, Phil McMinn, Muzammil Shahbaz, Shin Yoo. IEEE Transactions on Software Engineering 41(5), pp. 507-525, May 2015. Slide 56.
  10. Generative AI without guardrails can harm learning: Evidence from high school mathematics. Hamsa Bastani, Osbert Bastani, Alp Sungu, Haosen Ge, Özge Kabakcı, Rei Mariman. PNAS 122(26), e2422633122, June 2025. The SSRN preprint (July 2024) was titled "Generative AI Can Harm Learning". Slides 26, 29.
  11. Measuring the Impact of Early-2025 AI on Experienced Open-Source Developer Productivity. Joel Becker, Nate Rush, Elizabeth Barnes, David Rein (METR). arXiv 2507.09089, July 2025 (METR blog post, 10 July 2025). Blog: https://metr.org/blog/2025-07-10-early-2025-ai-experienced-os-dev-study/ Slide 58.
  12. We are Changing our Developer Productivity Experiment Design. Joel Becker, Nate Rush, Tom Cunningham, David Rein, Khalid Mahamud (METR). METR blog post, 24 Feb 2026. Developers declined to work without AI; 30 to 50% held back some tasks. Slide 58.
  13. Modern Code Reviews in Open-Source Projects: Which Problems Do They Fix? Moritz Beller, Alberto Bacchelli, Andy Zaidman, Elmar Juergens. MSR 2014 (11th Working Conference on Mining Software Repositories), pp. 202-211, May 2014. Open PDF at http://sback.it/publications/msr2014.pdf Slide 11.
  14. Making Things Hard on Yourself, But in a Good Way: Creating Desirable Difficulties to Enhance Learning. Elizabeth L. Bjork, Robert A. Bjork. Book chapter in M. A. Gernsbacher, R. W. Pew, L. M. Hough, J. R. Pomerantz (eds.), Psychology and the Real World: Essays Illustrating Fundamental Contributions to Society, Worth Publishers, 2011, pp. 56-64. Slide 28.
  15. "There's been a ton of talk about the role of humans in code review ... I believe that, long-term, humans have no role in routinely reviewing code." (9-post thread). Marc Brooker. Thread on X, 18 Sept 2026. Slide 14.
  16. AI in SE: The Era of Coding Agents. Satish Chandra (Meta). Keynote, REBASE 2026 at SPLASH/ISSTA, Oakland, 6 Oct 2026. Slides not public; the open questions quoted on the slide are from "Specs as the Source of Record: Open Problems" (slide 42 as presented), as photographed by Bill Pugh and checked against the speaker's deck. Slide 14.
  17. Metamorphic Testing: A Review of Challenges and Opportunities. Tsong Yueh Chen, Fei-Ching Kuo, Huai Liu, Pak-Lok Poon, Dave Towey, T. H. Tse, Zhi Quan Zhou. ACM Computing Surveys 51(1), article 4, Jan 2018. Slide 56.
  18. "Every day, I get a lot of emails and messages like this one ..." (thread sharing an emailed question, "What to do about slop?", and his reply). Boris Cherny. Thread on X, 10 Sept 2026. The thread's first post shows the emailed question, from a developer with 12 years' experience; Cherny's reply is the second post. Discussed by Simon Willison: https://simonwillison.net/2026/Sep/11/boris-cherny/ Slide 9.
  19. QuickCheck: A Lightweight Tool for Random Testing of Haskell Programs. Koen Claessen, John Hughes. ICFP 2000 (Fifth ACM SIGPLAN International Conference on Functional Programming), pp. 268-279, Sept 2000. Slide 56.
  20. GenAI 2025 - Student. Cornell University (survey by the Cornell GenAI Education Working Group with Institutional Research and Planning). Survey results report, dated 2 Sept 2025 (survey run May 2025). Landing page: https://academicinnovation.cornell.edu/gen-ai/generative-ai-impact-on-learning-spring-2025-surveys/ (it gives 2,029 responses in one place and 1,988 in another). Slide 60.
  21. GenAI 2025 - Faculty. Cornell University (survey by the Cornell GenAI Education Working Group with Institutional Research and Planning). Survey results report, dated 2 Sept 2025 (survey run May 2025). 737 responses, 32% response rate. Same landing page. Slide 60.
  22. Code Reviews Do Not Find Bugs: How the Current Code Review Best Practice Slows Us Down. Jacek Czerwonka, Michaela Greiler, Jack Tilford. ICSE 2015 (Software Engineering in Practice track), pp. 27-28, May 2015. Slide 11.
  23. Evaluating a New Exam Question: Parsons Problems. Paul Denny, Andrew Luxton-Reilly, Beth Simon. ICER '08 (Fourth International Workshop on Computing Education Research), pp. 113-124, Sept 2008. Slide 55.
  24. Probing the Unknown: Exploring Student Interactions with Probeable Problems at Scale in Introductory Programming. Paul Denny, Viraj Kumar, Stephen MacNeil, James Prather, Juho Leinonen. ITiCSE 2025, July 2025; arXiv 2504.11723, Apr 2025. Open version at https://arxiv.org/abs/2504.11723 Slides 29, 51.
  25. State of AI-assisted Software Development 2025. DORA (Google Cloud); announcement post by Nathen Harvey and Derek DeBellis. DORA report, 23 Sept 2025. Announcement: https://cloud.google.com/blog/products/ai-machine-learning/announcing-the-2025-dora-report Slide 58.
  26. Multi-Institutional Multi-National Studies of Parsons Problems. Barbara J. Ericson, Janice L. Pearce, Susan H. Rodger, Andrew Csizmadia, Rita Garcia, Francisco J. Gutierrez, Konstantinos Liaskos, Aadarsh Padiyath, Michael James Scott, David H. Smith, Jayakrishnan M. Warriem, Angela Zavaleta Bernuy. ITiCSE-WGR '23 (2023 Working Group Reports on Innovation and Technology in Computer Science Education), pp. 57-107, Dec 2023. The 13-institution ITiCSE 2023 working group. Open PDF: https://repository.falmouth.ac.uk/5216/1/ITiCSE_2023_WorkingGroup_Parsons_Report.pdf Slide 55.
  27. Solving Parsons Problems Versus Fixing and Writing Code. Barbara J. Ericson, Lauren E. Margulieux, Jochen Rick. Koli Calling '17 (17th Koli Calling International Conference on Computing Education Research), pp. 20-29, Nov 2017. Slide 55.
  28. The Recurring Rainfall Problem. Kathi Fisler. ICER 2014, Glasgow, Aug 2014, pp. 35-42. Author's copy at https://web.cs.wpi.edu/~kfisler/Pubs/icer14-rainfall/icer14.pdf Slide 46.
  29. CSCI 0111E: Introductory Computing with AI Agents (Fall 2026 course site). Kathi Fisler, Brown University. Course website, Fall 2026 (marked "Public Beta"). Slide 51.
  30. The Maintainability Gap: 2026 AI Code Quality Research. GitClear. Industry report (web page), Jan 2026. Vendor report. Slide 58.
  31. More Robots are Coming: Large Multimodal Models (ChatGPT) can Solve Visually Diverse Images of Parsons Problems. Irene Hou, Owen Man, Sophia Mettille, Sebastian Gutierrez, Kenneth Angelikas, Stephen MacNeil. ACE '24 (26th Australasian Computing Education Conference), pp. 29-38, Jan 2024. arXiv: https://arxiv.org/abs/2311.04926 Slide 55.
  32. Coverage Is Not Strongly Correlated with Test Suite Effectiveness. Laura Inozemtseva, Reid Holmes. ICSE 2014 (36th International Conference on Software Engineering), pp. 435-445, May 2014. Slide 56.
  33. Defining, Measuring, and Managing Technical Debt. Ciera Jaspan, Collin Green. IEEE Software 40(3):15-19, May/June 2023. Slides 11, 37.
  34. An Analysis and Survey of the Development of Mutation Testing. Yue Jia, Mark Harman. IEEE Transactions on Software Engineering 37(5), pp. 649-678, Sept-Oct 2011. Slide 56.
  35. Are Mutants a Valid Substitute for Real Faults in Software Testing? René Just, Darioush Jalali, Laura Inozemtseva, Michael D. Ernst, Reid Holmes, Gordon Fraser. FSE 2014 (22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering), pp. 654-665, Nov 2014. Slide 56.
  36. What Do Professional Software Developers Need To Know To Succeed in an Age of Artificial Intelligence? Matthew Kam, Cody Miller, Miaoxin Wang, Abey Tidwell, Irene A. Lee, Joyce Malyn-Smith, Beatriz Perret, Vikram Tiwari, Joshua Kenitzer, Andrew Macvean, Erin Barrar. FSE Companion '25 (33rd ACM International Conference on the Foundations of Software Engineering), Trondheim, June 2025, pp. 947-958; arXiv 2506.00202, May 2025. Open version with the full occupational profile: https://arxiv.org/abs/2506.00202 (CC BY 4.0). The seventh author is "Perret" in the ACM record and "Perez" on arXiv. Slides 18, 57.
  37. Productive Failure. Manu Kapur. Cognition and Instruction 26(3):379-424, 2008. Slide 28.
  38. An Experimental Evaluation of the Assumption of Independence in Multiversion Programming. John C. Knight, Nancy G. Leveson. IEEE Transactions on Software Engineering SE-12(1), pp. 96-109, Jan 1986. Slide 56.
  39. On the risk of coding before testing: An empirical study on LLM-based test generation workflow. Michael Konstantinou, Florian Tambon, Mike Papadakis. arXiv 2607.05139, July 2026. Preprint. The tests in the study were generated by an LLM, after seeing faulty code versus independently (14% vs 25% fault detection). Slide 50.
  40. Advice to the New College Student in the AI Era. Shriram Krishnamurthi. Published Google Doc, late summer 2026. Slides 20, 28.
  41. The head of Claude Code hasn't 'written a line of code by hand' in 8 months. Nick Lichtenberg (Fortune), reporting Boris Cherny's remarks. Fortune, 11 June 2026, reporting a fireside chat at Fortune Brainstorm Tech 2026. Slide 58.
  42. 2026 Software Engineering Benchmarks Report. LinearB. Industry report (data from 2025; published early 2026). Vendor report; the page gives no publication date. Slide 58.
  43. The Effects of Course-Integrated AI Tutoring on Student Performance and Engagement: A Randomized University Trial. Jing Liu, Tracy Sweet, Marty Haoyuan Chen, Jonathan Engelberg, Martyn Clark, Axel Persaud, Alia Lancaster, Jeffrey Hollingsworth, Jennifer King Rice, Megan Masters. Working paper, EdWorkingPaper 26-1598, Annenberg Institute at Brown University, Sept 2026. Preprint, not peer reviewed. Landing page: https://edworkingpapers.com/ai26-1598 Slide 27.
  44. Hypothesis: A new approach to property-based testing. David R. MacIver, Zac Hatfield-Dodds, and many other contributors. Journal of Open Source Software 4(43), article 1891, Nov 2019. Library: https://hypothesis.works/ Slide 56.
  45. Differential Testing for Software. William M. McKeeman. Digital Technical Journal 10(1), pp. 100-107, 1998. No DOI; the original HP URL is gone, so this is the Internet Archive copy. Slide 56.
  46. What Types of Defects Are Really Discovered in Code Reviews? Mika V. Mäntylä, Casper Lassenius. IEEE Transactions on Software Engineering 35(3):430-448, May/June 2009. Slide 11.
  47. Top engineers at Anthropic, OpenAI say AI now writes 100% of their code—with big implications for the future of software development jobs. Beatrice Nolan (Fortune). Fortune, 29 Jan 2026. Slide 58.
  48. OWASP Secure by Design Framework. OWASP Foundation. OWASP project page. Slide 7.
  49. AfterVibe: What Remains When the Conversation Ends. Matteo Paltenghi, Satish Chandra (Meta). arXiv 2607.09900, July 2026; preprint, no venue. 72 internal tasks; specs evaluated by a blind agent rebuild graded by LLMs; no human reviewers in the study. Slides 14, 15.
  50. Parson's Programming Puzzles: A Fun and Effective Learning Tool for First Programming Courses. Dale Parsons, Patricia Haden. Proceedings of the 8th Australasian Computing Education Conference (ACE 2006), CRPIT 52, Jan 2006, pp. 157-163. Slide 47.
  51. Sundar Pichai shares news from Google Cloud Next 2026. Sundar Pichai. The Keyword (Google blog), 22 Apr 2026 (Google Cloud Next 2026 keynote remarks). Slide 5.
  52. Conceptual Mutation Testing for Student Programming Misconceptions. Siddhartha Prasad, Ben Greenman, Tim Nelson, Shriram Krishnamurthi. The Art, Science, and Engineering of Programming 8(2), article 7, 2024. arXiv 2401.00021 Slide 56.
  53. The Widening Gap: The Benefits and Harms of Generative AI for Novice Programmers. James Prather, Brent Reeves, Juho Leinonen, Stephen MacNeil, Arisoa S. Randrianasolo, Brett A. Becker, Bailey Kimmel, Jared Wright, Ben Briggs. ICER 2024 (ACM Conference on International Computing Education Research), Aug 2024. Open version at https://arxiv.org/abs/2405.17739 Slide 29.
  54. The Robots Are Here: Navigating the Generative AI Revolution in Computing Education. James Prather, Paul Denny, Juho Leinonen, Brett A. Becker, et al. (ITiCSE 2023 working group). Proceedings of the 2023 Working Group Reports on Innovation and Technology in Computer Science Education (ITiCSE-WGR 2023), pp. 108-159. Source of the Copilot-on-Rainfall result (4 of 7 variants solved; empty list unguarded in two). Open copy: https://juholeinonen.com/assets/pdf/prather2023robots.pdf Slide 46.
  55. Code Defenders: Crowdsourcing Effective Tests and Subtle Mutants with a Mutation Testing Game. José Miguel Rojas, Thomas D. White, Benjamin S. Clegg, Gordon Fraser. ICSE 2017 (39th IEEE/ACM International Conference on Software Engineering), pp. 677-688, May 2017. The game: https://code-defenders.org/ Slide 56.
  56. Modern Code Review: A Case Study at Google. Caitlin Sadowski, Emma Söderberg, Luke Church, Michal Sipko, Alberto Bacchelli. ICSE-SEIP 2018 (40th International Conference on Software Engineering: Software Engineering in Practice), pp. 181-190, May 2018. Source of both "code must act as a teacher for future developers" and "maintaining norms". Open PDF: https://sback.it/publications/icse2018seip.pdf Slide 11.
  57. A fireside chat on the evolution of the developer craft. Richard Seroter (moderator), Ciera Jaspan, Aja Hammerly, Addy Osmani. Google I/O 2026 fireside chat, Professional Development track, Mountain View, 19-20 May 2026 (video uploaded 21 May 2026). The quoted remarks are at 1:59 and 37:50. Session page: https://io.google/2026/explore/workshop-5 Slides 17, 35.
  58. AI Tools Make Design Skills More Important than Ever. Mary Shaw, Michael Hilton, George Fairbanks. IEEE Software 43(2), Mar-Apr 2026 (The Pragmatic Designer column). Open copy on Fairbanks's site: https://georgefairbanks.com/ieee-software-v43-n2-mar-apr-2026-ai-tools Slide 23.
  59. How AI assistance impacts the formation of coding skills. Judy Hanwen Shen, Alex Tamkin (Anthropic). Anthropic research post, 29 Jan 2026; paper "How AI Impacts Skill Formation", arXiv 2601.20245, Jan 2026. Paper: https://arxiv.org/abs/2601.20245 Slide 26.
  60. When Problem Solving Followed by Instruction Works: Evidence for Productive Failure. Tanmay Sinha, Manu Kapur. Review of Educational Research 91(5), 2021. A meta-analysis of 53 studies (166 comparisons). Slide 28.
  61. Cognitive Strategies and Looping Constructs: An Empirical Study. Elliot Soloway, Jeffrey Bonar, Kate Ehrlich. Communications of the ACM 26(11):853-860, Nov 1983. Slide 46.
  62. 2025 Stack Overflow Developer Survey: AI. Stack Overflow. Stack Overflow Developer Survey 2025 (49,000+ responses, 177 countries), 2025. The page gives 84% as "using or planning to use" AI tools and 3.1% "highly trust"; the 29% figure on the slide is the "somewhat trust" share. Slide 58.
  63. From Technical Debt to Cognitive and Intent Debt: Rethinking Software Health in the Age of AI. Margaret-Anne Storey. arXiv 2603.22106, Mar 2026 (v4, 6 Apr 2026). Also published in ACM Queue 24(2), 2026, https://doi.org/10.1145/3807966 Slides 12, 15, 23.
  64. Designing Exercises to Teach Programming Patterns. Nathaniel Weinman. PhD dissertation, UC Berkeley, Technical Report UCB/EECS-2022-257, Dec 2022. The 85% vs 75% and 28% vs 29% transfer numbers are from Table 5.3. PDF: https://www2.eecs.berkeley.edu/Pubs/TechRpts/2022/EECS-2022-257.pdf Slide 55.
  65. Improving Instruction of Programming Patterns with Faded Parsons Problems. Nathaniel Weinman, Armando Fox, Marti A. Hearst. CHI 2021, May 2021. Slides 49, 55.
  66. On Testing Non-Testable Programs. Elaine J. Weyuker. The Computer Journal 25(4), pp. 465-470, Nov 1982. Slide 56.
  67. Ep. #9, The AI Coding Paradigm Shift with Simon Willison. Simon Willison (guest), Joseph Ruscio (host). High Leverage podcast (Heavybit), 5 May 2026. The line is at about 12:00 of the episode; Willison's own write-up, 6 May 2026: https://simonwillison.net/2026/May/6/vibe-coding-and-agentic-engineering/ Slide 9.
  68. Executable Examples for Programming Problem Comprehension. John Wrenn, Shriram Krishnamurthi. ICER '19 (2019 ACM Conference on International Computing Education Research), pp. 131-139, Aug 2019. This is the paper that introduces Examplar. Slide 56.
  69. Using Relational Problems to Teach Property-Based Testing. John Wrenn, Tim Nelson, Shriram Krishnamurthi. The Art, Science, and Engineering of Programming 5(2), article 9, 2021 (published online Oct 2020). arXiv 2010.16305 Slide 56.
  70. Does Pass Rate Tell the Whole Story? Evaluating Design Constraint Compliance in LLM-based Issue Resolution. Kai Yu, Zhenhao Zhou, Junhao Zeng, Ying Wang, Xueying Du, Zhiqiang Yuan, Junwei Liu, Ziyu Zhou, Yujia Wang, Chong Wang, Xin Peng. arXiv 2604.05955, Apr 2026 (preprint). Preprint. The benchmark is SWE-Shield. Slide 59.