Skip to content

Overview

Course Description

Students will learn how to use AI-based developer tools across the software development lifecycle, for example in coding, code reviewing, project management, automated testing, and security. The course will require significant software development practice, both with and without AI tools. Students will use their experiences to analyze the impact of AI tools on software productivity across individuals, teams, and organizations. Students will be expected to code in scripting languages (e.g., Python and JavaScript), set up development environments, read documentation, and learn new libraries and frameworks.

Course Structure

This class will consist of:

  • Mini-lectures. Lectures will cover technical content and be delivered by the professors or guest lecturers.
  • In-class programming activities. We will have pair programming activities and "mob" programming activities. These will be for learning techniques and tools that you will then use for your group project. Each student will lead at least one mob session.
  • Reflections. For homework, you will write 500-word essays answering a set of assigned questions about your experience using AI so far.
  • Readings. We may assign supplmentary readings from online sources that are relevant to the activities or discussion.
  • In-class presentations and discussions. Based on the reflections, groups will create short presentations, present them to the class, and lead a short discussion.
  • Group project. During this course, you will build a web application using AI. The major milestones will be a vibe-coded MVP, requirements, backend implementation, frontend implementation, testing, and deployment.
  • Team meetings. We will provide time teams to meet about their project. Participation is mandatory.

The course calendar follows a two-week cycle:

  • Monday: Pair programming activity.
  • Wednesday: Team meeting, mini-lecture, and mob programming activity.
  • Homework: Reflection essay.
  • Monday: Team meeting, mini-lecture, and mob programming activity.
  • Wednesday: Presentations and discussions.
  • Project: Two-week sprint milestone.

There will be no exams. The final exam day will be used for final project presentations.