CSCI 0111E (Fall 2026) is a pilot introductory CS course that integrates learning to program in LLMs and coding agents with learning to program and design software by hand. The course is designed around the following ideas:
- coding agents let people with minimal programming experience build small-scale systems that could affect others; CS departments thus have a responsibility to teach early-stage students how to work with agentic tools
- thinking critically about programs depends on a strong mental model of what programs can and can't do; education research shows that constructing artifacts (e.g., writing code by hand) is how people form mental models
- coding with agents can be seductive, whether for fun or for getting things done faster; courses need to create activities and positive incentives that help students make good choices about when and how to use agents
Course Structure
Most of the course consists of a series of design activities. For each design challenge, we'll develop a set of novice-appropriate specifications regarding structure, behavior, and quality assurance (testing). We'll have human-to-human conversations about specifications through peer-review, code-review, and in-class activities. We'll then use LLMs or agents in different ways to create, validate, and/or audit from these specifications. Sometimes, we'll build the artifacts by hand, sometimes we'll have both humans and AI build artifacts and do a compare-and-contrast, sometimes we'll have AI provide multiple proposals for us to consider. We'll read code as well as write it.
The course activities largely center around organizing, managing, and processing data. Much of the course centers on tabular data, but later in the course we get into other shapes of data that are common in computer science (lists, structures, and trees). The course serves as an intro option for both CS-based concentrations (Brown's term for "major") and the Data Fluency certificate.
Several design projects will also bring in questions about the personal and societal impacts of modern AI. Our aim is to weave these questions into the projects themselves to help students connect the issues and their choices to realistic contexts.
Students will be maintaining a reflection journal throughout the course, documenting their experiences learning with and about AI-based coding tools.
LLMs vs Agents
The course explicitly distinguishes between using LLMs and using agents. The former refers to using a chat-like tool to generate an artifact without an underlying validation and revision loop; agents are coding tools that have such a loop. The first two months of the course will use only LLMs; we'll switch to agents in the last month.
The Instructor's Learning Goals
Every course is an experiment of sorts, whether or not instructors are explicit about (or even aware of) it: we design activities hoping to achieve certain outcomes, learning along the way what works and what doesn't. As an education researcher, Kathi is explicit about her own research and learning goals for the course this semester:
- To what extent can novices learn to create quality specifications, including of systems that are a bit beyond what they could program manually?
- How do activities in which students compare-and-contrast proposed specifications and code solutions help students develop robust mental models of quality code?
- How do our design and reflection activities impact students' relationships and engagement with AI tools within novice programming courses?
This list intentionally avoids the question of "how does this course approach compare to having students only write code by hand?". This question is hard to answer without a control group, and it anyway doesn't feel like the right question for the times. Coding agents exist and aren't going away. LLMs and agents enable all sorts of new activity designs for instructors. We have the opportunity to explore new conceptions of what intro CS courses are all about, so let's dive in!
That said, the second question above gets at the impact of trading some time writing code for other activities, resting on existing research on the importance of strong mental models for writing code.
Have Questions?
Comments and questions about the design of the course are welcome — write to Kathi Fisler.