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.

✍️ Registration

We will grant overrides based on an application process. Please do not request an override in CAB at this time. We expect to admit about 20 students.

We are most interested in exploring what genAI does to early computing education. Therefore, we're mostly looking for students who are early in their CS careers. We will likely include a small number of students with more advanced CS background and experience in education (e.g., as teaching assistants, education coursework).

To apply, please fill out this application form by Thursday, January 22 at 5 PM.

❓ FAQs

What experience do I need?

You only need to have completed one introductory CS course. You do not need prior experience with AI coding tools. However, what you do need is an openness to learning. You will likely encounter new tools and new concepts. The faculty are here to help you, but you have to be open to learning experiences. You also have to be (or get) comfortable that the goal of many assignments will not be to get everything ''right'', but rather to reflect on the issues you encountered while trying to complete something challenging (we'll explain this in class).

But what do I actually need for background?

Seriously, you just need to have passed a CSCI intro course. We do not assume that you know anything beyond that. Part of the point with vibe coding is that we don't have to know everything to create an application.

How deep will we go into AI/ML?

Not very. Agentic coding systems provide us with an abstraction over contemporary AI/ML technology (language models and more). Our goal is to use them, not to go into the details of how they work, nor to make low-level modifications to them. Think of this like using a compiler (which essentially all our 0-level courses do) versus learning how a compiler works and/or writing one (which is an advanced topic). Similarly, we have numerous that can teach you how agentic systems work and how to build them.

Are we just writing intro course programs, or will we cover advanced CS topics?

AI agents are changing what is possible for intro students to write. The whole purpose of this course is to explore how ambitious we can be. Some of the work we'll do is not what we currently cover in our ''intro'' courses. But we are not setting out to teach you advanced topics from 1000-level CSCI courses either.

Why can't I find this in CAB?

We will be running this under an independent study course number (CSCI 1970), due to the course coming together close to the start of the semester. Those who get invited to the course will be given instructions for overrides before the second class meeting.

Will the course count towards a CS concentration?

CSCI 1970 can count as an elective for the CS concentration. This will be a 1-credit course. At most two instances of 1970 can be used to satisfy concentration requirements.

Can I audit this course?

No, sorry. This is an intensive, hands-on, studio course. Most of the learning is done through active work. There is nothing for an auditor to do. If you are willing to do the work, signal that by signing up for the course.

How will shopping period work?

Anyone wishing to take the course must apply through the application form by the deadline, and must attend all class meetings from the start of the semester. You may not start attending late. Depending on interest, we may hold a short waitlist in the event that others drop in the first few days. We'll know more after we see the applications.

What if I won't be back on campus for the first meeting?

If you will not be back on campus by the first day of class (Thursday Jan 22), email Kathi. You still need to apply for the course by the deadline. We will post a makeup activity (to this site) based on whatever we decide to do on the first day.

Why was this course announced so late?!?'

We only came up with the idea of the class a week before the semester began. This semester, Kathi was due to have teaching relief, Shriram is on sabbatical, and Michael has another whole job as Associate Provost for AI for Brown. But we felt this topic is vitally important, and were excited to see what Brown students would do, so we decided to toss this together. (This is, in fact, how research often works!)

Is this a WRIT course?

No. WRIT courses go through an approval process that we did not have time to pursue. This is also a different style of writing than the spirit of WRIT.

What are you looking for in upper-class applicants?

As we described in the intro lecture, we are focused on lower-level students primarily because they have fewer expert blind spots. That said, upper-level students with a bit more experience could also contribute meaningfully in having an intermediate level of expert blind spots. Feel free to apply if you more upper-level but don't have extensive vibe coding experience. You are welcome to tell us what you think you could contribute in your application.

Should we put Kathi's CSCI 1970 in our primary carts?

This isn't necessary. We'll start handing out overrides as students accept invitations to join the course. The only reason to put the course is your cart is to access the first class video if you missed the first day.

When does the first assignment go out?

There will be a first assignment handed out along with the override codes. Mostly, we will ask you to try out the workflow of using Claude on an initial assignment, submitting data, and starting your journal/research notebook. Plan on a couple of hours between Sunday and Monday for this work (we can't hand it out until we know who will be in the course)