Skip to content

vrubal/CopilotHackathon

 
 

Repository files navigation

GitHub Copilot Hackathon

Demo project for running labs to evaluate Copilot viability

Goal

The goal of a GitHub Copilot Hackathon is to learn how to use it, using a set of exercises (labs) that consist of building a web server using Nodejs with different functionalities, a .NET Web API or a Java Rest API (Spring Boot).

We have also set two exercises for data engineers and data scientists based on python.

For those who are already familiar with GitHub Copilot, we have also defined a series of challenges to test your skills. In this case, you will find an introduction and short guidance to help you solve the challenge, but you will have to do most of the work on your own (with the help of Copilot, of course).

GitHub Copilot is an AI-powered code assistant that helps developers write better code faster. It uses machine learning models trained on billions of lines of code to suggest whole lines or entire functions based on the context of what you’re working on. By using Copilot, you can learn how to write better code and improve your productivity.

Remember:

  • As you type GitHub Copilot will make suggestions, you can accept them by pressing Tab.
  • If nothing shows up after Copilot write some lines, press enter and wait a couple of seconds.
  • Press Ctrl + Enter, to see more suggestions.
  • Use Copilot chat to support your learning and development.
  • Press Ctrl + i to start Copilot chat inline within your code.

Proctors

  • Rob (dotnet, springboot)
  • Venkat (python, jupyter)
  • Kevin (C++, Node)

Pre-requisites

GitHub Copilot access

If you still do not have an active Copilot license, a 30 day trial can be requested here: https://github.com/github-copilot/signup.

Work with GitHub Codespaces

Codespaces is a pre-configured development environmnet hosted in Azure with VS Code in the browser as the editor. All the languages, dependencies, frameworks and tools needed for this workshop should come pre-installed and readty to go.

To start programming just start a new codespace and you are ready to go, don't need to install anything.

IDE Extensions

Install the Copilot Extension for you IDE (these extensions should already be installed as part of your Codespace so no action needed, but helpful when using Copilot locally)

Labs instructions

Challenges instructions

Tips

  • use multi-line comments for additional details for Code Complete
  • be explicit with your requests (see here for some prompt engineering tips)
  • keep relevant files open in tabs
  • copy and paste terminal output when chatting
  • use slash commands like @workspace and @terminal to include additional context (type /help to get a list)
  • nudge Chat by referring to previous prompts and responses
  • use the Fix with Copilot feature for syntax errors
  • try a different model if you’re not getting the right response
  • use Code Review to review a method
  • add files/context to your chat prompt

Quick Links

  1. Lots of Getting Started Resources

  2. Copilot Keyboard Shortcut cheat sheet

  3. Prompt Engineering tips

  4. Multi-model Use Cases

  5. About GitHub Copilot

  6. Getting started with GitHub Copilot

  7. About code referencing in GitHub Copilot

  8. Using GitHub Copilot Chat in your IDE

  9. Enabling GitHub Copilot in the CLI

  10. GitHub Copilot MS Learn Modules

  11. GitHub Copilot Certifications

Multi-Model Breakdown

Anthropic’s Claude 3.5 Sonnet is designed to handle an extensive range of coding tasks, from initial design to maintenance, optimisations, and beyond. Its prowess is evident in managing complex and multi-step coding challenges, making it a robust option for dynamic software development requirements.

Gemini 2.0 Flash, a Google AI model, is particularly useful for coding applications like generating code snippets, suggesting code fixes, explaining complex code concepts, and even assisting with debugging, thanks to its advanced reasoning capabilities and ability to understand complex prompts, making it a powerful tool for developers to enhance their coding efficiency and productivity; it can also integrate with existing coding environments to provide real-time assistance.

OpenAI’s latest models, o1-preview and o1-mini, surpass the capabilities of the current GPT 4o. These models boast enhanced reasoning abilities, providing a deeper understanding of code constraints and edge cases to produce efficient, high-quality results.

About

GitHub Copilot Hackathon using Nodejs, JAVA, Python & .NET

Resources

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages