{"id":374662,"date":"2021-08-03T10:00:00","date_gmt":"2021-08-03T10:00:00","guid":{"rendered":"https:\/\/uat.esri.com\/en-us\/industries\/blog\/?post_type=blog&#038;p=374662"},"modified":"2022-12-30T17:25:05","modified_gmt":"2022-12-30T17:25:05","slug":"teaching-programming-for-gis-part-2","status":"publish","type":"blog","link":"https:\/\/www.esri.com\/en-us\/industries\/blog\/articles\/teaching-programming-for-gis-part-2","title":{"rendered":"Teaching Programming for GIS, Part 2: Web Programming"},"content":{"rendered":"<p class=\"undefined block-editor-paragraph\">In <a rel=\"noreferrer noopener\" href=\"https:\/\/uat.esri.com\/en-us\/industries\/blog\/articles\/teaching-programming-for-gis-part-1\/\" target=\"_blank\">part 1<\/a> of &#8220;Teaching Programming for GIS,&#8221; we discussed the value of learning Python to become a modern GIS user who can script and extend desktop functionality, clean and organize data, and connect to other software platforms. Web programming is equally valuable in the job market, so this part 2 addresses the teaching of practices and skills for coding web maps and apps.<\/p>\n\n<p class=\"undefined block-editor-paragraph\">A few years back, Eric van Rees published a <a href=\"https:\/\/www.geoweeknews.com\/blogs\/type-geospatial-developer-type\">short article<\/a> summarizing the five types of developers, and two of the key profiles are <em>front end<\/em> and <em>full stack<\/em>. <em>Front end<\/em> means you focus on creating apps that run in the web browser, while <em>full stack<\/em> means that you can do it all, from the browser to the server to the database and services in between. If you are just getting initiated, don&#8217;t worry about becoming a full-stack dev or about needing to teach it all.<\/p>\n\n<p class=\"undefined block-editor-paragraph\">Students these days should know about front-end development: the easiest, most satisfying way to see things come alive on the web. (A caveat is that here we assume students want to improve their coding skills and not just use the no-code ArcGIS <a href=\"https:\/\/www.esri.com\/en-us\/arcgis\/products\/arcgis-experience-builder\/overview\">Experience Builder<\/a>, which is enough for many people.) With a bit of experience coding HTML5, CSS, JavaScript, and some calls to an application programming interface (API) to provide access to web mapping functionality, a person with average computer knowledge can have a credible web app running in a day, whereas a decade ago, it might have taken a week or a month.<\/p>\n\n<p class=\"undefined block-editor-paragraph\">Preparation for that fine day can require quite a few hours of coding calisthenics, so for a teacher, the question becomes, How do I provide those hours\u2014in extended classes or as prerequisites, where the student does the work at home? In speaking with several instructors of GIS programming courses, the common denominator is the lack of time to squeeze it all into a semester. One suggestion is to include programming in all GIS courses\u2014a bit of Python here, a bit of R there, and then some JavaScript\u2014so the load is spread out.<\/p>\n\n<p class=\"undefined block-editor-paragraph\">For the front-end developer\u2014there is a sort of stack of technologies and practices to learn before you even think about geospatial web apps. Here are some suggestions distilled from several conversations I&#8217;ve had with Esri developers:<\/p>\n\n<ol class=\"wp-block-list\" type=\"1\"><li>The first step is to get a refresher on <strong>basic internet technology<\/strong>: HTTP, URLs, HTML, and all that. Later web programming tutorials will assume the learner knows the basic details behind how the internet works, so you probably don&#8217;t want to waste time teaching that in a GIS course. There are many good tutorials on the web such as <a href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Learn\/Common_questions\/How_does_the_Internet_work\">&#8220;How does the Internet work?&#8221;<\/a> from Mozilla (see also the related topics on that page).<\/li><li>To get deeper into <strong>HTML5<\/strong>\u2014and like I said in the previous article, the more hours the better, within reason\u2014we recommend one of the many courses at <a href=\"http:\/\/www.udemy.com\">Udemy<\/a>. Some of these courses will include <strong>CSS<\/strong>, too, and while useful, the Esri web developers I spoke to said that the basics of CSS will be enough. For more on partial map layouts, see the <a href=\"https:\/\/www.mapuipatterns.com\">Map UI Patterns<\/a> tutorial.<\/li><li>Next to learn is the combination of the <strong>JavaScript<\/strong> (js) language and Chrome <strong>DevTools<\/strong> as a popular way to test and debug js code. Again, Udemy has great JavaScript courses, and once you know the basics, there are many <a href=\"https:\/\/www.codecademy.com\/learn\/introduction-to-javascript\/modules\/learn-javascript-introduction\/cheatsheet\">cheat sheets<\/a> and web tutorials, such as <a href=\"https:\/\/javascript30.com\/\">JavaScript30<\/a> and <a href=\"https:\/\/github.com\/leonardomso\/33-js-concepts\/find\/master\">33-js-concepts<\/a>, that provide practical tips and tricks. The same is true for <a>DevTools<\/a>; there are many <a href=\"https:\/\/www.youtube.com\/playlist?list=PLPAGhVhnLUfBKYbNsxHgLTJRlPrWfI_i1\">tutorials<\/a> out there. And here is another <a href=\"https:\/\/www.esri.com\/videos\/watch?videoid=CskPhPbXv58\">example<\/a> showing debugging in different editors.<\/li><li>Once the JavaScript begins to flow, the <strong>code needs to be hosted<\/strong> and run somewhere. Do you have a web server? Fortunately, <a href=\"https:\/\/github.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">GitHub<\/a> is now a go-to site not only for sharing and managing code but also for hosting web apps for free! Students need to learn GitHub anyway, so doing this is a double win.<\/li><li>Supposing we have gotten this far and are writing, debugging, and hosting JavaScript, my dev contacts highly recommend getting familiar with and joining the <strong>online programming communities<\/strong>\u2014at first to rely on them for help and later to give back and offer your own help. Three communities that were recommended are <a href=\"https:\/\/thespatialcommunity.org\/\">The Spatial Community<\/a>, <a href=\"https:\/\/stackoverflow.com\/questions\/tagged\/gis\">Stack Overflow<\/a>, and the <a href=\"https:\/\/community.esri.com\/t5\/arcgis-api-for-javascript\/ct-p\/arcgis-api-for-javascript\">ArcGIS API for JavaScript community<\/a>. Newbies should remember a few things upon joining: (a) Observe for a while before you jump in; (b) be kind and ask nicely and precisely; (c) note that these are not necessarily Esri-only communities; and (d) when possible, provide your code on something like <a href=\"https:\/\/codepen.io\/\">CodePen<\/a>.io, which makes it so much easier for people to help.<\/li><li>So now you or your students have done your groundwork\u2014hours of it. Remember, the more time invested, the more errors encountered and, therefore, the more learning experiences. It&#8217;s time to jump into the <a href=\"https:\/\/developers.arcgis.com\/\">ArcGIS Developer site<\/a> and start using the APIs and tools available there. Students can sign up for an ArcGIS Developer account to get access to a free tier of services for managing map tiles, geocoding, calculating routes, and more. This is a good way to also learn about managing an account autonomously and accessing the API keys. But students can also gain access to the same services via their <strong>university <em>named user<\/em> account<\/strong>, which might make more sense if the programming activity is connected to a course or degree requirement (e.g., a master&#8217;s degree project).<\/li><li>The <strong>ArcGIS Developer site<\/strong> provides access to and documentation on APIs from both Esri and third parties including open-source projects. The <a href=\"https:\/\/developers.arcgis.com\/esri-leaflet\/\">Esri Leaflet API<\/a> is a good, simple way to get started connecting your website to basic front-end visualization tools and then to ArcGIS services. It is also a nice example of mixing open-source front-end tools and ArcGIS tools. These Esri plug-ins to Leaflet are also available on <a rel=\"noreferrer noopener\" href=\"https:\/\/esri.github.io\/esri-leaflet\/\" target=\"_blank\">GitHub<\/a>. <\/li><li>After gaining experience with Esri Leaflet, the next step in terms of functionality is to try <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/\">ArcGIS API for JavaScript<\/a>. This API is a whole world in itself, with a growing collection of functionality that rapidly is leaving the web mapping competitors behind and is nearing the holy grail of online GIS. That site has a large collection of tutorials and samples.<\/li><\/ol>\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"504\" src=\"https:\/\/uat.esri.com\/en-us\/industries\/blog\/wp-content\/uploads\/2021\/08\/programming-blog-gould-v2-1024x504.png\" alt=\"\" class=\"wp-image-375252\" srcset=\"https:\/\/www.esri.com\/en-us\/industries\/blog\/app\/uploads\/2021\/08\/programming-blog-gould-v2-1024x504.png 1024w, https:\/\/www.esri.com\/en-us\/industries\/blog\/app\/uploads\/2021\/08\/programming-blog-gould-v2-300x148.png 300w, https:\/\/www.esri.com\/en-us\/industries\/blog\/app\/uploads\/2021\/08\/programming-blog-gould-v2-768x378.png 768w, https:\/\/www.esri.com\/en-us\/industries\/blog\/app\/uploads\/2021\/08\/programming-blog-gould-v2-1536x756.png 1536w, https:\/\/www.esri.com\/en-us\/industries\/blog\/app\/uploads\/2021\/08\/programming-blog-gould-v2.png 1911w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n<p class=\"undefined block-editor-paragraph\">There are many examples and code samples on the ArcGIS Developer website. Also, the Learn.arcgis.com site has a nice 1-hour, 45-minute <a href=\"https:\/\/learn.arcgis.com\/en\/projects\/build-a-3d-globe-app-with-the-arcgis-api-for-javascript\/#set-up-your-environment\">lesson<\/a> showing you how to build a 3D globe app with ArcGIS API for JavaScript.<\/p>\n\n<p class=\"undefined block-editor-paragraph\">In the process of programming web apps, a common pattern emerges: publishing and consuming layers, web maps, and feature services. A trick to keep in mind is that you can open the new <a href=\"https:\/\/www.arcgis.com\/apps\/mapviewer\/index.html\">Map Viewer<\/a>, search for, select, and visualize (test out) the layers that you&#8217;d like to use in your JavaScript project, save and publish (to the public), then copy the item ID from the URL parameters and paste it into your js code. Voil\u00e0, your js project is connecting to just the right mashup of content.<\/p>\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"526\" src=\"https:\/\/uat.esri.com\/en-us\/industries\/blog\/wp-content\/uploads\/2021\/08\/programming-blog-2-gould-v2-1024x526.png\" alt=\"\" class=\"wp-image-375262\" srcset=\"https:\/\/www.esri.com\/en-us\/industries\/blog\/app\/uploads\/2021\/08\/programming-blog-2-gould-v2-1024x526.png 1024w, https:\/\/www.esri.com\/en-us\/industries\/blog\/app\/uploads\/2021\/08\/programming-blog-2-gould-v2-300x154.png 300w, https:\/\/www.esri.com\/en-us\/industries\/blog\/app\/uploads\/2021\/08\/programming-blog-2-gould-v2-768x394.png 768w, https:\/\/www.esri.com\/en-us\/industries\/blog\/app\/uploads\/2021\/08\/programming-blog-2-gould-v2-1536x788.png 1536w, https:\/\/www.esri.com\/en-us\/industries\/blog\/app\/uploads\/2021\/08\/programming-blog-2-gould-v2.png 1911w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n<p class=\"undefined block-editor-paragraph\">A possible next step in the endless web programming journey would be to use popular programming <strong>frameworks<\/strong>, such as <a href=\"https:\/\/esri.github.io\/angular-esri-map\/#\/home\">Angular<\/a> and <a href=\"https:\/\/github.com\/Esri\/react-arcgis\">React<\/a>, to allow more productive and creative app development. In simple terms, the role of a framework is to help you scale up small apps to become much larger apps. Among other things, these frameworks help teach the basics of user interface (UI), user experience (UX), state management, design, and other best practices.<\/p>\n\n<p class=\"undefined block-editor-paragraph\">Finally, it should be kept in mind while teaching\/learning web programming that several basic GIS coding patterns will emerge and are good to keep an eye on and reuse. Our web developers tell me that when they are looking to hire new programmers, they hope candidates will be familiar with patterns such as query, renderers, symbology, working with layers, request\/response, data preprocessing, and creation and publication of services (as mentioned above).<\/p>\n\n<p class=\"undefined block-editor-paragraph\">None of this is carved in stone; there are many ways to go about each of the steps covered here. But hopefully, these suggestions coming from seasoned Esri web tool developers will be useful in guiding both instructors and learners in their web programming journey.<\/p>","protected":false},"author":111,"featured_media":0,"parent":0,"menu_order":0,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":"","_links_to":"","_links_to_target":""},"categories":[153],"tags":[481],"class_list":["post-374662","blog","type-blog","status-publish","format-standard","hentry","category-education","tag-higher-ed","industry-higher-education"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.9 (Yoast SEO v25.9) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Teaching Programming for GIS, Part 2: Web Programming | Esri Industry Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.esri.com\/en-us\/industries\/blog\/articles\/teaching-programming-for-gis-part-2\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Teaching Programming for GIS, Part 2: Web Programming\" \/>\n<meta property=\"og:description\" content=\"In part 1 of &#8220;Teaching Programming for GIS,&#8221; we discussed the value of learning Python to become a modern GIS user who can script and extend desktop functionality, clean and organize data, and connect to other software platforms. Web programming is equally valuable in the job market, so this part 2 addresses the teaching of [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.esri.com\/en-us\/industries\/blog\/articles\/teaching-programming-for-gis-part-2\" \/>\n<meta property=\"og:site_name\" content=\"Industry Blogs\" \/>\n<meta property=\"article:modified_time\" content=\"2022-12-30T17:25:05+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/uat.esri.com\/en-us\/industries\/blog\/wp-content\/uploads\/2021\/08\/programming-blog-gould-v2-1024x504.png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"7 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.esri.com\/en-us\/industries\/blog\/articles\/teaching-programming-for-gis-part-2\",\"url\":\"https:\/\/www.esri.com\/en-us\/industries\/blog\/articles\/teaching-programming-for-gis-part-2\",\"name\":\"Teaching Programming for GIS, Part 2: Web Programming | Esri Industry Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.esri.com\/en-us\/industries\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.esri.com\/en-us\/industries\/blog\/articles\/teaching-programming-for-gis-part-2#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.esri.com\/en-us\/industries\/blog\/articles\/teaching-programming-for-gis-part-2#primaryimage\"},\"thumbnailUrl\":\"https:\/\/uat.esri.com\/en-us\/industries\/blog\/wp-content\/uploads\/2021\/08\/programming-blog-gould-v2-1024x504.png\",\"datePublished\":\"2021-08-03T10:00:00+00:00\",\"dateModified\":\"2022-12-30T17:25:05+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.esri.com\/en-us\/industries\/blog\/articles\/teaching-programming-for-gis-part-2#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.esri.com\/en-us\/industries\/blog\/articles\/teaching-programming-for-gis-part-2\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.esri.com\/en-us\/industries\/blog\/articles\/teaching-programming-for-gis-part-2#primaryimage\",\"url\":\"https:\/\/uat.esri.com\/en-us\/industries\/blog\/wp-content\/uploads\/2021\/08\/programming-blog-gould-v2-1024x504.png\",\"contentUrl\":\"https:\/\/uat.esri.com\/en-us\/industries\/blog\/wp-content\/uploads\/2021\/08\/programming-blog-gould-v2-1024x504.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.esri.com\/en-us\/industries\/blog\/articles\/teaching-programming-for-gis-part-2#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.esri.com\/en-us\/industries\/blog\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Teaching Programming for GIS, Part 2: Web Programming\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.esri.com\/en-us\/industries\/blog\/#website\",\"url\":\"https:\/\/www.esri.com\/en-us\/industries\/blog\/\",\"name\":\"Industry Blogs\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.esri.com\/en-us\/industries\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.esri.com\/en-us\/industries\/blog\/#\/schema\/person\/e79a92bdc6a494ecf109226c978e09d2\",\"name\":\"Rosemary Boone\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.esri.com\/en-us\/industries\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/www.esri.com\/en-us\/industries\/blog\/app\/uploads\/2021\/04\/400x400-rb-150x150.png\",\"contentUrl\":\"https:\/\/www.esri.com\/en-us\/industries\/blog\/app\/uploads\/2021\/04\/400x400-rb-150x150.png\",\"caption\":\"Rosemary Boone\"},\"description\":\"Rosemary Boone is a Senior Industry Marketing Manager for Esri, concentrating on executing marketing strategies for K-12 schools and higher education institutions. She holds a master\u2019s degree in education technology with an emphasis on multimedia. Prior to her career in marketing, she taught elementary school and taught overseas. In her free time, she likes to listen to music, exercise, and spend time with her two Dachshunds.\",\"sameAs\":[\"https:\/\/www.linkedin.com\/in\/rosemaryboone\/\"],\"url\":\"https:\/\/www.esri.com\/en-us\/industries\/blog\/author\/rosemary-boone\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Teaching Programming for GIS, Part 2: Web Programming | Esri Industry Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.esri.com\/en-us\/industries\/blog\/articles\/teaching-programming-for-gis-part-2","og_locale":"en_US","og_type":"article","og_title":"Teaching Programming for GIS, Part 2: Web Programming","og_description":"In part 1 of &#8220;Teaching Programming for GIS,&#8221; we discussed the value of learning Python to become a modern GIS user who can script and extend desktop functionality, clean and organize data, and connect to other software platforms. Web programming is equally valuable in the job market, so this part 2 addresses the teaching of [&hellip;]","og_url":"https:\/\/www.esri.com\/en-us\/industries\/blog\/articles\/teaching-programming-for-gis-part-2","og_site_name":"Industry Blogs","article_modified_time":"2022-12-30T17:25:05+00:00","og_image":[{"url":"https:\/\/uat.esri.com\/en-us\/industries\/blog\/wp-content\/uploads\/2021\/08\/programming-blog-gould-v2-1024x504.png","type":"","width":"","height":""}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.esri.com\/en-us\/industries\/blog\/articles\/teaching-programming-for-gis-part-2","url":"https:\/\/www.esri.com\/en-us\/industries\/blog\/articles\/teaching-programming-for-gis-part-2","name":"Teaching Programming for GIS, Part 2: Web Programming | Esri Industry Blog","isPartOf":{"@id":"https:\/\/www.esri.com\/en-us\/industries\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.esri.com\/en-us\/industries\/blog\/articles\/teaching-programming-for-gis-part-2#primaryimage"},"image":{"@id":"https:\/\/www.esri.com\/en-us\/industries\/blog\/articles\/teaching-programming-for-gis-part-2#primaryimage"},"thumbnailUrl":"https:\/\/uat.esri.com\/en-us\/industries\/blog\/wp-content\/uploads\/2021\/08\/programming-blog-gould-v2-1024x504.png","datePublished":"2021-08-03T10:00:00+00:00","dateModified":"2022-12-30T17:25:05+00:00","breadcrumb":{"@id":"https:\/\/www.esri.com\/en-us\/industries\/blog\/articles\/teaching-programming-for-gis-part-2#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.esri.com\/en-us\/industries\/blog\/articles\/teaching-programming-for-gis-part-2"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.esri.com\/en-us\/industries\/blog\/articles\/teaching-programming-for-gis-part-2#primaryimage","url":"https:\/\/uat.esri.com\/en-us\/industries\/blog\/wp-content\/uploads\/2021\/08\/programming-blog-gould-v2-1024x504.png","contentUrl":"https:\/\/uat.esri.com\/en-us\/industries\/blog\/wp-content\/uploads\/2021\/08\/programming-blog-gould-v2-1024x504.png"},{"@type":"BreadcrumbList","@id":"https:\/\/www.esri.com\/en-us\/industries\/blog\/articles\/teaching-programming-for-gis-part-2#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.esri.com\/en-us\/industries\/blog"},{"@type":"ListItem","position":2,"name":"Teaching Programming for GIS, Part 2: Web Programming"}]},{"@type":"WebSite","@id":"https:\/\/www.esri.com\/en-us\/industries\/blog\/#website","url":"https:\/\/www.esri.com\/en-us\/industries\/blog\/","name":"Industry Blogs","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.esri.com\/en-us\/industries\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.esri.com\/en-us\/industries\/blog\/#\/schema\/person\/e79a92bdc6a494ecf109226c978e09d2","name":"Rosemary Boone","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.esri.com\/en-us\/industries\/blog\/#\/schema\/person\/image\/","url":"https:\/\/www.esri.com\/en-us\/industries\/blog\/app\/uploads\/2021\/04\/400x400-rb-150x150.png","contentUrl":"https:\/\/www.esri.com\/en-us\/industries\/blog\/app\/uploads\/2021\/04\/400x400-rb-150x150.png","caption":"Rosemary Boone"},"description":"Rosemary Boone is a Senior Industry Marketing Manager for Esri, concentrating on executing marketing strategies for K-12 schools and higher education institutions. She holds a master\u2019s degree in education technology with an emphasis on multimedia. Prior to her career in marketing, she taught elementary school and taught overseas. In her free time, she likes to listen to music, exercise, and spend time with her two Dachshunds.","sameAs":["https:\/\/www.linkedin.com\/in\/rosemaryboone\/"],"url":"https:\/\/www.esri.com\/en-us\/industries\/blog\/author\/rosemary-boone"}]}},"text_date":"August 3, 2021","author_name":"Michael Gould","author_page":"https:\/\/www.esri.com\/en-us\/industries\/blog\/author\/michael-gould","custom_image":"https:\/\/www.esri.com\/en-us\/industries\/blog\/app\/uploads\/2021\/08\/programming-II-blog-1920x1080banner.png","primary_product":"Higher Education","tag_data":[{"term_id":481,"name":"higher ed","slug":"higher-ed","term_group":0,"term_taxonomy_id":481,"taxonomy":"post_tag","description":"","parent":0,"count":15,"filter":"raw"}],"category_data":[{"term_id":153,"name":"Education","slug":"education","term_group":0,"term_taxonomy_id":153,"taxonomy":"category","description":"","parent":0,"count":24,"filter":"raw"}],"product_data":{"errors":{"invalid_taxonomy":["Invalid taxonomy."]},"error_data":[]},"primary_product_link":"https:\/\/www.esri.com\/en-us\/industries\/blog\/industry\/higher-education","short_description":"This blog in the \"Teaching Programming for GIS\" series addresses the teaching of practices and skills for coding web maps and apps.","image":"https:\/\/www.esri.com\/en-us\/industries\/blog\/app\/uploads\/2021\/08\/programming-blog-II-826x465-1.png","_links":{"self":[{"href":"https:\/\/www.esri.com\/en-us\/industries\/blog\/wp-json\/wp\/v2\/article\/374662","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.esri.com\/en-us\/industries\/blog\/wp-json\/wp\/v2\/article"}],"about":[{"href":"https:\/\/www.esri.com\/en-us\/industries\/blog\/wp-json\/wp\/v2\/types\/blog"}],"author":[{"embeddable":true,"href":"https:\/\/www.esri.com\/en-us\/industries\/blog\/wp-json\/wp\/v2\/users\/111"}],"version-history":[{"count":0,"href":"https:\/\/www.esri.com\/en-us\/industries\/blog\/wp-json\/wp\/v2\/article\/374662\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.esri.com\/en-us\/industries\/blog\/wp-json\/wp\/v2\/media?parent=374662"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.esri.com\/en-us\/industries\/blog\/wp-json\/wp\/v2\/categories?post=374662"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.esri.com\/en-us\/industries\/blog\/wp-json\/wp\/v2\/tags?post=374662"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}