A Quick Guide to Coding with AI you own this product

'); $(document.body).append('
loading reading lists ...
'); function adjustReadingListIcon(isInReadingList){ $readingListToggle.toggleClass("fa-plus", !isInReadingList); $readingListToggle.toggleClass("fa-check", isInReadingList); var tooltipMessage = isInReadingList ? "edit in reading lists" : "add to reading list"; $readingListToggle.attr("title", tooltipMessage); $readingListToggle.attr("data-original-title", tooltipMessage); } $.ajax({ url: "/readingList/isInReadingList", data: { productId: 3145 } }).done(function (data) { adjustReadingListIcon(data && data.hasProductInReadingList); }).catch(function(e){ console.log(e); adjustReadingListIcon(false); }); $readingListToggle.on("click", function(){ if(codePromise == null){ showToast() } loadCode().then(function(store){ store.requestReadingListSpecificationForProduct({ id: window.readingListsServerVars.externalId, manningId: window.readingListsServerVars.productId, title: window.readingListsServerVars.title }); ReadingLists.ReactDOM.render( ReadingLists.React.createElement(ReadingLists.ManningOnlineReadingListModal, { store: store, }), document.getElementById("reading-lists-modal") ); }).catch(function(e){ console.log("Error loading code reading list code"); }); }); var codePromise var readingListStore function loadCode(){ if(codePromise) { return codePromise } return codePromise = new Promise(function (resolve, reject){ $.getScript(window.readingListsServerVars.libraryLocation).done(function(){ hideToast() readingListStore = new ReadingLists.ReadingListStore( new ReadingLists.ReadingListProvider( new ReadingLists.ReadingListWebProvider( ReadingLists.SourceApp.marketplace, getDeploymentType() ) ) ); readingListStore.onReadingListChange(handleChange); readingListStore.onReadingListModalChange(handleChange); resolve(readingListStore); }).catch(function(){ hideToast(); console.log("Error downloading reading lists source"); $readingListToggle.css("display", "none"); reject(); }); }); } function handleChange(){ if(readingListStore != null) { adjustReadingListIcon(readingListStore.isInAtLeastOneReadingList({ id: window.readingListsServerVars.externalId, manningId: window.readingListsServerVars.productId })); } } var $readingListToast = $("#reading-list-toast"); function showToast(){ $readingListToast.css("display", "flex"); setTimeout(function(){ $readingListToast.addClass("shown"); }, 16); } function hideToast(){ $readingListToast.removeClass("shown"); setTimeout(function(){ $readingListToast.css("display", "none"); }, 150); } function getDeploymentType(){ switch(window.readingListsServerVars.deploymentType){ case "development": case "test": return ReadingLists.DeploymentType.dev; case "qa": return ReadingLists.DeploymentType.qa; case "production": return ReadingLists.DeploymentType.prod; case "docker": return ReadingLists.DeploymentType.docker; default: console.error("Unknown deployment environment, defaulting to production"); return ReadingLists.DeploymentType.prod; } } }); } });
Examples in Python
Jeremy Morgan
  • MEAP began September 2024
  • Publication in Spring 2025 (estimated)
  • ISBN 9781633437272
  • 275 pages (estimated)
  • printed in black & white

pro $24.99 per month

  • access to all Manning books, MEAPs, liveVideos, liveProjects, and audiobooks!
  • choose one free eBook per month to keep
  • exclusive 50% discount on all purchases

lite $19.99 per month

  • access to all Manning books, including MEAPs!

team

5, 10 or 20 seats+ for your team - learn more


Look inside
Practical techniques to accelerate software development using generative AI.

Let’s get real. You’d like to hand off a lot of tedious software development tasks to an assistant—and now you can! AI-powered coding tools like Copilot can accelerate research, design, code creation, testing, troubleshooting, documentation, refactoring and more. A Quick Guide to Coding with AI shows you how. Written for working developers, this book fast-tracks you to AI-powered productivity with bite-size projects, tested prompts, and techniques for getting the most out of AI.

In A Quick Guide to Coding with AI you’ll learn how to:

  • Incorporate AI tools into your development workflow
  • Create pro-quality documentation and tests
  • Debug and refactor software efficiently
  • Create and organize reusable prompts

A Quick Guide to Coding with AI takes you through several small Python projects with the help of AI tools, showing you exactly how to use AI to create and refine real software. This book skips the baby steps and goes straight to the techniques you’ll use on the job, every day. You’ll learn to sidestep AI inefficiencies like hallucination and identify the places where AI can save you the most time and effort. Unique tips, tricks, and prompt hacks ensure you’re getting the best out of AI.

