Artificial Intelligence (AI) and Tools for Software Engineering
Module Summary
This module introduces generative AI concepts and explores how AI coding assistants, especially GitHub Copilot, can accelerate software development while maintaining responsible and secure practices. Learners will understand foundational AI concepts, practice prompt engineering, generate code, and critically evaluate AI-generated outputs within the software development lifecycle (SDLC). A hands-on lab challenges learners to apply AI tools to build a small but non-trivial application and reflect on best practices and limits of AI assistance.
Learning Objectives
By the end of this module, learners will be able to:
- Define generative AI, explain how it works, and describe common model types and applications.
- Apply prompt engineering techniques to guide AI coding assistants effectively.
- Use GitHub Copilot across IDE, chat, web, and command line to scaffold code.
- Evaluate AI-generated code for correctness, accessibility, security, and maintainability.
- Integrate AI assistance responsibly into the SDLC, including documentation and code review.
- Measure productivity improvements and identify limitations and risks of AI-assisted development.
Learning Outcomes
Upon completing this module, learners will be able to:
- Articulate key concepts of generative AI and differentiate it from traditional ML.
- Use prompt strategies to obtain higher-quality, context-aware code completions.
- Generate and refine implementations with GitHub Copilot.
- Diagnose and fix common AI-generated issues (inconsistencies, a11y gaps, brittle logic).
- Apply responsible AI practices, including privacy, security, and ethical considerations.
- Document AI usage decisions and reflect on productivity and code quality impacts.
Module Outline
Lesson 1: Introduction to Generative AI
- Time: 45 minutes
- Topics:
- What generative AI is and how it differs from traditional ML
- How generative models work and common model types
- Use cases and applications of generative AI
- Activities:
- Short lesson content and knowledge check
- Reflection: Identify opportunities and risks for AI in your current workflow
Lesson 2: GitHub Copilot Fundamentals
- Time: 2 hours 45 minutes
- Topics:
- Responsible AI with GitHub Copilot: policies, guardrails, and safe usage
- Introduction to GitHub Copilot and prompt engineering in the IDE
- Advanced Copilot features and using Copilot across environments (IDE, chat, web, CLI)
- Management and customization considerations
- Activities:
- Code-along: scaffold a small feature with Copilot suggestions
- Knowledge checks on prompting, features, and responsible usage
Lesson 3: GitHub Copilot Fundamentals (Part 2)
- Time: 1 hour
- Topics:
- Developer use cases and measuring productivity with AI
- Using Copilot effectively with JavaScript
- Activities:
- Code-along: apply Copilot to implement a small JS feature and refine output
Complete only the sections on “Developer use cases for AI with GitHub Copilot” and “Using Github Copilot with JavaScript”.
Lab: An AI Coding Challenge
- Time: 2 hours (asynchronous)
- Task: Build a browser-based Flashcards Study App using AI assistants to accelerate development. Critically review and improve AI output for correctness, accessibility, and consistency.
- Objective: Practice using AI tools to scaffold features quickly while maintaining quality and responsibility.
- Submission Requirements:
- GitHub repository link with project files
- Reflection: five bullet points on AI usage, fixes, and insights
Assessments
Knowledge-Based Assessment (KBA)
- Time: 1.5 hours (asynchronous)
- Format: 30 multiple-choice questions covering generative AI concepts, responsible AI, prompt engineering, and GitHub Copilot features.
- Objective: Assess understanding of AI fundamentals and responsible, effective Copilot usage.