Welcome to CSCI 0111E!

CSCI 0111E is an introductory course that interleaves learning to program by hand and learning to develop programs responsibly with AI-agents. The course centers around working with data, data organization, and data management. It emphasizes program design skills, such as specifying what programs should (and should not!) do, describing what makes for a good solution, and reviewing solutions for quality. The course will cover the same programming skills as CSCI 0111 (working with data tables, lists, and structured data in both Pyret and Python). It will include more conceptual design skills, and how to work with agents to turn designs into programs that humans can stand behind.

In addition to design and programming assignments, there will be a quiz, two exams, and oral reviews of student work. Students will also keep journals about their experiences learning to work with agents. Class meetings will consist of both lecture and small-group activities; in-person attendance is expected.

Prior programming experience is neither required nor expected. If interest exceeds demand (for the 40 available seats), students with less programming experience will get priority. Apply for a spot in the course before 5pm on Thurs Sept 10th (we'll run the seat lottery that evening).

CSCI 0111E will satisfy all of the same requirements and pre-reqs as CSCI 0111, for both CS and non-CS concentrations.

Curious about why the course is shaped this way? See Course Design for the design philosophy and further details.

Concerns About the Use of AI

We hear two primary concerns from students regarding the use of AI in courses: potential negative impact on their learning and its societal and environmental impacts. Learning can be harmed when we outsource cognitive tasks to others (human or AI). This course adds cognitive tasks that are relevant when we use AI to help create programs, while still having you work with the "standard" cognitive tasks of learning to program. Put differently, we are leveraging AI to enable teaching concepts that were previously hard to include in introductory courses, but that are increasingly relevant given the existence of AI tools.

From a practical standpoint, AI-based coding tools are both powerful and here to stay. If you plan to do computational work (whether as a career, as a research assistant, or for personal productivity), you'll need to know how to use them. We have a professional and ethical responsibility to teach you how to do this carefully.

We will also engage with the societal and environmental impacts of AI through assignments and course activities, leveraging the data-centric theme of this course.

Comparison to Other Brown CSCI Intros

CSCI 0111E is an experimental variation on CSCI 0111: both take a data-centric approach to intro computing, but 0111E includes working with LLMs and coding agents. CSCI 0150 and CSCI 0170 take different approaches (as described on our page on choosing intro courses); neither includes working with AI-based coding tools. All four of these courses are appropriate for students with no prior programming experience. CSCI 0190 is an accelerated-pace course; its placement process for Fall 2026 has already concluded.