Table of contents : Title Page Copyright Page Table of Contents Introduction About This Book Foolish Assumptions Icons Used in This Book Beyond the Book Where to Go from Here Part 1 Techniques and Technologies Chapter 1 How Coding Benefits from AI Banishing Boring Tasks Spotting boring tasks Letting AI write the template Crafting CRUD with AI Helping with Syntax Stop remembering trivial details Hinting at code mastery Adapting to new syntax Linting with AI Detecting bad code with static code analysis Integrating AI with static code analysis Using AI as a Tutor Studying AI’s potential in education Avoiding potential pitfalls Pairing Up with AI Overview of pair programming styles Understanding the pros and cons of pair programming with AI AI pair programming session Installing Copilot Using prompting to create a trivia game Chapter 2 Parsing Machine Learning and Deep Learning Decoding Machine and Deep Learning Defining key concepts Thinking about neural networks Input layer Hidden layer Output layer Training and testing models Demystifying Natural-Language Processing History of NLP Overcoming the challenges of NLP Understanding supervised and unsupervised learning Language generation techniques Understanding Transformers Learning to pay attention Getting tokens Illuminating Generative AI Models Recognizing AI’s Limitations Language models are bad at math Language models are wordy AI has limited knowledge AI lacks common sense AI has accuracy issues AI has the potential to be biased Chapter 3 AI Coding Tools Navigating GitHub Copilot Installing the Copilot plug-in Working efficiently with Copilot Specify your goal Break things down Give examples Open related files Using keyboard shortcuts Exploring Tabnine Installing Tabnine Setting up Tabnine Understanding Tabnine’s AI-driven code completion Reviewing Replit Starting a website with Replit Exploring the Replit workspace The sidebar Tabs and panes Pairing up with Replit AI Chapter 4 Coding with Chatbots Improving Your Prompts Adjusting the temperature Deciphering the elements of a prompt Open-ended versus closed-ended prompts Using different types of prompts Zero-shot prompting Few-shot prompting Chain-of-thought prompting Prompting like a pro Chatting with Copilot Understanding slash commands Knowing Copilot’s agents Getting the most out of Copilot Chat Chatting with ChatGPT Signing up and setting up Setting custom instructions Telling ChatGPT about you Telling ChatGPT your expectations Diving into the OpenAI Platform Checking your credits Messing around in the playground Running examples Playing the roles Adjusting the model’s settings Getting an API key Developing a Chatbot with OpenAI Part 2 Using AI to Write Code Chapter 5 Progressing from Plan to Prototype Understanding Project Requirements Determining the software requirements Domain requirements Functional requirements Non-functional requirements Writing an SRS Generating Code from an SRS Using a zero-shot approach Breaking down the problem Blending Manually Written and AI-Generated Code Writing the prompt Writing the server Submitting follow-up prompts Testing the server Implementing few-shot prompting on the server Improving the client Moving logic from AI to the client Tips and Tricks for Code Generation Don’t stop coding Be specific Think in steps Ask follow-up questions Check the official documentation Use examples and context Prioritize security Keep learning Keep your tools updated Be mindful of AI’s limitations Chapter 6 Formatting and Improving Your Code Using AI Tools for Code Formatting Setting up your formatting tools Using Prettier to automate code formatting Refactoring with AI Recognizing code smells Dispensables Bloaters Abusers Couplers Change preventers Additional categories of code smells Detecting code smells with Copilot Refactoring safely Generating Refactoring Suggestions Setting event listeners correctly Removing the magic number Reducing global data Fixing long functions Fixing inconsistent naming Lack of comments Making AI play tic-tac-toe better Chapter 7 Finding and Eliminating Bugs Knowing Your Bugs Strategies for detecting bugs Identifying common types of bugs AI-assisted bug reporting with Jam Preventing Bugs with Linting Installing a linter Installing the ESLint extension Fixing your code with a linter Combining linting with AI Changing the rules Detecting Bugs with AI Automating Bug Fixes with AI Introducing Snyk Executing automated bug fixes Verifying automated bug fixes Knowing when to automate Chapter 8 Translating and Optimizing Code Translating Code to Other Languages Preparing your code for translation Exploring translation strategies Translating a complete program using GPT-4 Verifying translated code Optimizing Your Code with AI Getting code optimization suggestions Avoiding premature optimization Part 3 Testing, Documenting, and Maintaining Your Code Chapter 9 Testing Your Code Writing a Test Plan Deciding between formal and agile Stepping through the test planning process Understanding the role of AI in test planning Identifying core functionalities Generating test scenarios Working with a Testing Framework Installing Jest Running Jest Generating test cases Reading a coverage report Analyzing test results Test-Driven Development with AI Chapter 10 Documenting Your Code Working with Documentation Bots Building your own documentation bot Testing your documentation assistant Generating Code Comments and Annotations Installing and testing Mintlify Doc Writer Commenting on Underscore Creating Visual Documentation Generating a sequence diagram Generating a requirements diagram Automating API Documentation with AI Documenting a REST API Creating an API documentation chatbot Chapter 11 Maintaining Your Code Knowing the Four Types of Maintenance Corrective software maintenance Adaptive software maintenance Perfective software maintenance Preventative software maintenance Utilizing AI for Code Maintenance Enhancing Code Quality with AI Understanding technical debt Getting started with Code Climate Enabling the text coverage report Analyzing code quality metrics Making AI-assisted code quality improvements Part 4 The Part of Tens Chapter 12 Ten More Tools to Try Amazon CodeWhisperer Sourcegraph Cody DeepMind AlphaCode Google Bard Codeium Claude Microsoft IntelliCode Sourcery Bugasura UserWay Chapter 13 Ten AI Coding Resources Code.org’s AI Resources Kaggle Google’s Dataset Search edX Edabit StatQuest AI4All Open Learning Gymnasium fast.ai Microsoft Learn Index EULA