Schweitzer Fachinformationen
Wenn es um professionelles Wissen geht, ist Schweitzer Fachinformationen wegweisend. Kunden aus Recht und Beratung sowie Unternehmen, öffentliche Verwaltungen und Bibliotheken erhalten komplette Lösungen zum Beschaffen, Verwalten und Nutzen von digitalen und gedruckten Medien.
The fastest, most effective way to prepare for the GitHub Copilot certification exam and hone your skills with the popular AI-powered programming tool
In the GitHub Copilot Certification Study Guide, tech entrepreneur and Pluralsight trainer, Tom Taulli, delivers a concise and accurate walkthrough of the AI-powered programming tool. Perfect for everyone preparing to take the new GitHub Copilot Certification exam, as well as programmers who regularly use the tool in their day-to-day work, this Study Guide helps you optimize your software development workflows, understand the structure of the test, and learn the material covered by it.
This book explains every topic covered by the GitHub Copilot Certification exam, including:
From step-by-step tutorials of the GitHub Copilot installation process to proven exam-taking techniques from the experts at Sybex, the GitHub Copilot Certification Guide explores everything you need to understand to succeed on the test and improve your on-the-job coding performance. It offers:
Generative AI tools, like GitHub Copilot, have transformed the software engineering and programming landscapes. If you're preparing for the certification exam, or you wish to expand your AI coding skillset, grab a copy of the GitHub Copilot Certification Study Guide today.
ABOUT THE AUTHOR
TOM TAULLI is an author, speaker, Pluralsight trainer, and startup advisor. He is the author of AI-Assisted Programming: Better Planning, Coding, Testing, and Deployment, as well as other AI-focused technology books.
Acknowledgments xiii About the Author xiv About the Technical Editor xv Introduction xvi Assessment Test xxvii Answers to Assessment Test xxxii
Chapter 1 The Fundamentals of AI and Its Responsible Use 1
Chapter 2 Introduction to GitHub Copilot 29
Chapter 3 Differences in GitHub Copilot Versions 63
Chapter 4 The Role of Data 85
Chapter 5 Prompt Crafting and Engineering 105
Chapter 6 Developer Use Cases for GitHub Copilot 125
Chapter 7 Testing and Privacy Considerations 155
Appendix Answers to Review Questions 187 Index 199
The goal of this chapter is to give you a broad overview of artificial intelligence (AI) and to set a solid foundation.
The first few sections of the book, though, are not covered on the exam. They include the principles of AI coding, the abstraction of programming languages, and the basics of AI. Yet these are important to cover since they make some of the exam-focused topics easier to understand.
The chapter also covers areas that are relevant to the exam, such as the risks of generative AI-including topics like hallucinations and bias-and responsible AI. It also looks at how AI coding systems can use different models.
Finally, the chapter covers a few other topics that are not on the exam but are still helpful in learning about some of the powerful features of GitHub Copilot, such as using different AI models. The chapter talks about how AI coding is reshaping traditional development and evaluates some of the alternatives to GitHub Copilot.
AI coding is about using AI for writing, testing, and debugging code. It's one of the most dynamic areas of technology, as it seems like every day there is a new innovation. It can be difficult to keep up with everything.
Regardless, AI coding is quickly becoming mainstream. Here's what Hadi Partovi, CEO of Code.org, had to say about it1:
"At this point, software engineering without AI is a little bit like writing without a word processor."
Or consider this tweet from Paul Graham, cofounder of Y Combinator2:
"I met a 19 year old yesterday who'd been using AI to write code since he was 16. It was not an advance to him. It was just how programming is done. He took it for granted that AI will eventually write most code."
To get a sense of the pervasiveness of AI coding, look at Google. The company, which has about 60,000 developers, generates more than a quarter of its code using AI.3 This was according to a statement from CEO Sundar Pichai in late 2024.4 It seems like a good bet that this percentage will continue to grow.
One of the leading AI coding tools is GitHub Copilot, which was launched in June 2021.5 This came about 17 months before the introduction of ChatGPT. GitHub used a specialized AI model, called Codex, that was customized for coding tasks. The system was essentially a derivative of OpenAI's GPT-3 model.
While this was an early generation of the model, GitHub Copilot was still quite powerful. Andrej Karpathy, founding member of OpenAI and entrepreneur, tweeted this about it6:
"Copilot has dramatically accelerated my coding; it's hard to imagine going back to 'manual coding.' Still learning to use it but it already writes ~80 percent of my code, ~80 percent accuracy. I don't even really code, I prompt and edit."
Soon after, other AI-coding tools sprang up. Some were from startups like Cursor, others from mega-tech companies, such as Amazon and Google. But GitHub has remained the top player.
There are many reasons for this. The system is a first mover. GitHub also has a massive userbase, many talented developers, a strong AI team, and a willingness to focus on innovation.
All in all, learning GitHub Copilot is a smart decision, and getting the certification is a way to help you stand out.
Abstraction is about simplifying complex systems, which is critical for software development. You do not want a project to get bogged down in unnecessary technical details. A developer should also not have to understand the inner workings of every component. As much as possible, a developer should be able to focus on higher-level concepts, which helps speed up development and improve quality. Abstraction also makes it easier to maintain and adapt codebases.
As should be no surprise, abstraction is a major driver for the evolution of programming languages. For example, the first ones were highly cryptic and prone to error. They used machine language, which consisted of long strings of binary digits or 0s and 1s.
But there would quickly emerge abstractions, such as assembly language. True, this was still complex. Then again, assembly language did use characters!
It would not be until the 1950s that we saw the emergence of high-level languages, which used human-readable syntax. Some examples included Fortran and COBOL. In fact, COBOL was written in a way that allowed nontechnical people to understand the workflows. This was important since this language was mostly about business applications that were often audited by accountants and business analysts.
After this, languages started to adopt more structured approaches. They involved using functions and subroutines. This would eventually be followed by object-oriented programming. With these approaches, software code became more modular and reusable.
However, the leveraging of AI for software development has represented perhaps the most transformative level of abstraction. You no longer write code. Instead, you write prompts-that is, natural language instructions. As Karpathy has tweeted7:
"The hottest new programming language is English."
This is not to imply you do not have to understand software languages. You still do. The main reason is that AI coding systems sometimes generate code that has bugs.
You'll also need to understand how to craft effective prompts-known as prompt engineering. They will allow you to get the most from an AI coding system.
Defining AI can be a challenge. It's a complicated technology and is constantly undergoing change. The industry also has much hype and marketing exaggerations.
But a helpful way of understanding AI is to use a diagram, which you can see in Figure 1.1.
FIGURE 1.1 The different forms of AI.
Basically, AI is a general term that includes various types of technologies like machine learning (ML), deep learning (DL) and generative AI (GenAI). For the most part, they allow machines to engage in learning, reasoning, problem solving, and decision-making.
Machine learning (ML) is one of the earliest approaches to AI. In 1959, IBM researcher Arthur Samuel published a paper that set forth the elements of this technology.8 The basic idea was that ML allows a computer to learn without being explicitly programmed. In the paper, Samuel noted:
"Programming computers to learn from experience should eventually eliminate the need for much of this detailed programming effort."
To understand ML, let's take an example of a spam filtering application. To create one, you need large amounts of data. This includes emails that are labeled either "spam" or "not spam." You then train this model using an available ML algorithm, like linear regression, decision trees, or k-nearest neighbors. A popular one for spam detection is the Naive Bayes Classifier. This uses probability analysis to determine the likelihood of an email being spam.
Once the ML model is trained, it will be fed emails in a person's email program. Any spam will then be sent to a separate folder.
But an effective ML model needs monitoring and updates. For example, Gmail will improve its models by using user feedback, such as when a person marks emails as spam or not.
This process is known as labeling data. When an ML model uses this approach, it is called supervised learning. This is usually for classification, which divides data into classes or categories. Besides spam filtering applications, other examples of this include image recognition and fraud detection.
But supervised learning is also used with regression. This where labeled data predicts numerical values, such as temperatures or home prices.
Besides supervised learning, there are two other ways ML can help a computer learn:
Dateiformat: ePUBKopierschutz: Adobe-DRM (Digital Rights Management)
Systemvoraussetzungen:
Das Dateiformat ePUB ist sehr gut für Romane und Sachbücher geeignet – also für „fließenden” Text ohne komplexes Layout. Bei E-Readern oder Smartphones passt sich der Zeilen- und Seitenumbruch automatisch den kleinen Displays an. Mit Adobe-DRM wird hier ein „harter” Kopierschutz verwendet. Wenn die notwendigen Voraussetzungen nicht vorliegen, können Sie das E-Book leider nicht öffnen. Daher müssen Sie bereits vor dem Download Ihre Lese-Hardware vorbereiten.Bitte beachten Sie: Wir empfehlen Ihnen unbedingt nach Installation der Lese-Software diese mit Ihrer persönlichen Adobe-ID zu autorisieren!
Weitere Informationen finden Sie in unserer E-Book Hilfe.