about the book

A Quick Guide to Coding with AI is a deep-dive into AI coding tools, quickly getting you up to speed with effective code generation in a professional development environment. You’ll benefit from author Jeremy Morgan’s clear-eyed developer-to-developer approach based on his real-world experience of AI coding. Hands-on Python projects demonstrate how you can use AI to organize prompts, create documentation, debug your software, and more.

about the reader

For professional software developers. Examples in Python.

about the author

Jeremy Morgan is on a mission to help developers get better at what they do. He's a Senior Training Architect for KodeKloud and an avid tech blogger and speaker. He has two decades of experience as an engineer building software for everything from Fortune 100 companies to tiny startups. Jeremy hosts the popular tech blog, www.jeremymorgan.com. He also contributes to open source as a .NET Foundation Member, DevOps Institute Ambassador, and serves on a DevNetwork advisory board.

choose your plan

team

monthly
annual
$49.99
$399.99
only $33.33 per month
  • five seats for your team
  • access to all Manning books, MEAPs, liveVideos, liveProjects, and audiobooks!
  • choose another free product every time you renew
  • choose twelve free products per year
  • exclusive 50% discount on all purchases
  • A Quick Guide to Coding with AI ebook for free

choose your plan

team

monthly
annual
$49.99
$399.99
only $33.33 per month
  • five seats for your team
  • access to all Manning books, MEAPs, liveVideos, liveProjects, and audiobooks!
  • choose another free product every time you renew
  • choose twelve free products per year
  • exclusive 50% discount on all purchases
  • A Quick Guide to Coding with AI ebook for free

