CS373 - AI Coding Assistants
Introduction to Using AI Coding Assistants
For the demonstration element of our Explorations assignment, we will use AI-assisted coding. Numerous tools exist to facilitate the integration of AI bots in designing, developing, testing, and debugging of software. Each of you will experiment in the early part of the semester with one or more AI tool by producing a solitaire simulator. The number and capabilities of AI assistants is evolving rapidly. Presently, here are some possible tools for you to consider.
| Tool | IDE Compatibility | Key Features | Getting Started Hints |
|---|---|---|---|
| GitHub Copilot | VS Code, JetBrains | Natural language to code, easy completions | Visit GitHub Copilot’s page, install the extension for VS Code or JetBrains, and sign up for a GitHub account if needed. Usually requires a subscription after a trial. |
| Replit | Browser-based IDE | Collaborative coding, easy sharing, and AI assist features | Go to Replit.com, create a free account, and start a Python repl. No installation needed—runs in the browser. |
| Zed | Zed Editor | Minimalist, fast editor with AI coding help (Mac and Linux only for now) | Download Zed from their official site, install it locally, and follow their setup guide. Usually free to use with optional sign-in. |
| Tabnine | Multiple IDEs | AI-based completions, multi-language support | Go to the Tabnine website, download the plugin for your chosen IDE, and start with the free tier or upgrade for more features. |
| CodeWhisperer | VS Code, others | Context-aware suggestions from Amazon | Check Amazon CodeWhisperer’s docs, install their extension in VS Code, and sign in with an AWS account. There may be a free tier or trial available. |
| OpenAI Codex | API-based | Customizable AI coding via API | Visit OpenAI’s platform page, get API keys, and follow Python or other language-specific examples. This requires an OpenAI account and may have usage costs. |
Assignment
- Develop a Solitaire Simulator.
- Produce an estimated winning percentage by playing many (1000+) games and computing the ratio of wins-to-games-played.
- Produce a brief (2-page or so) report that describes:
- The AI-assistant(s) used to produce the code.
- Your experience using the tool(s) both positive and negative.
- Your winning percentage along with the details of how you computed it.
Notes:
- You may work on this assignment alone or in a group.
- If you work as a group, every student must have their own code, results, and report.
- The goal of the assignment is to become familiar with AI coding assistants for the purpose of producing your Explorations assignment demo.