1. Introduction to GitHub Copilot (10 minutes)

  • Overview:
    • What is GitHub Copilot and how it works.
    • Brief demonstration of Copilot in action within an IDE.
  • Activity:
    • Quick setup to ensure participants are ready to dive in.
  • Goal: Provide a concise overview and get straight to hands-on practice.

2. Writing Your First Prompts (1 hour)

  • Overview:
    • Basics of prompting Copilot effectively.
    • Writing comments to guide Copilot in generating code.
    • Exploring suggestions and accepting/rejecting completions.
  • Activity:
    • Add features to a basic codebase using comments (e.g., add user input, simple calculations).
    • Fix bugs or refactor code using Copilot's suggestions.
  • Goal: Build confidence in using Copilot for common tasks.

3. Common Recipes with Copilot (30 minutes)

  • Overview:
    • Frequently used Copilot patterns and use cases.
    • Examples include:
      • Generating boilerplate code (e.g., CRUD operations).
      • Writing tests.
      • Automating repetitive tasks (e.g., batch renaming variables).
  • Activity:
    • Work through common scenarios in a provided codebase.
    • Solve a set of mini-challenges using Copilot to implement these recipes.
  • Goal: Familiarize participants with practical and commonly applied Copilot features.

4. Copilot Edits: Updating Multiple Files (1 hour)

  • Overview:
    • How Copilot understands the context of multi-file codebases.
    • Generating code that updates or integrates across multiple files.
  • Activity:
    • Use a slightly larger codebase (e.g., a simple web application) to add a new feature requiring updates to multiple files (e.g., a form submission endpoint in both frontend and backend).
  • Goal: Demonstrate Copilot's ability to handle complex, multi-file scenarios.

5. Custom Instructions and Personalization (1 hour)

  • Overview:
    • How to customize Copilot's behavior using "custom instructions."
    • Setting preferences to align with specific coding styles or project requirements.
  • Activity:
    • Adjust custom instructions to enforce a specific style (e.g., functional programming).
    • Use Copilot to refactor a portion of the codebase in line with these preferences.
  • Goal: Equip participants with tools to tailor Copilot to their unique needs.

6. Exploring Agent Mode and Advanced Use Cases (1.5 hours)

  • Overview:
    • Introduction to "Agent Mode" and its capabilities.
    • Leveraging Copilot for sophisticated tasks, such as generating detailed documentation or automating repetitive workflows.
  • Activity:
    • Use Agent Mode to perform advanced tasks (e.g., auto-generate tests for an existing codebase, or create API documentation from scratch).
    • Group exercise: Collaboratively build and enhance a mini-project using Copilot in Agent Mode.
  • Goal: Unleash the full potential of GitHub Copilot for advanced productivity.