Slide 1

Slide 1 text

No content

Slide 2

Slide 2 text

THIJS LIMMEN GITHUB COPILOT BEYOND THE BASICS 10 WAYS TO ELEVATE YOUR CODING YULIYA KHADASEVICH

Slide 3

Slide 3 text

GITHUB COPILOT

Slide 4

Slide 4 text

1 GITHUB COPILOT AI PAIR PROGRAMMER Visual Studio Visual Studio Code Vim/Neovim Jet Brains

Slide 5

Slide 5 text

2 GITHUB COPILOT LICENSES Business $19 per user / month Individual $10 per user / month * Requires GitHub Enterprise Cloud. ** Currently in preview. (available in 2024) Enterprise $39 per user / month

Slide 6

Slide 6 text

3 GITHUB COPILOT HOW DOES IT WORK GitHub-owned Azure tenant OpenAI LLM Suggestions Proxy service HTTPS Context v Authenticate v Sanitize (remove PII, secrets) v Sentiment analysis (abusive language, etc.) v Security filter v Sentiment analysis v Optional OSS Duplicate detection

Slide 7

Slide 7 text

4 GITHUB COPILOT GPT Generative Pre-trained Transformer (type of LLM) Developed by OpenAI GPT-4 Ø GitHub Copilot Chat Ø 10X Powerful Ø Accurate GPT-3.5 Ø GitHub Copilot Completions Ø Fast Ø Cheap(er)

Slide 8

Slide 8 text

10 WAYS

Slide 9

Slide 9 text

1 10 WAYS COPILOT CORE

Slide 10

Slide 10 text

1 DEMO

Slide 11

Slide 11 text

2 10 WAYS IMPROVE CODE

Slide 12

Slide 12 text

2 10 WAYS • IMPROVE CODE @AGENTS FOR SCOPE @workspace Navigate code in workspace by finding relevant files or classes. @terminal Assistance with how to run terminal commands @vscode Assistance with commands and features in the VS Code editor itself.

Slide 13

Slide 13 text

2 10 WAYS • IMPROVE CODE /SLASH COMMANDS /explain Explain code /tests Create unit tests /fix Propose a fix for problems in the selected code /new Scaffold a new project /help Get help on Copilot chat

Slide 14

Slide 14 text

2 10 WAYS • IMPROVE CODE #HASHTAG COMMANDS #file Specific File #codebase Search through the open codebase #selection Selected Code #terminalSelection Selected Text in Terminal #editor “Visible“ Source Code #git Git context

Slide 15

Slide 15 text

2 DEMO

Slide 16

Slide 16 text

3 10 WAYS PROMPT ENGINEERING

Slide 17

Slide 17 text

3 10 WAYS • PROMPT ENGINEERING PROMPT ENGINEERING The process of crafting questions or instructions for AI, aimed at enhancing the quality of its responses

Slide 18

Slide 18 text

3 10 WAYS • PROMPT ENGINEERING BASIC TECHNIQUES Zero-shot prompting One-shot and Few-shot prompting

Slide 19

Slide 19 text

3 DEMO

Slide 20

Slide 20 text

TESTING

Slide 21

Slide 21 text

4 10 WAYS UNIT TESTING

Slide 22

Slide 22 text

4 10 WAYS UNIT TESTING GitHub Copilot's design excels at handling smaller code segments to maintain full context Unit Tests Integration Tests More Isolation More Integration Acceptance Tests

Slide 23

Slide 23 text

4 DEMO

Slide 24

Slide 24 text

5 10 WAYS ACCEPTANCE TESTING

Slide 25

Slide 25 text

5 10 WAYS ACCEPTANCE TESTING Unit Tests Integration Tests Acceptance Tests More Isolation More Integration

Slide 26

Slide 26 text

5 10 WAYS • ACCEPTANCE TESTING Behaviour Driven Development Testing Tool for .NET applications Given, When, Then BDD Gherkin Language

Slide 27

Slide 27 text

5 DEMO

Slide 28

Slide 28 text

6 10 WAYS TROUBLESHOOTING

Slide 29

Slide 29 text

6 10 WAYS TROUBLESHOOTING GitHub Copilot is useful for debugging and troubleshooting: • Exception explanation • Code analysis • Suggesting fixes • Code refactoring • Code documentation • Helps with automated testing

Slide 30

Slide 30 text

6 DEMO

Slide 31

Slide 31 text

VISUALIZATION

Slide 32

Slide 32 text

7 10 WAYS LOADING …

Slide 33

Slide 33 text

7 10 WAYS LOADING … -WHAT TO PUT HERE?

Slide 34

Slide 34 text

7 DEMO

Slide 35

Slide 35 text

8 10 WAYS UI / UX

Slide 36

Slide 36 text

8 10 WAYS UI / UX -WHAT TO PUT HERE?

Slide 37

Slide 37 text

8 DEMO

Slide 38

Slide 38 text

9 10 WAYS UI TESTS

Slide 39

Slide 39 text

9 10 WAYS UI TESTS -WHAT TO PUT HERE?

Slide 40

Slide 40 text

9 DEMO

Slide 41

Slide 41 text

ADVANCED

Slide 42

Slide 42 text

10 10 WAYS CHAIN OF THOUGHT

Slide 43

Slide 43 text

10 10 WAYS CHAIN OF THOUGHT Enables Complex Reasoning capabilities through Intermediate Reasoning steps to get Better Results on complex tasks

Slide 44

Slide 44 text

10 10 WAYS • CHAIN OF THOUGHT AEROBATICS SEQUENCE SIGNATURE (FICTIONAL)

Slide 45

Slide 45 text

10 10 WAYS • CHAIN OF THOUGHT CALCULATE DIFFICULTY

Slide 46

Slide 46 text

10 10 WAYS • CHAIN OF THOUGHT CHAIN OF THOUGHT REASONING

Slide 47

Slide 47 text

No content

Slide 48

Slide 48 text

No content

Slide 49

Slide 49 text

No content

Slide 50

Slide 50 text

FINAL THOUGHTS

Slide 51

Slide 51 text

X Do’s Ø Set clear goals Ø Provide detailed instructions Ø Refine through feedback Ø Use for creativity and exploration Ø Make flight hours by using the tool Don’ts Ø Rely blindly; verify Ø Expect instant perfection FINAL THOUGHTS FINAL THOUGHTS

Slide 52

Slide 52 text

X GitHubNext: https://githubnext.com FINAL THOUGHTS USEFUL LINKS More prompt engineering techniques: https://www.promptingguide.ai Github samples and slides: https://github.com/ThijSlim/devnetnoord-github-copilot-beyond-basics