CMSC 398Z - Effective use of AI coding assistants and agents
Planned assigned readings
There will be assigned readings each week. The following are some of the readings
that will be assigned in the first part of the semester.
-
week 1: (due Sept 12th)
-
week 2: How people are coding with AI tools (due Sept 19th)
-
Teaching coding wih AI tools - Leo Porter @ UCSD
-
How Google is using AI coding tools
-
Impact of AI on the broader undergraduate curriculum
Confirmed topics for first part of semester
We are continuing to evolve the course and the field is rapidly changing. We have fairly high confidence in this part of the schedule:
- Intro & Purpose
- Setting the stage and configuring your computer
- Python
- lists, dictionaries, tuples
- library management, version compatibility, using uv
- doctest and unittest
- VSCode
- csv files, dataframes and databases
- json
- git basics
- markdown
- Additional useful background reading: https://missing.csail.mit.edu/
- Using GitHub Copilot in VSCode
- GitHub slash commands: /explain, /fix, /doc
- Autocomplete
- Chat
- Prompt and context engineering for software development
- Planning and documenting design decisions
- Concerns about correctness and security of generated code
- Building software that uses LLMs
- When AI generated code passes all test cases, what else matters?
- Maintainability
- Software architecture, API design
- Efficiency and scalability
- Security
- Solving the right problem
Likely additional topics
We will likely cover most of the following topics, but the order of topics and the
precise set of tools for each topic are subject to change. As the schedule firms up,
topics will be moved to the above list.
- Other coding models
- Other ways to access LLMs
- Using AI tools with continuous integration, commit hooks, code reviews
- git branching, forking and pull requests
- Continuous integration, commit hooks
- code reviews
- GitHub Copilot agent
- Asynchronous coding agents and AI code reviews
- Vibe coding, and environments that allow you to use AI to create and deploy web applications.
Additional topics that might be covered
We may cover the following topics:
- AI assistants for UI/UX
- MCP
- agents tool use