KotlinCS 124 LogoJava

AI in CS 124

Software development is changing rapidly due to the incredible capabilities of generative AI. CS 124 is embracing AI coding agents to ensure you are prepared for the future of programming.

Since the dawn of computing, humans have always been trying to find more efficient and effective ways to author computer programs. Punchcards and mainframes gave way to interactive systems; assembly code gave way to higher-order programming languages; and programming languages themselves have continued to improve by providing more powerful abstractions. These changes represent significant improvements in leveraging the incredible power of computational technologies. Software developers have always had to keep up and learn new tools—but we’ve wanted to, because tools have kept improving.

Generative AI represents the latest advance in computer programming, and it’s a big one. Properly used, it acts as a multiplier: changes that used to take hours can be done in minutes, projects that used to take weeks can be done in days. This is all happening very rapidly. According to prominent computer scientist and programmer Andrej Karpathy, we’ve quickly moved from Software 1.0—authoring programs using traditional high-level languages—to Software 3.0—working with generative AI using human-language prompting: (The talk begins with the discussion of the evolution from Software 1.0 to Software 3.0, but some students may enjoy watching the entire presentation.)

Why We’re Embracing AI
Why We’re Embracing AI

Why are we embracing AI? The main reason is simple: This is the future of software development. We’re preparing you today for the programming of tomorrow.

When higher-order languages emerged, introductory courses stopped teaching students to write assembly code. Pretending that these new approaches don’t exist or neglecting to teach you how to use them effectively would be wrong. Employers expect you to know these skills. These tools are far too powerful to ignore!

There are a few more specific reasons. 80% of CS 124 students are non-majors, and many complete little or no further computer science coursework. For these students, the ability of AI to generate entire apps from human-language specifications is tremendously important, and significantly increases the value of the basic programming skills that CS 124 will continue to teach. And a similar argument is also applicable to computer science majors, who after CS 124 must run a gauntlet of programming courses that focus on low-level development in languages like C and C++ that are less-suitable for application programming. Getting started with generative AI will ensure that you can complete fun and high-impact independent projects along the way for yourself and others.

In addition, after we began allowing AI usage on the project several semesters ago (see below), we noticed students using AI badly. There are better and worse models for coding, and better and worse ways to work with them on programming projects. Using bad models badly is not only frustrating—it also gives you an incorrect impression of what these tools can do. Effective collaboration with AI is a skill like any other skill—it must be learned and we will teach you.

How We’re Embracing AI
How We’re Embracing AI

Starting in Fall 2025, CS 124 will begin introducing students to how to use the most capable AI programming tools: coding agents.

AI agents move past interactive prompting like ChatGPT—which many of you are probably familiar with—and allows AI to understand and update source code directly, with configurable engagement with the human user. Note that we are not going to teach you “vibe coding”, although we would support students experimenting with this completely hands-off approach on their own independent projects. AI agents are tremendously powerful and capable, but we’re going to learn how to keep that power under control. To borrow an analogy from Karpathy’s talk, we’ll be sure to keep our AI agents on a leash—and we must always understand the software AI helps us create!

CS 124 has always had students complete a multi-part Android programming project. Starting in Spring 2026, we’re taking this to the next level with My Project: each student will design and build their own unique Android app, working with AI coding agents throughout the process. We’ll discuss effective prompting strategies, understanding AI-generated changes, AI-generated code quality, and how to redirect AI when it gets off track.

This shift reflects a fundamental insight: the old model—where students receive a detailed specification, translate it to code, and submit—is broken in the age of AI coding agents. Agents can handle the translation step. What they cannot do is get the specification out of your mind. The independent project gives you practice with these essential skills: coming up with good problems to solve and describing solutions in a form that agents can use.

More specifically, our learning objectives related to AI-supported programming include:

Our excitement about teaching you about generative AI is inspired and guided by our own usage of these tools. Geoff is actively collaborating with Claude Code on the many pieces of CS 124 courseware that he maintains. He’s used it to vibe code entire websites, to create study materials for courses he’s taken, and continues to be amazed by what it can accomplish. These experiences inform how we’ll teach you to harness AI’s power effectively.

We’re Still Teaching Programming Fundamentals
We’re Still Teaching Programming Fundamentals

Having access to a computer-based testing facility puts CS 124 in the unique position of being able to teach both programming fundamentals and how to effectively work with generative AI.

Because AI represents a multiplier, it is still critical that users develop and maintain programming abilities. CS 124 will continue to do this through our daily lessons, homework, and particularly the weekly quizzes.

We will continue to prohibit AI use on our proctored quizzes given in the CBTF. Every quiz includes programming and debugging challenges, which must be completed without access to AI. (At some point in the future we may add prompting challenges to the quizzes as well.) We’ve also increased the grade weight of the proctored quizzes, which now represent 70% of a student’s grade. Over time we will continue to monitor student performance in CS 124 and in later courses and make adjustments as needed to ensure that we are still effectively teaching programming fundamentals.

