Collaborative Development With AI
Course description
The course has a good balance of interactive lectures and hands-on exercises. The
attendees are expected to pair-up and work on the lab exercises. The instructor will
assist the attendees as they work on the exercises. The objective of the course is for
the attendees to gain an in depth practical knowledge of the concepts so they can put
them to immediate use on real projects. As part of the course, the attendees will
practice continuous AI collaboration using a practical programming exercise where the
application will be evolved though out the day with multiple people working on the same
code base with the aid of AI.
Topics
- AI and Programming
- What can AI do for us today?
- What works well?
- What does not work well?
- Ethics and legality
- Benefits and risks
- When to use it?
- When not to use it?
- Exercise
Using Copilot
- Copilot
- Installing copilot
- Using copilot as we write code
- Quality of prompts
- Evolving code using Copilot
- Disabling and enabling copilot
- Exercise
Using ChatGPT
- What is it for and what is it not for?
- Benefits
- Risks
- Prompts and quality
- Types of prompts
- Writing code with ChatGPT
- Explaining code
- Exercise
Using AI to Generate Automated Tests
- AI to create Unit tests
- Quality of tests
- Setting the direction towards better quality
- The flow of test – code cycle with AI
- Exercise
Detecting Issues with AI
- Using AI to identify issues
- Addressing Issues and reviewing code using AI
- Identification and critical fixes using AI
- Exercise
Refactoring with the Aid of AI
- Legacy Code
- Refactoring efforts
- AI to the rescue
- Refactoring legacy code
- Measuring the quality of design after refactoring
- Exercise
AI in Application Development
- Using AI within Application Code
- Spring AI
- Other solutions to enhance application capabilities
- Benefits
- Risks
- Protecting IP while using AI
- Exercise