WA3336

Introduction to GitHub Copilot Training

This GitHub Copilot course teaches programmers how to use GitHub Copilot’s Generative AI capabilities to produce code they would have to write themselves. After taking this class, participants supercharge their coding workflow and write more confidently, using Copilot as a programming partner.

GitHub Copilot is powered by OpenAI's language model, which has been trained on a massive dataset of public code repositories. It helps developers write code by suggesting lines and entire functions. This course prepares students to tackle coding challenges and streamline their development process.

Course Details

Duration

1 day

Prerequisites

Experience coding in Python or other programming languages.

Target Audience

  • Software developers
  • IT architects
  • Technical managers

Skills Gained

  • Explore LLMs (Large Language Models) and their impact on coding
  • Utilize GitHub Copilot for efficient coding, from basics to advanced features
  • Learn prompt engineering to optimize AI code generation
  • Master prompting techniques for code completion, debugging, and large codebases
  • Leverage Copilot's versatility for diverse programming tasks
  • Integrate Copilot into your development process for cleaner, more efficient code
  • Explore Copilot Chat for interactive coding and problem-solving
Course Outline
  • Introduction to Generative AI and LLMs
    • Power of Generative AI
    • Technical Foundation of Generative AI
    • Opportunities Created by Generative AI
    • Challenges and Key Concerns
    • Generative AI and LLM
    • Common Generative AI Applications
    • ChatGPT vs GitHub Copilot
  • GitHub Copilot Introduction
    • Define GitHub Copilot
    • Explore Common Features
    • GitHub Copilot Subscription Types
    • How Copilot Works
  • Working with GitHub Copilot
    • Recap the importance of understanding core programming concepts, algorithms, and data structures.
    • Copilot complements these skills, not replaces them.
    • Must understand crucial role of critical thinking, problem-solving, and debugging skills in effective coding.
    • Copilot is a tool, not a solution, and independent judgment is paramount.
    • continuous learning and adaptability in the ever-evolving world of technology.
    • Copilot can assist in navigating change and adopting new skills.
    • We will create projects that showcase skills and how to utilize Copilot responsibly.
  • Mastering Basic Completion
    • Variable Names and Structure
    • Context-Aware Completion
    • Accepting Suggestions
    • Power of Comments
    • Completion for Documentation
    • Code Snippet magic
    • Fine Tuning Control
  • Prompt Engineering Essentials
    • Prompt Engineering Introduction
    • Key Elements of Prompts
    • Prompting Techniques
    • Zero-Shot
    • One-Shot
    • Few Shot
    • Chain of Thoughts
  • Copilot Prompting Mechanism
    • Prompt Principles
    • Best Practises to follow
    • Prompt Process Flow in GitHub Copilot
    • Example: Zero Shot
    • Example: One Shot
    • Example: Few Shot
  • Working with GitHub Copilot Chat
    • Introduction to GitHub Copilot Chat
    • GitHub Copilot Chat Process Flow
    • Critical Use cases
    • Limitations of Copilot Chat
    • Using Commands
    • Keyboard Shortcuts
  • Advance Completion and managing Large Codebases
    • Regular Expressions
    • Code Formatting and Style Consistency
    • Code Refactoring
    • Navigating Large Codebases
    • Coding with Question
    • Debugging Assistance
    • Testing code with Prompts
    • Tool Integration
  • GitHub Copilot and Programming Languages
    • Python-specific Features
    • JavaScript and TypeScript
    • Secure Code with Copilot
    • Adding Accessibility
    • Game Development with Copilot
  • GitHub Copilot Design Patterns and Best Practices
    • What are Patterns
    • GitHub Copilot Pattern Categories
    • Design Pattern at Work
    • Practically Viable Patterns
    • Pattern for Test Engineers
    • Best Practices
  • Conclusion

 

Lab Exercises

  • Lab 0: Setting up GitHub Copilot and Integrate it in Visual Studio Code
  • Lab 1: Basic Completions in GitHub Copilot
  • Lab 2: Exploring context-aware completions in GitHub Copilot, including type inference, method parameter suggestions
  • Lab 3: Create a sample data set directly within your code editor utilizing GitHub Copilot's suggestions
  • Lab 4: Use the generated customer data set with GitHub Copilot and comments to tackle data management Activities
  • Lab 5: Generating Unit Testcases
  • Lab 6: Code Snippet Magic with GitHub Copilot
  • Lab 7: Exploring Regular Expressions in Code Comments and Prompts with GitHub Copilot
  • Lab 8: Maintaining Code Formatting and Style Consistency with GitHub Copilot
  • Lab 9: Refactor Your Code with GitHub Copilot!
  • Lab 10: Handling Large Codebases with GitHub Copilot Navigation
  • Lab 11: Supercharge Your Workflow with Copilot Integrations
  • Lab 12: Rapid prototyping
  • Lab 13: Secure Your Code with Copilot
  • Lab 14: Creating Accessible Code with Copilot - Building Inclusive Apps