CS 124 will only be teaching AI-supported programming on the longer multi-part Android app programming project (the independent project). Since Fall 2024 we have allowed students to collaborate with AI on this project, and we have not seen significant negative effects from this experiment: Course grades have remained stable, and students using AI do similarly on the project to students who chose to work independently or collaborate with a human partner. However, as we have observed students using AI, we have seen many instances of students using AI badly, which we will address with instruction focused on effective AI usage.

Starting in Spring 2026, we’re embracing the full potential of AI coding agents with the independent project. Each student will design and build their own unique Android app. This prepares you for the future of software development: being the person who knows what needs to be built and can effectively direct AI tools to build it.

Embrace The Future
Embrace The Future

There are plenty of reasons to be concerned about the rise of AI: safety, human autonomy, job loss, ethical concerns, and many other issues. We encourage CS 124 to engage with these issues in conversation with each other and with the course staff.

However, we should not lose sight of the fact that these developments are tremendously exciting! Computers have always been powerful tools that you can use to change the world. And they just got much easier to use. That’s a good thing. There are complications to navigate, but we’ll do that together. It’s a great time to be a software developer—or become one!

Frequently Asked Questions
Frequently Asked Questions

If you have a question about the statement above, please ask on our course forum. We’ll try to anticipate a few common questions below.

Note that Claude reviewed the document above and suggested some of the questions below. Geoff reviewed all questions and answers for correctness.

1. Does this policy apply to other courses?
1. Does this policy apply to other courses?

No! This policy only applies to CS 124. Other courses will take different approaches to incorporating generative AI. You are responsible for understanding and complying with the policies published by the courses you are taking.

2. Will I have to spend money to access AI coding tools?
2. Will I have to spend money to access AI coding tools?

Yes. We want to show you how to use the latest and greatest AI coding agents, and access to them does cost money. We will endeavor to keep the cost reasonable: perhaps $40 for the entire semester, an amount that we consider appropriate and similar to what you might pay for books or materials required by other courses. Please speak to Geoff if this amount represents a barrier to your success in the course. (Note that all other CS 124 materials are provided free of charge.)

3. Isn’t this cheating?
3. Isn’t this cheating?

We want you to learn how to use AI effectively! So using it on the CS 124 programming project will not be cheating. In fact, we’re going to show you how.

However: You will not be able to use AI on your CS 124 quizzes. And using AI to complete projects in other courses might be cheating, depending on the course policies.

4. Will I still learn manual programming in CS 124?
4. Will I still learn manual programming in CS 124?

Yes! Our weekly quizzes will continue to ensure that you learn how to write simple programs without AI assistance.

5. What if the AI generates bad code?
5. What if the AI generates bad code?

Part of what we’ll teach is how to review AI-generated code critically. You remain responsible for understanding and verifying any code the AI produces. We’ll discuss common AI mistakes and how to catch them.

6. What if I want to work without AI?
6. What if I want to work without AI?

Starting in Spring 2026, AI coding agents are an expected part of completing the independent project. We will teach you how to use them effectively, and the project will be designed around AI-assisted development. You’ll still need to understand the AI-related concepts covered in lessons, as they may appear on quizzes. While you technically could try to complete the project without AI, the project scope is designed with the assumption that you’re using AI coding agents, making it significantly more challenging to complete without them.

7. Will using AI hurt my learning in future CS courses?
7. Will using AI hurt my learning in future CS courses?

That is definitely not our intention. Our 70% quiz weight should ensure you develop strong fundamentals. CS 124 students have always succeeded in later courses, and we have and will continue to monitor this data carefully and make adjustments as appropriate. The programming skills tested in our AI-free quizzes directly prepare you for CS 128, CS 225, and beyond.

8. What if AI gives me code I don’t understand?
8. What if AI gives me code I don’t understand?

Never submit code you don’t understand! Part of working with AI is knowing when to ask it to explain, simplify, or try a different approach. We’ll teach you how to prompt for explanations and how to verify your understanding. Course tutors can help you understand AI-generated code, but won’t fix it for you.

9. Can I use ChatGPT instead of the required tools?
9. Can I use ChatGPT instead of the required tools?

We require using Claude Code for the independent project, as it’s specifically designed for coding and significantly more capable than alternatives. While you technically could use ChatGPT for other work, you’ll likely struggle more and learn less effective practices.

10. Will AI replace programmers?
10. Will AI replace programmers?

AI is a powerful tool that makes programmers more productive, not obsolete. Someone still needs to understand problems, design solutions, verify correctness, and maintain systems. AI changes how we program, not whether we need programmers. Think of it like calculators didn’t replace mathematicians—they made them more capable.

11. What about AI hallucinations and mistakes?
11. What about AI hallucinations and mistakes?

AI regularly makes mistakes—that’s why understanding code remains critical! We’ll teach you common AI error patterns and how to catch them through testing and code review. This is actually a valuable skill for industry, where you’ll often review code from both humans and AI.

12. Can I work with a human partner on the project?
12. Can I work with a human partner on the project?

No. Starting in Spring 2026, the independent project is an individual project where each student designs and builds their own unique Android app. You will work with AI coding agents, not human partners. In many ways, learning to prompt AI effectively prepares you better for providing clear specifications for humans to follow as well—a skill you’ll use throughout your career.