You can see this entire book for free. Click anywhere in the table of contents to start reading detailed TOC'; var tocServerVars = { productId: 3145, getTocUrl: "/ajax/getTocHtml" } var tocStatusResolved = false; $(document).ready(loadTocIfVisible); function loadTocIfVisible(){ if(tocStatusResolved) { return; } if($('.toc-loading-container').isInViewport()){ window.removeEventListener("scroll", loadTocIfVisible); $(window).off("scroll", loadTocIfVisible); loadToc(); } } try { window.addEventListener("scroll", loadTocIfVisible, { passive: true}); } catch(e){ $(window).on("scroll", loadTocIfVisible); } function loadToc(){ tocStatusResolved = true; window.TocProvider.getToc(function (tocHtml) { var $tocLoadingContainer = $('.toc-loading-container'); $tocLoadingContainer.closest(".table-of-contents").prepend(titleHtml); $tocLoadingContainer.replaceWith(tocHtml); initializeToc(); }, function(){ $('.toc-loading-container').remove() }); } window.TocProvider = { toc: "", getToc: function(success, failure){ if(this.toc) { success && success(this.toc); return; } $.ajax({ url: tocServerVars.getTocUrl, data: { id: tocServerVars.productId } }).done(function(data){ if(data && data.tocHtml){ this.toc = data.tocHtml; success && success(this.toc); } else { failure && failure(); } }).fail(function(error){ failure && failure(); }); } }; } catch (e) {} })(); function initializeToc(){ // Append this only when children of their sectionbody siblings exist (appendices generally aren't expandable) $(".sectionbody *").children("*").parents(".sectionbody").siblings("h2").wrapInner("").append(controllo); $(".toc h2 > .chap-link, .toc h1, .toc h3, .toc h4").each(function() { $(this).html($(this).html().replace(/^(\b\w[0-9A-Z]{0,1}\b\.?)+\s/gi, "$&")); }); $(".sectionbody").addClass("hidden-toc"); $("body").on("click", ".toc-expando", function(e) { e.stopPropagation(); $(this).removeClass("toc-expando").addClass("toc-retracto").closest(".sect1").find(".sectionbody").removeClass("hidden-toc").addClass("shown-toc"); }); $("body").on("click", ".toc-retracto", function(e) { e.stopPropagation(); $(this).removeClass("toc-retracto").addClass("toc-expando").closest(".sect1").find(".sectionbody").removeClass("shown-toc").addClass("hidden-toc"); }); $("body").on("click", ".available h2", function() { $(this).find(".toc-controllo").click(); }); $("body").on("click", "#show-hide", function() { if ($("#show-hide").hasClass("hide-full-toc")) { $(".table-of-contents .sect2, .table-of-contents .sect3").removeClass("shown-toc").addClass("hidden-toc"); $("#show-hide").removeClass("hide-full-toc").html(" detailed TOC"); $(".table-of-contents .body").removeClass("full-toc"); $(".toc-retracto").click(); } else { $(".table-of-contents .sect2, .table-of-contents .sect3").addClass("shown-toc").removeClass("hidden-toc"); $("#show-hide").addClass("hide-full-toc").html(" detailed TOC"); $(".table-of-contents .body").addClass("full-toc"); $(".toc-expando").click(); } }); var wrapTocWithLink = function(tocElement, livebookUrl, chapterNumber) { var urlParams = "?origin=product-toc"; $(tocElement).children(".chap-link").wrap(""); if (!$(tocElement).children().length) { $(tocElement).html("" + $(tocElement).text() + ""); } $(tocElement).parent().prepend('Read in liveBook'); $(tocElement).parent().children("div[class*='sectionbody']").each(function(j, sectionsParent) { $(sectionsParent).children().each(function(k, sectionParent) { $(sectionParent).children("h3").each(function(l, section) { //wrap section in an a tag linking to livebook section k + 1 var sectionUrl = livebookUrl + "/section-" + chapterNumber + "-" + (k + 1); $(section).wrap(""); }); $(sectionParent).children("div[class='sect3']").each(function(m, subsectionParent) { $(subsectionParent).children("h4").each(function(n, subsection) { //wrap section in an a tag linking to livebook subsection m + 1 var subsectionUrl = livebookUrl + "/section-" + chapterNumber + "-" + (k + 1) + "-" + (m + 1); $(subsection).wrap(""); }); }); }); }); }; var $availableChapters = $("h2[id*='chapter_id_']").filter(function(i, chapter) { return $(chapter).parent().hasClass('available'); }); // All elements containing an '_' filtering out those starting by chapter_id_ and not having their parent the class available. var $availableNonChapterElements = $("h2[id*='_']").filter(function(i, element) { return !element.id.match(/^chapter_id_/) && $(element).parent().hasClass('available'); }); $availableChapters.each(function(i, chapter) { var chapterNumber = chapter.id.split(/_/).pop(); var livebookUrl = "https://livebook.manning.com/book/a-quick-guide-to-coding-with-ai/chapter-" + chapterNumber; wrapTocWithLink(chapter, livebookUrl, chapterNumber); }); var isSingleAppendix = $("h2[id*='_']").filter(function(i, element) { return !element.id.match(/^chapter_id_/) ; }).length === 1; $availableNonChapterElements.each(function(i, appendix) { var appendixGroups = appendix.textContent.match(/[aA]ppendix (\w)/); // i.e "Appendix A: Installation => ['Appendix A', 'A', index:0, input: 'Appendix A: Installation'] var section = isSingleAppendix ? 'a' : appendixGroups && appendixGroups.length === 2 && appendixGroups[1].toLowerCase(); var appendixPathName = isSingleAppendix ? 'appendix' : 'appendix-' + section; var livebookUrl = "https://livebook.manning.com/book/a-quick-guide-to-coding-with-ai/" + appendixPathName; wrapTocWithLink(appendix, livebookUrl, section); }); var $availableMiscElements = $("h2[id='foreword'], h2[id='preface'], h2[id='epilogue']").filter(function(i, element) { return $(element).parent().hasClass('available'); }); $availableMiscElements.each(function(i, miscElement){ var livebookUrl = "https://livebook.manning.com/book/a-quick-guide-to-coding-with-ai/" + $(miscElement).attr("id"); wrapTocWithLink(miscElement, livebookUrl, ""); }); $(".available h2, .available h3").attr("data-toggle", "tooltip"); $(".available h2, .available h3").attr("data-placement", "left"); $(".available h2, .available h3").attr("title", "Available"); $('[data-toggle="tooltip"]').tooltip(); } var addToWishlistUrl = "/wishList/addItemFromPage" + "?"; var removeFromWishlistUrl = "/wishList/removeItemFromPage" + "?"; $("body").on("click", ".wishlist-login", function() { localStorage.removeItem('dynamicloadcache'); }); $("body").on("click", ".wishlist-toggle.wishlist-add, .wishlist-toggle.wishlist-remove", function() { var productId = $(this).data("product-id"); var url = addToWishlistUrl; if ($(this).hasClass("wishlist-remove")) { url = removeFromWishlistUrl; $(".wishlist-container").removeClass("on-wishlist"); } else { $(".wishlist-container").addClass("on-wishlist"); } $.ajax({ type: "GET", url: url + "id=" + productId, timeout: 3000, dataType: "json", headers: { 'accept': "application/json" } }); }); $(document).trigger('activity-product-browse', {productId: '3145'}); })(jQuery); }

RECENTLY VIEWED