Learning Objectives
Understand the new generation of AI tools focused on software development (code assistants, AI-based testing, AI-generated documentation, etc.).
Learn about key trends and concepts such as vibe coding and documentation-first workflow.
Identify main considerations regarding security, costs, and licensing of AI tools for development.
Key Topics
Current AI Ecosystem for coding:
Code assistants (Copilot, CodeWhisperer, Tabnine, Cursor, V0).
AI-driven testing tools (Meticulous, etc.).
IDE/local environment integrations vs. SaaS solutions.
Emerging Trends:
Documentation-first as a strategy to guide AI tools in code generation and documentation.
Vibe coding: definition and use cases.
Adoption Considerations:
Code and model security (handling private repositories, confidentiality).
Costs (cloud-based vs. on-premises vs. hybrid).
Ethics and accountability (use of generated code, snippet licenses).
Suggested Exercise
Create a mind map of all tools and concepts introduced (code assistants, automated testing, etc.), highlighting where they fit in a typical development pipeline.
Learning Objectives
Explore in detail one of the most powerful and up-to-date code assistant tools.
Master prompt engineering techniques and configurations to maximize productivity.
Implement the documentation-first workflow
Key Topics
Code Assistant Tools:
Junie
Copilot
WindSurf
Cursor
Modern Techniques:
Prompt engineering for specific code generation (tests, refactors, documentation).
Documentation-first workflow:
Writing documentation/contracts (e.g., interfaces, endpoints) before generating code.
Having AI keep documentation and implementation in sync.
Vibe coding:
Emphasizing flow and co-creation with AI without strictly following guidelines.
Use cases for prototyping and exploring ideas.
Main SWE Lancer
Suggested Exercise
Take an example project (e.g., a REST app in Node.js, Python, or Java) and:
Start by creating documentation for a new feature (specifications, endpoints, data structures).
Generate the base code with the help of one of these assistants.
Iterate in vibe coding mode, adding improvements and interactive changes.
Document how the AI refactors or updates the documentation automatically.
Learning Objectives
Discover AI-assisted testing tools (Meticulous and others).
Learn to generate and maintain unit, integration, and end-to-end tests using code assistants.
Evaluate test quality and the reliability of recommendations.
Key Topics
Meticulous:
How it works (capturing user flows, replay, snapshot comparisons).
CI/CD integration and QA pipelines.
Automatic Test Generation:
Prompt engineering for obtaining the desired test coverage.
Guiding AI to follow internal conventions (naming, mock objects, setup/teardown).
Validation and Metrics:
Test coverage vs. relevance.
Including edge cases and security tests with AI support.
Best Practices:
Manually review generated tests to ensure validity and avoid false positives.
Develop policies for using auto-generated tests (aligned with team culture).
Suggested Exercise
In the same project from Module 2, generate multiple test levels (unit, integration).
Use Meticulous (or a similar tool) to capture application navigation and create e2e tests.
Analyze the results: how good are the generated tests? what manual improvements are needed?
Learning Objectives
Understand what “agents” based on LLMs are and how they can automate tasks in the development cycle.
Learn how to integrate these agents with repositories, issues, documentation, and CI/CD pipelines.
Key Topics
What Are Agents?
Examples: Auto-GPT, LangChain Agents, ChatGPT Plugins.
Capabilities and limitations (context size, reliability, dependency on external sources).
Practical Use Cases:
Automating PR creation for fixes or features.
Generating documentation and progress reports based on commits and issues.
Monitoring logs and suggesting security or performance patches.
Integration with Project Management Tools:
GitHub Issues, Jira, Trello.
Automated workflows for labeling, assigning, and updating status.
Best Practices:
Maintaining a consistent “context” so the agent doesn’t lose track of the project state.
Validation and approval policies for code suggested by an agent (human in the loop).
Suggested Exercise
Configure an agent (e.g., with LangChain or a similar platform) to monitor a repository.
Have the agent suggest small fixes or create code documentation based on recent commits.
Review and approve suggestions within the team, discussing how productive this approach can be.
Learning Objectives
Learn to embed AI tools (code assistants, automated testing, agents) in CI/CD pipelines.
Adopt strategies for quick deployment with continuous feedback.
Key Topics
CI Tool Integration:
GitHub Actions, GitLab CI, Jenkins: setups for triggering generated tests or refactor suggestions.
Auto validations of coverage and static analysis via AI.
Automating Pull Requests:
Using AI to write PR descriptions (messages, change summaries).
Auto-merge mechanisms when the auto-generated test suite passes.
Monitoring & Feedback:
Automated alerts if a code assistant suggests risky changes (based on metrics).
Measuring time saved and post-deployment quality.
Use Cases:
Microservices with frequent updates.
Large monorepos with multiple teams.
Suggested Exercise
Configure a pipeline in GitHub Actions or GitLab CI that:
Runs static analysis.
Invokes an AI tool to correct potential code smells or suggest refactors.
Automatically generates or updates the project documentation.
Learning Objectives
Learn about new “SWE benchmarks” to measure the quality of suggestions from LLMs and code assistants.
Design in-house experiments to compare different tools (Copilot vs. Cursor vs. Tabnine, etc.).
Key Topics
Key Metrics:
Accuracy of proposed code (what percentage compiles or passes tests?).
Estimated time savings (productivity).
Adoption rate (how much of the final code originated from AI suggestions?).
Evaluation Frameworks:
Tests using a “gold standard” repository.
Qualitative and quantitative metrics (code style, readability).
Practical Comparisons:
Real-world examples from companies or open-source projects measuring the efficiency of code assistants.
How to interpret and communicate results to leadership.
Suggested Exercise
Define a small internal benchmark:
Pick 2–3 code assistants.
Measure how long each one takes to solve a set of coding “challenges” (functions or tasks).
Collect data on quality (tests passed, minimal corrections required).
Produce a comparative report for sharing within the organization.
Learning Objectives
Analyze emerging trends in AI for development (new open-source models, vibe coding vs. stricter workflows).
Prepare a plan for continuous adoption and tool updates within your organization.
Key Topics
Vibe coding as a philosophy:
Reflecting on outcomes from the course and how vibe coding promotes creativity.
Evolution of Code Assistants:
More specialized models (by language, by domain).
Integrations with chat agents that cover the entire stack (frontend, backend, infra).
Internal Training Strategies:
Establishing an “AI Center of Excellence” to continuously evaluate new tools.
“Pairing with AI” programs for developers to learn best practices.
Risks and Considerations:
Over-reliance on AI.
Security gaps.
Scalability costs.
Final Exercise
Mini-Hackathon integrating all course elements:
Heavy use of code assistants.
Automatic test generation (Meticulous or similar).
AI-driven CI/CD pipeline.
Basic benchmarks for comparison.
Vibe coding with rapid iteration and documentation-first on part of the project.
Present the final prototype and conduct a retrospective about each team’s experience.