Agentic Studio

How do students learn to use intelligent, autonomous coding agents?

Agentic programming (developing code using AI-based agents) is here and likely to stay. It's a major technological disruption that is changing the face of computing.

However, computing education has been here before: the advent of off-the-shelf hardware, compilers for high-level languages, graphical terminals, etc. each forced educators to re-examine what it meant to teach computing (with Brown often at the forefront). GenAI simply demands that we do so again. It forces us to ask and answer interesting questions: From a cognitive perspective, what do lower-level students need to know in order to use agentic systems effectively to build robust applications? What sorts of educational activities might help students develop these skills? What foundations do students need, and how can they learn them if genAI systems do all those tasks for them? And so on.

This course is not “How do we teach students to make the very best use of current agentic technology?” We will want to incorporate that into our regular course offerings in the future. But to do that, it isn't enough for us to have experience doing it ourselves. When we do it, we rely on computing expertise we have gained over decades, which students—especially novices!—do not have. In education, this is called the expert blind spot. We cannot responsibly design future curricula without uncovering these blind spots.

This course will work with a small group of students to address this problem. We'll ask you to use use agentic tools to create different kinds of applications that might (not) be approachable in early CS courses. You'll maintain a research notebook where you reflect on what you needed and learned along the way. We'll have you look beyond getting “something that seems to work” to getting to code that is well-designed and robust. We'll review each other's work to look for themes and approaches. We'll consume everything from cutting-edge blog posts and videos to classic papers in computing education and cognitive science to help frame our observations.

You will, of course, learn how to program with AI agents; along the way, we expect you will deepen your software development practices, and learn about computing education research, often from a cognitive perspective. Our goal is to collectively produce insights that could inform the future design of lower-level CS courses at Brown and elsewhere. Really, this is a research project masquerading as a course.

🤖 Ringleaders (aka, Instructors)

This course is a team effort by Kathi Fisler, Shriram Krishnamurthi, and Michael Littman. All three have career-long obsessions with education, as well as wide-ranging research interests. Kathi studies formal methods and computing education; Shriram does these as well as programming languages and software engineering; Michael is an expert in reinforcement learning and AI (he's also Brown's Associate Provost for AI). Kathi's a jigsaw puzzler, Shriram is often on his bicycle or following cricket, and Michael juggles.

The course does not have TAs. We expect you to take ownership of your education and, in the best spirit of the Brown CS department, also help each other out.

📅 Logistics

When: Tues/Thurs 9-10:20 AM

Where: CIT 368

Format: Class meetings will involve hands-on demonstrations of ideas, instructor and peer reviews of code and AI transcripts, and presentations of observations about working with AI coding agents.

The choice of name “studio” is intentional, and inspired by art classes (e.g., down the hill at RISD). A lot of what we will do in class is conduct “crits”. Crits are a central part of how artists learn from and help educate one another. This is the spirit we hope to invoke here. Crits are meant to be constructive, and benefit from many different perspectives coming together. We recommend reading this site on how to conduct a crit.

Attendance and participation in group work and discussions are mandatory (we'll do our best to help everyone get comfortable with interaction early on).

Laptops: Students will need to bring a laptop to class. If you do not have a laptop, we can help you secure a loaner for the semester. We will also provide access to an agentic coding account (you won't have to pay for this yourself).

Videos: At least initially, we will put class videos in this Panopto folder. Class videos are only provided for people who want to revisit topics (e.g., you can re-watch a crit of your work instead of having to take notes in real time) and for very rare class absences (e.g., for illness). They are not a substitute for attending class. Note that attendance and participation are required aspects of class.