Welcome to the GitHub Copilot Challenge! This repository contains three increasingly difficult challenges designed to help you explore and master GitHub Copilot Chat and GitHub Copilot Edits in Visual Studio Code.
The goal of these challenges is to familiarize yourself with:
- Using GitHub Copilot Chat effectively
- Leveraging Copilot Edits for code modifications
- Understanding how to interact with Copilot for various programming tasks
Each challenge has its own folder with source code, tests, and instructions:
-
Challenge 1: String Manipulation - Beginner
- Located in:
challenges/challenge1/ - Implementation file:
challenges/challenge1/src/palindrome.js - Test file:
challenges/challenge1/src/palindrome.test.js
- Located in:
-
Challenge 2: Data Transformation - Intermediate
- Located in:
challenges/challenge2/ - Implementation file:
challenges/challenge2/src/employeeAnalytics.js - Test file:
challenges/challenge2/src/employeeAnalytics.test.js
- Located in:
-
Challenge 3: Algorithm Implementation - Advanced
- Located in:
challenges/challenge3/ - Implementation file:
challenges/challenge3/src/taskScheduler.js - Test file:
challenges/challenge3/src/taskScheduler.test.js
- Located in:
These challenges are designed to be completed in approximately 20 minutes:
- Challenge 1: ~5 minutes
- Challenge 2: ~7 minutes
- Challenge 3: ~8 minutes
- Clone this repository
- Make sure you have Node.js installed
- Run
npm installto install dependencies - Use VS Code with GitHub Copilot and Copilot Chat extensions enabled
To verify your solutions, you can either:
Run all tests:
npm testOr run tests for a specific challenge:
npm run test:challenge1
npm run test:challenge2
npm run test:challenge3-
General Tips:
- Use
/helpin Copilot Chat to explore available commands - Try both inline chat and the dedicated chat view
- Experiment with Copilot Edits for code modifications
- Use
-
When Working on Challenges:
- Break down the problem into smaller parts
- Ask Copilot to explain any code you don't understand
- Use Copilot to help write test cases
- Request optimization suggestions
-
Useful Copilot Commands:
/explain- Get an explanation of selected code/tests- Generate unit tests/fix- Fix issues in your code/doc- Generate documentation
challenges/
โโโ challenge1/
โ โโโ src/
โ โ โโโ palindrome.js
โ โ โโโ palindrome.test.js
โ โโโ README.md
โโโ challenge2/
โ โโโ src/
โ โ โโโ employeeAnalytics.js
โ โ โโโ employeeAnalytics.test.js
โ โโโ README.md
โโโ challenge3/
โโโ src/
โ โโโ taskScheduler.js
โ โโโ taskScheduler.test.js
โโโ README.md
Good luck with the challenges! ๐