โจ Syllabus and Policies โจ
๐ Learning Objectives
Building good software with agentic tools requires more than throwing a prompt at an LLM: some degree of programming and software expertise is needed to do this well. Presently, the nature of that expertise is unclear. This studio is designed to help us explore the issue. To that end, the course has several learning objectives:
- You will understand the abilities and limitations of current AI coding tools
- You will identify skills needed for building software with agents, and develop meta-cognition about their individual abilities with those skills
- You will learn how to give and receive feedback through code reviews
- You will learn about the kinds of questions asked in computing education research
- We, too, will begin to understand how these skills manifest in first- and second-year students, and what sort of experiences help students develop them further
๐ Assignments
There will be several kinds of assignments and learning activities:
- Implementing applications using AI agents: we'll give you a description of a tool to build and you'll use agents to produce a version of that tool. We'll implement multiple applications with different characteristics to get a feel for how agentic coding works in different domains. You will turn in the transcripts of your AI sessions as well as your implementations, which will be tracked in Github.
- Keeping an online journal of reflections on what you are learning or leveraging as you do each assignment.
- Modifying applications using AI agents: you add features or modify the expectations of the tools you've built, and try to use agents to adapt your previous code.
- Code reviews: you'll show your work to others and practice giving and receiving comments about your implementations.
- Reading online materials on how to best to and not to use agentic coding.
- Reading papers on relevant computing education or cognitive science literature and discussing how they relate to our observations from the implementation projects.
๐ ๏ธ Tools and Materials
We will work in Github, VSCode, Google Docs (for journals), and an agentic coding tool such as Claude Code. We will not assume that you know all of these up front and will guide you through learning them; but openness to learning new tools is essential.
We will provide access (a license) to the agentic coding tool once the course starts. Specifically, you will be reimbursed $20 per month to cover a Claude Pro account during the semester. This access will only be available during the time that you are actively taking the course. Your reimbursement is contingent on your not prompting or providing Claude with anything beyond Level 1 data. Informally, Level 1 includes public data, but not sensitive or confidential data that could result in reputational, physical, or financial harm. Read the formal definition at the provided link.
There is no textbook. Any readings will be from materials that are freely available online. Because this is such a rapidly evolving field, the readings are likely to change over the course of the semester.
There are no costs to you for materials or tools for the course.
๐ Time Expectations
Class attendance is mandatory, barring extenuating circumstances. Contact Kathi if you have such a situation.
You will be expected to put in roughly 8 hours per week outside of class on the weekly assignment, which could include any of the elements listed in the "Assignments" section below.
You will also put in roughly 2 hours per week reading and analyzing the work and AI transcripts of your peers.
๐ Late Work and Extensions
Late work generally will not be accepted, as each class meeting will be designed to build on the assignments. Arrangements will be made for anyone who experiences an extenuating circumstance during the semester.
A similar constraint applies to extensions. Naturally, if you are experiencing an extenuating circumstance, we will work something out. But as a general rule, don't expect that routine extensions are available. Kathi will manage requests for extensions on a case-by-case basis.
๐ Grading
As this is a studio-style course, grading is intended to reflect the level and quality of your engagement in the course activities. We will assess this through four components:
- Whether your AI transcripts suggest that you are actually trying to learn how to work with agentic programming systems, rather than just asking the agent to finish the assignment for you.
- Written reflections that suggest you are taking the reflective learning part of the course seriously. Reflections should point to concrete details about your design process and observations, connecting them to readings where appropriate.
- The quality of implementations that you are producing by the end of the course. Quality will be based on well-defined criteria (e.g., performance, correctness) that will be explained on each assignment handout. We will look at your implementations, your AI session transcripts, and the questions you pose to others during code reviews.
- Contributions to and participation in discussion. We expect to see you asking appropriate questions about your peers' work, as well as raising ideas from your own observations.
Each of programming assignments, reflection journals, code reviews, and participation in discussion will carry equal weight in determining course grades. Grading expectations for individual assignments will be provided on each assignment handout. As a guideline, strong work in all four areas will result in an A. Good but not strong work in multiple areas will result in a B. Work that repeatedly lacks depth in multiple components will result in a C or even an NC.
Note that "depth" and "quality" aren't the same as "got everything right". We expect that everyone is learning together and that you will struggle (especially early on) to write good software. Those struggles are precisely where the learning lies for all of us. The learning and the process are the point. Don't view the class as a series of exercises to earn points towards a grade.
There will be no exams. We may occasionally ask you to complete a quiz-like instrument so we can assess conceptual learning as we go, but the results will not affect course grades as long as you engage with them seriously.
You will receive ongoing feedback through the weekly design studio discussions and occasional one-on-one meetings with faculty.
๐ฌ Communications
This course will use Ed as its primary communication platform. We expect that you are checking the Ed board once per day (and subscribing to Ed notifications). We prefer that you use private messages in Ed to reach us, as all instructors can see and respond to messages there. This will also help us keep course-related messages separate from our otherwise overflowing inboxes. If you have a situation that should go to only one of us, then email that instructor directly.
Time-critical announcements will be posted to Ed and sent through email.
๐ค Expectations and Professional Responsibilities
The collaborative nature of this course demands professionalism from all who are involved. By taking this course, you agree to respect the learning processes of all participants. You may know more or less about a topic than someone else (including us!). We expect you to share knowledge and ideas, but not to criticize each other for what you each do and do not know. Learning how to critique code constructively and professionally is one of the objectives of the course; we will practice together how to do this respectfully between professional colleagues.
If you feel someone in the course is being disrespectful or otherwise interfering with your chance to learn, reach out to the us. If one of us (the instructors) is the problem, reach out to either the Associate Director of Undergraduate Studies (Tim Nelson), the CS Inclusion Specialist (Morgan Beltre), the CS Department Chair (Roberto Tamassia), or another trusted adult on campus.
โฟ Academic Accommodations and Other Support
Brown University is committed to full inclusion of all students. Please inform us early in the term if you may require accommodations or modification of any of course procedures. You may speak with us after class, during office hours, or by appointment. If you need accommodations around online learning or in classroom accommodations, please be sure to reach out to Student Accessibility Services (SAS) for their assistance (sas@brown.edu, 401-863-9588). Undergraduates in need of short-term academic advice or support can contact an academic dean in the College by emailing college@brown.edu.
Mental health concerns or stressful events may lead to diminished academic performance or reduce your ability to participate in daily activities. Free, easily accessible, confidential mental health services are available to assist you with addressing these and other concerns you may be experiencing. You can learn more about the broad range of mental health services available on campus at the Counseling and Psychological Services (CAPS) website.
โ๏ธ Academic Integrity
The coding assignments will expect you to program with AI programming agents. Your reflections and written observations must be done by you without the assistance of GenAI tools. Given the goal of the course, it is essential that we understand what you are encountering and learning from the assignments; an AI version of this is of no use. Accordingly, any indication that you used AI for the written assignments will result in a course grade of NC. If you feel you need to use them in specific ways (e.g., cleaning up grammar for non-native speakers), please discuss this with us beforehand.