[{"data":1,"prerenderedAt":2397},["ShallowReactive",2],{"content-page:\u002Finternet-applications\u002Fpresentations\u002F08-reusable-components-jquery-and-ajax\u002F02-jquery-brief-intro":3,"content-page-quiz:none":910,"content-navigation-index":923},{"id":4,"title":5,"audience":6,"body":7,"contentType":895,"course":896,"description":897,"estimateBasis":898,"estimatedDiscussionMinutes":899,"estimatedLiveMinutes":900,"estimatedTotalMinutes":901,"extension":902,"meta":903,"module":904,"navigation":905,"order":906,"path":907,"presentationRole":908,"promptAssist":909,"revision":910,"semester":910,"seo":911,"status":912,"stem":913,"syllabus":910,"tags":914,"updated":910,"videoDuration":918,"videoId":919,"videoLink":920,"videoTitle":921,"week":904,"__hash__":922},"content\u002Finternet-applications\u002Fpresentations\u002F08-reusable-components-jquery-and-ajax\u002F02-jquery-brief-intro.md","jQuery Brief Intro","student",{"type":8,"value":9,"toc":870},"minimark",[10,39,62,91,173,205,247,282,309,338,416,460,485,546,589,641,671,765,828],[11,12,15,19,23],"slide",{"id":13,"level":14},"main-idea","2",[16,17,18],"h2",{"id":13},"Main Idea",[20,21,22],"p",{},"jQuery is a JavaScript library that shortens common selection, event, DOM-update, and request tasks",[24,25,26,30,33,36],"ul",{},[27,28,29],"li",{},"It is a library, not a separate language",[27,31,32],{},"It reuses CSS selector syntax",[27,34,35],{},"It was especially important before browser APIs became consistent",[27,37,38],{},"It remains common in older PHP applications and plugin ecosystems",[11,40,42,45],{"id":41,"level":14},"what-is-jquery",[16,43,44],{"id":41},"What Is jQuery?",[24,46,47,50,53,56,59],{},[27,48,49],{},"Open-source JavaScript library",[27,51,52],{},"Associated with the phrase \"Write less, do more\"",[27,54,55],{},"Wraps common JavaScript operations in concise methods",[27,57,58],{},"Provides a large historical plugin and extension ecosystem",[27,60,61],{},"Offers a practical introduction to using third-party libraries",[11,63,65,68,88],{"id":64,"level":14},"historical-role",[16,66,67],{"id":64},"Historical Role",[24,69,70,73,76,79,82,85],{},[27,71,72],{},"Helped bridge inconsistent browser behavior before modern standards matured",[27,74,75],{},"Enabled rich browser interactions with less compatibility code",[27,77,78],{},"Bootstrap 4 and earlier required jQuery",[27,80,81],{},"Bootstrap 5 removed the jQuery dependency",[27,83,84],{},"jQuery 4 modernized the library by removing deprecated APIs and older browser code",[27,86,87],{},"Modern JavaScript can perform the same core tasks without jQuery",[20,89,90],{},"Use jQuery here to understand existing applications and library-based APIs",[11,92,95,99],{"id":93,"level":94},"jquery-4-highlights","3",[96,97,98],"h3",{"id":93},"jQuery 4 Highlights",[100,101,104,126],"two-col",{"gap":102,"left-width":103,"right-width":103},"lg","1fr",[105,106,108,112],"template",{"v-slot:left":107},"",[96,109,111],{"id":110},"modernized-foundation","Modernized Foundation",[24,113,114,117,120,123],{},[27,115,116],{},"First major jQuery release in almost ten years",[27,118,119],{},"Removes code for Internet Explorer 10 and older browsers",[27,121,122],{},"Uses ES modules in its source, fitting modern build tools",[27,124,125],{},"Adds Trusted Types support to help stricter sites control HTML inserted by scripts",[105,127,128,132],{"v-slot:right":107},[96,129,131],{"id":130},"changes-to-notice","Changes To Notice",[24,133,134,149,161,164,170],{},[27,135,136,137,141,142,145,146],{},"Removes deprecated helpers such as ",[138,139,140],"code",{},"$.trim()",", ",[138,143,144],{},"$.isArray()",", and ",[138,147,148],{},"$.parseJSON()",[27,150,151,152,141,155,145,158],{},"Uses native replacements such as ",[138,153,154],{},".trim()",[138,156,157],{},"Array.isArray()",[138,159,160],{},"JSON.parse()",[27,162,163],{},"The full build still includes AJAX; the slim build does not",[27,165,166,167],{},"AJAX recognizes binary request data such as ",[138,168,169],{},"FormData",[27,171,172],{},"jQuery 3.x remains available when older browser support is required",[11,174,176,179],{"id":175,"level":14},"practice-workspace",[16,177,178],{"id":175},"Practice Workspace",[24,180,181,187,193,199,202],{},[27,182,183,184],{},"Work inside ",[138,185,186],{},"public_html\u002Fm08\u002Flessons\u002F",[27,188,189,190],{},"Lesson branch: ",[138,191,192],{},"Module08-jQuery-Brief-Intro",[27,194,195,196],{},"Use a file prefix such as ",[138,197,198],{},"jquery-intro-",[27,200,201],{},"Keep this DOM practice separate from project CRUD pages",[27,203,204],{},"Load the page through the local PHP server or supported Apache URL",[11,206,208,211,216],{"id":207,"level":14},"getting-jquery",[16,209,210],{"id":207},"Getting jQuery",[212,213],"code-snippet",{"language":214,"src":215},"html","\u002Fgenerated-snippets\u002Finternet-applications\u002Fpresentations\u002F08-reusable-components-jquery-and-ajax\u002F02-jquery-brief-intro\u002Fjquery-intro-page-01a.html",[24,217,218,221,227,230,240],{},[27,219,220],{},"This lesson uses the full jQuery 4.0.0 build from the official CDN",[27,222,223,224],{},"This self-contained page loads jQuery before the inline script uses ",[138,225,226],{},"$()",[27,228,229],{},"The inline status change confirms that the jQuery library loaded successfully",[27,231,232,233],{},"Confirm the current version and URL in the official ",[234,235,239],"a",{"href":236,"rel":237},"https:\u002F\u002Fjquery.com\u002Fdownload\u002F",[238],"nofollow","jQuery download documentation",[27,241,242,243,246],{},"Scripts at the end of ",[138,244,245],{},"\u003Cbody>"," load in order, so jQuery is available before the inline script runs",[11,248,250,253,265],{"id":249,"level":14},"script-order",[16,251,252],{"id":249},"Script Order",[254,255,256,259,262],"ol",{},[27,257,258],{},"Bootstrap JavaScript, when the page uses it",[27,260,261],{},"jQuery library",[27,263,264],{},"Custom script that uses jQuery",[24,266,267,270,276],{},[27,268,269],{},"Bootstrap 5 and jQuery do not depend on each other",[27,271,272,273],{},"Custom code still depends on jQuery when it uses ",[138,274,275],{},"$",[27,277,278,281],{},[138,279,280],{},"$ is not defined"," usually means the library failed to load or loaded too late",[11,283,285,289,293],{"id":284,"level":14},"jquery-syntax",[16,286,288],{"id":287},"syntax-and-basics","Syntax And Basics",[212,290],{"language":291,"src":292},"js","\u002Fgenerated-snippets\u002Finternet-applications\u002Fpresentations\u002F08-reusable-components-jquery-and-ajax\u002F02-jquery-brief-intro\u002Fjquery-shape-02.js",[24,294,295,300,303,306],{},[27,296,297,299],{},[138,298,226],{}," calls the jQuery function",[27,301,302],{},"The selector identifies one or more elements",[27,304,305],{},"The method performs an action on the matched collection",[27,307,308],{},"Any valid CSS selector can be used",[11,310,312,315,335],{"id":311,"level":14},"document-ready",[16,313,314],{"id":311},"Document Ready",[100,316,317,326],{"gap":102,"left-width":103,"right-width":103},[105,318,319,323],{"v-slot:left":107},[96,320,322],{"id":321},"jquery","jQuery",[212,324],{"language":291,"src":325},"\u002Fgenerated-snippets\u002Finternet-applications\u002Fpresentations\u002F08-reusable-components-jquery-and-ajax\u002F02-jquery-brief-intro\u002Fdocument-ready-03.js",[105,327,328,332],{"v-slot:right":107},[96,329,331],{"id":330},"browser-javascript","Browser JavaScript",[212,333],{"language":291,"src":334},"\u002Fgenerated-snippets\u002Finternet-applications\u002Fpresentations\u002F08-reusable-components-jquery-and-ajax\u002F02-jquery-brief-intro\u002Fdom-content-loaded-04.js",[20,336,337],{},"Both wait until the HTML has been parsed before selecting page elements",[11,339,341,344],{"id":340,"level":14},"selectors-and-actions",[16,342,343],{"id":340},"Selectors And Actions",[100,345,346,378],{"gap":102,"left-width":103,"right-width":103},[105,347,348,352],{"v-slot:left":107},[96,349,351],{"id":350},"selectors","Selectors",[24,353,354,360,366,372],{},[27,355,356,359],{},[138,357,358],{},"$(\"#status\")",": element by ID",[27,361,362,365],{},[138,363,364],{},"$(\".card\")",": elements by class",[27,367,368,371],{},[138,369,370],{},"$(\"button\")",": elements by tag",[27,373,374,377],{},[138,375,376],{},"$(\"form input\")",": inputs inside forms",[105,379,380,384],{"v-slot:right":107},[96,381,383],{"id":382},"actions","Actions",[24,385,386,392,398,404,410],{},[27,387,388,391],{},[138,389,390],{},".text()",": read or replace text",[27,393,394,397],{},[138,395,396],{},".val()",": read or replace form values",[27,399,400,403],{},[138,401,402],{},".append()",": add content",[27,405,406,409],{},[138,407,408],{},".addClass()",": add a CSS class",[27,411,412,415],{},[138,413,414],{},".removeClass()",": remove a CSS class",[11,417,419,422,431,434],{"id":418,"level":14},"small-dom-example",[16,420,421],{"id":418},"Small DOM Example",[20,423,424,425,430],{},"Copy and run this complete page. The CDN source URL is also available from ",[234,426,429],{"href":427,"rel":428},"https:\u002F\u002Fcode.jquery.com\u002F",[238],"code.jquery.com",".",[212,432],{"language":214,"src":433},"\u002Fgenerated-snippets\u002Finternet-applications\u002Fpresentations\u002F08-reusable-components-jquery-and-ajax\u002F02-jquery-brief-intro\u002Fdom-example-05.html",[24,435,436,443,449,457],{},[27,437,438,439,442],{},"Create a ",[138,440,441],{},"clickCount"," value once the document is ready",[27,444,445,446],{},"Attach a click handler with ",[138,447,448],{},".on()",[27,450,451,452],{},"Increase the count and update its displayed text without a network request\n",[24,453,454],{},[27,455,456],{},"It doesn't rely on sending data to our server",[27,458,459],{},"Confirm that each click updates the counter in the page",[11,461,463,467,470],{"id":462,"level":14},"read-form-value",[16,464,466],{"id":465},"read-a-form-value","Read A Form Value",[212,468],{"language":214,"src":469},"\u002Fgenerated-snippets\u002Finternet-applications\u002Fpresentations\u002F08-reusable-components-jquery-and-ajax\u002F02-jquery-brief-intro\u002Fread-form-value-06.html",[24,471,472,477,482],{},[27,473,474,476],{},[138,475,396],{}," reads the current form value",[27,478,479,481],{},[138,480,154],{}," removes accidental spaces before checking the value",[27,483,484],{},"An event handler can update the page without sending a request",[11,486,488,492,495],{"id":487,"level":14},"related-projects",[16,489,491],{"id":490},"jquery-related-projects","jQuery Related Projects",[20,493,494],{},"The jQuery ecosystem also produced reusable interface systems beyond core DOM helpers.",[100,496,497,523],{"gap":102,"left-width":103,"right-width":103},[105,498,499,503,509],{"v-slot:left":107},[96,500,502],{"id":501},"jquery-ui","jQuery UI",[20,504,505],{},[234,506,507],{"href":507,"rel":508},"https:\u002F\u002Fjqueryui.com\u002F",[238],[24,510,511,514,517,520],{},[27,512,513],{},"Interactions, effects, widgets, and themes built on jQuery",[27,515,516],{},"Common widgets include date pickers, dialogs, autocomplete fields, sortable lists, and tabs",[27,518,519],{},"Useful for adding a focused widget to an existing jQuery project",[27,521,522],{},"Overlaps with Bootstrap in some interface patterns, so choose a primary component library intentionally",[105,524,525,529,535],{"v-slot:right":107},[96,526,528],{"id":527},"jquery-mobile","jQuery Mobile",[20,530,531],{},[234,532,533],{"href":533,"rel":534},"https:\u002F\u002Fjquerymobile.com\u002F",[238],[24,536,537,540,543],{},[27,538,539],{},"Historical touch-focused HTML5 UI system for one branded site across phone, tablet, and desktop browsers",[27,541,542],{},"Helped establish early responsive design patterns and theme tools for mobile web interfaces",[27,544,545],{},"No longer supported; useful for studying historical code and design choices rather than new production work",[11,547,549,552,555,581,584],{"id":548,"level":14},"coingecko-example",[16,550,551],{"id":548},"CoinGecko Example",[20,553,554],{},"One focused jQuery example builds a cryptocurrency table",[24,556,557,564,570,573,576],{},[27,558,559,560,563],{},"Requests three records from CoinGecko's keyless public ",[138,561,562],{},"\u002Fcoins\u002Fmarkets"," endpoint",[27,565,566,567,569],{},"Starts with an empty ",[138,568,245],{}," and uses jQuery to build every visible element",[27,571,572],{},"Refreshes on demand and every five minutes",[27,574,575],{},"Shows loading, success, response-shape, and request-failure states",[27,577,578,579],{},"Writes selected response fields with jQuery ",[138,580,390],{},[20,582,583],{},"CoinGecko is lesson practice and does not count as a student's selected project API.",[24,585,586],{},[27,587,588],{},"See the slide below for the complete example",[11,590,592,596,600],{"id":591,"level":94},"coingecko-example-code",[96,593,595],{"id":594},"build-and-refresh-the-page","Build And Refresh The Page",[212,597],{"language":214,"src":598,"max-height":599},"\u002Fgenerated-snippets\u002Finternet-applications\u002Fpresentations\u002F08-reusable-components-jquery-and-ajax\u002F02-jquery-brief-intro\u002Fcoingecko-example-06.html","30rem",[24,601,602,607,616,622,638],{},[27,603,604,605],{},"Add these two script blocks to a page with an otherwise empty ",[138,606,245],{},[27,608,609,610,612,613],{},"Each jQuery-wrapped variable uses the ",[138,611,275],{}," prefix and is appended to ",[138,614,615],{},"document.body",[27,617,618,621],{},[138,619,620],{},"URLSearchParams"," makes the selected endpoint parameters explicit",[27,623,624,627,628,141,631,145,634,637],{},[138,625,626],{},"$.get()"," starts the request; ",[138,629,630],{},"done",[138,632,633],{},"fail",[138,635,636],{},"always"," handle its outcomes",[27,639,640],{},"The refresh button prevents overlapping requests",[11,642,644,647],{"id":643,"level":14},"knowledge-check",[16,645,646],{"id":643},"Knowledge Check",[24,648,649,652,658,665,668],{},[27,650,651],{},"Why is jQuery a library rather than a separate language?",[27,653,654,655,657],{},"What must load before a custom script that calls ",[138,656,226],{},"?",[27,659,660,661,664],{},"What parts of ",[138,662,663],{},"$(selector).action()"," identify the target and behavior?",[27,666,667],{},"How does document ready differ from a click event?",[27,669,670],{},"Why can jQuery change what the user sees without sending a request to the server?",[11,672,674,678],{"id":673,"level":14},"terms-and-learning",[16,675,677],{"id":676},"key-terms-and-further-learning","Key Terms And Further Learning",[100,679,680,711],{"gap":102,"left-width":103,"right-width":103},[105,681,682,686,693,699,705],{"v-slot:left":107},[96,683,685],{"id":684},"key-terms","Key Terms",[20,687,688,692],{},[689,690,691],"strong",{},"Library"," - Reusable code called by an application",[20,694,695,698],{},[689,696,697],{},"Selector"," - Pattern that identifies matching page elements",[20,700,701,704],{},[689,702,703],{},"Matched collection"," - Elements returned by a jQuery selector",[20,706,707,710],{},[689,708,709],{},"Event handler"," - Function that runs after a browser event",[105,712,713,717],{"v-slot:right":107},[96,714,716],{"id":715},"further-learning","Further Learning",[24,718,719,726,732,739,744,751,758],{},[27,720,721],{},[234,722,725],{"href":723,"rel":724},"https:\u002F\u002Fapi.jquery.com\u002F",[238],"jQuery API documentation",[27,727,728],{},[234,729,731],{"href":236,"rel":730},[238],"Download jQuery",[27,733,734],{},[234,735,738],{"href":736,"rel":737},"https:\u002F\u002Fblog.jquery.com\u002F2026\u002F01\u002F17\u002Fjquery-4-0-0\u002F",[238],"jQuery 4.0 release notes",[27,740,741],{},[234,742,502],{"href":507,"rel":743},[238],[27,745,746],{},[234,747,750],{"href":748,"rel":749},"https:\u002F\u002Fwww.w3schools.com\u002Fjquery\u002Fdefault.asp",[238],"jQuery learning resources",[27,752,753],{},[234,754,757],{"href":755,"rel":756},"https:\u002F\u002Fdocs.coingecko.com\u002Fdocs\u002Fkeyless-public-api",[238],"CoinGecko keyless public API",[27,759,760],{},[234,761,764],{"href":762,"rel":763},"https:\u002F\u002Fdocs.coingecko.com\u002Freference\u002Fcoins-markets",[238],"CoinGecko market-data endpoint",[11,766,768,772],{"id":767,"level":14},"finish-lesson-branch",[16,769,771],{"id":770},"finish-the-lesson-branch","Finish The Lesson Branch",[254,773,774,780,786,792,798,805,815],{},[27,775,776,777],{},"Check the final file list with ",[138,778,779],{},"git status",[27,781,782,783],{},"Stage the lesson with ",[138,784,785],{},"git add public_html\u002Fm08\u002Flessons\u002F",[27,787,788,789],{},"Commit with ",[138,790,791],{},"git commit -m \"Complete jQuery intro practice\"",[27,793,794,795],{},"Push with ",[138,796,797],{},"git push origin Module08-jQuery-Brief-Intro",[27,799,800,801,804],{},"Open and merge a pull request into ",[138,802,803],{},"qa",", then review the deployed page",[27,806,807,808,810,811,814],{},"Promote the tested ",[138,809,803],{}," work to ",[138,812,813],{},"prod"," when required",[27,816,817,818,820,821,824,825],{},"Return to ",[138,819,803],{}," with ",[138,822,823],{},"git checkout qa"," and ",[138,826,827],{},"git pull origin qa",[11,829,831,834],{"id":830,"level":14},"summary",[16,832,833],{"id":830},"Summary",[24,835,836,839,844,849,852,858,863],{},[27,837,838],{},"jQuery is a JavaScript library for common browser tasks",[27,840,841,842],{},"The library must load before custom code that uses ",[138,843,275],{},[27,845,846,848],{},[138,847,663],{}," selects elements and applies behavior",[27,850,851],{},"Document-ready code waits until the HTML can be selected safely",[27,853,854,857],{},[138,855,856],{},"$.ajax()"," supports explicit success, failure, and completion handling",[27,859,860,861],{},"Safe dynamic output selects known fields and writes API values with ",[138,862,390],{},[27,864,865,866,824,868],{},"DOM helpers lead naturally into jQuery request helpers such as ",[138,867,626],{},[138,869,856],{},{"title":107,"searchDepth":871,"depth":871,"links":872},2,[873,874,875,879,880,881,882,883,884,885,886,887,888,891,892,893,894],{"id":13,"depth":871,"text":18},{"id":41,"depth":871,"text":44},{"id":64,"depth":871,"text":67,"children":876},[877],{"id":93,"depth":878,"text":98},3,{"id":175,"depth":871,"text":178},{"id":207,"depth":871,"text":210},{"id":249,"depth":871,"text":252},{"id":287,"depth":871,"text":288},{"id":311,"depth":871,"text":314},{"id":340,"depth":871,"text":343},{"id":418,"depth":871,"text":421},{"id":465,"depth":871,"text":466},{"id":490,"depth":871,"text":491},{"id":548,"depth":871,"text":551,"children":889},[890],{"id":594,"depth":878,"text":595},{"id":643,"depth":871,"text":646},{"id":676,"depth":871,"text":677},{"id":770,"depth":871,"text":771},{"id":830,"depth":871,"text":833},"presentation","Internet Applications","Introduce jQuery as a JavaScript library, load it in the correct order, use selector\u002Faction syntax, and connect DOM helpers to later AJAX work.","Face-to-face class of about 40 students; covers the jQuery overview, CDN setup, syntax walkthrough, historical context, example review, checks, and short questions.","10","50","60","md",{},"8",true,"20","\u002Finternet-applications\u002Fpresentations\u002F08-reusable-components-jquery-and-ajax\u002F02-jquery-brief-intro","Core",false,null,{"title":5,"description":897},"published","internet-applications\u002Fpresentations\u002F08-reusable-components-jquery-and-ajax\u002F02-jquery-brief-intro",[321,915,916,917],"javascript","dom","events","40:16","hkLHAls49IA","https:\u002F\u002Fyoutu.be\u002FhkLHAls49IA","jQuery Intro","x7l1cR321ZsLBsVocolWZaqelQFJw0mUenaCvL_Dj48",[924,927,933,936,939,942,945,948,952,955,958,962,965,968,972,975,978,982,985,988,991,993,995,997,999,1001,1003,1005,1008,1011,1014,1017,1020,1022,1025,1028,1032,1036,1040,1044,1047,1050,1053,1057,1061,1064,1067,1070,1073,1076,1079,1082,1084,1087,1090,1093,1096,1099,1102,1105,1108,1112,1116,1120,1124,1127,1130,1133,1136,1139,1142,1145,1148,1151,1154,1157,1160,1163,1166,1169,1172,1176,1179,1182,1185,1187,1190,1193,1196,1199,1202,1205,1209,1212,1215,1218,1221,1224,1227,1230,1233,1236,1239,1242,1245,1248,1251,1254,1257,1260,1263,1266,1269,1272,1275,1278,1281,1284,1287,1290,1293,1296,1299,1302,1305,1308,1311,1314,1317,1320,1323,1326,1329,1332,1335,1338,1341,1344,1347,1350,1353,1356,1359,1362,1365,1368,1371,1374,1377,1380,1383,1386,1389,1392,1395,1398,1401,1404,1407,1410,1413,1416,1419,1422,1425,1428,1431,1434,1437,1440,1443,1446,1449,1452,1455,1458,1461,1464,1467,1470,1473,1476,1479,1482,1485,1488,1491,1494,1497,1500,1503,1506,1509,1512,1515,1518,1521,1524,1527,1530,1533,1536,1539,1542,1545,1548,1551,1554,1557,1560,1563,1567,1570,1573,1576,1579,1582,1585,1588,1591,1594,1597,1600,1603,1606,1609,1612,1615,1618,1621,1624,1627,1630,1633,1636,1639,1642,1645,1648,1651,1654,1657,1660,1663,1666,1669,1672,1675,1678,1681,1684,1687,1690,1693,1696,1699,1702,1705,1708,1711,1714,1717,1720,1723,1726,1729,1732,1735,1738,1741,1744,1747,1750,1753,1756,1759,1762,1765,1768,1771,1774,1777,1780,1783,1786,1789,1792,1795,1798,1801,1804,1807,1810,1813,1816,1819,1822,1825,1828,1831,1834,1837,1840,1843,1846,1849,1852,1855,1858,1861,1864,1867,1870,1873,1876,1879,1882,1885,1888,1891,1894,1897,1900,1903,1906,1909,1912,1915,1918,1921,1924,1927,1930,1933,1936,1939,1942,1945,1948,1952,1955,1958,1961,1964,1967,1970,1972,1974,1976,1978,1980,1982,1984,1986,1988,1990,1992,1994,1996,1998,2000,2002,2004,2006,2008,2010,2012,2014,2017,2019,2021,2023,2025,2027,2029,2031,2033,2034,2036,2038,2040,2042,2044,2046,2050,2054,2058,2061,2065,2069,2072,2075,2078,2081,2084,2087,2091,2094,2097,2100,2103,2105,2107,2109,2111,2114,2117,2120,2123,2126,2129,2132,2135,2138,2141,2144,2147,2150,2153,2156,2159,2162,2165,2168,2171,2174,2177,2180,2183,2186,2189,2192,2195,2198,2201,2204,2207,2210,2213,2216,2219,2222,2225,2228,2231,2234,2237,2240,2243,2246,2249,2252,2255,2258,2261,2264,2267,2270,2273,2276,2278,2280,2282,2284,2286,2288,2290,2292,2294,2296,2298,2300,2302,2304,2306,2308,2310,2312,2315,2317,2319,2321,2323,2325,2327,2329,2331,2333,2335,2337,2339,2341,2343,2345,2347,2349,2351,2353,2355,2357,2360,2363,2366,2369,2372,2374,2376,2379,2382,2385,2388,2391,2394],{"path":925,"title":926,"order":910,"module":910,"status":910},"\u002Fabout","About Content Version 3",{"path":928,"title":929,"order":930,"module":931,"status":932},"\u002Fgame-architecture-and-design\u002F2e\u002Fpresentations\u002F01-introduction\u002F01-first-concept","First Concept","5","1","draft",{"path":934,"title":935,"order":899,"module":931,"status":932},"\u002Fgame-architecture-and-design\u002F2e\u002Fpresentations\u002F01-introduction\u002F01-what-is-a-game","What is a Game?",{"path":937,"title":938,"order":906,"module":931,"status":932},"\u002Fgame-architecture-and-design\u002F2e\u002Fpresentations\u002F01-introduction\u002F02-what-is-gameplay","What is Gameplay?",{"path":940,"title":941,"order":899,"module":14,"status":932},"\u002Fgame-architecture-and-design\u002F2e\u002Fpresentations\u002F02-game-balance\u002F01-game-balance","Game Balance",{"path":943,"title":944,"order":899,"module":94,"status":932},"\u002Fgame-architecture-and-design\u002F2e\u002Fpresentations\u002F03-look-and-feel\u002F01-color-theory","Game Design: Color Theory",{"path":946,"title":947,"order":906,"module":94,"status":932},"\u002Fgame-architecture-and-design\u002F2e\u002Fpresentations\u002F03-look-and-feel\u002F02-look-and-feel","Game Design - Look and Feel",{"path":949,"title":950,"order":899,"module":951,"status":932},"\u002Fgame-architecture-and-design\u002F2e\u002Fpresentations\u002F04-game-mechanics\u002F01-game-mechanics","Game Mechanics","4",{"path":953,"title":954,"order":906,"module":951,"status":932},"\u002Fgame-architecture-and-design\u002F2e\u002Fpresentations\u002F04-game-mechanics\u002F02-decks","Technical: Decks and Cards",{"path":956,"title":957,"order":899,"module":930,"status":932},"\u002Fgame-architecture-and-design\u002F2e\u002Fpresentations\u002F05-depth-complexity-and-randomness\u002F01-depth-vs-complexity-and-randomness","Depth, Complexity, And Randomness",{"path":959,"title":960,"order":906,"module":961,"status":932},"\u002Fgame-architecture-and-design\u002F2e\u002Fpresentations\u002F06-first-game-planning\u002F02-planning-and-management","Planning From Concept To Prototype","6",{"path":963,"title":964,"order":899,"module":904,"status":932},"\u002Fgame-architecture-and-design\u002F2e\u002Fpresentations\u002F08-game-architecture\u002F01-concepts-and-design","Game Architecture: Concepts And Design",{"path":966,"title":967,"order":906,"module":904,"status":932},"\u002Fgame-architecture-and-design\u002F2e\u002Fpresentations\u002F08-game-architecture\u002F02-features-of-a-game-engine","Game Engine Features And Browser Feasibility",{"path":969,"title":970,"order":899,"module":971,"status":932},"\u002Fgame-architecture-and-design\u002F2e\u002Fpresentations\u002F09-entity-based-systems\u002F01-ecs","Entity-Based Systems","9",{"path":973,"title":974,"order":899,"module":899,"status":932},"\u002Fgame-architecture-and-design\u002F2e\u002Fpresentations\u002F10-player-facing-feature-systems\u002F01-spatial-rules-levels-and-interface","Spatial Rules, Levels, And Interface",{"path":976,"title":977,"order":906,"module":899,"status":932},"\u002Fgame-architecture-and-design\u002F2e\u002Fpresentations\u002F10-player-facing-feature-systems\u002F02-actors-behavior-and-effects","Actors, Behavior, And Effects",{"path":979,"title":980,"order":931,"module":981,"status":912},"\u002Fgame-architecture-and-design\u002F2e\u002Fsyllabus\u002Ffall-2026","Course Syllabus: IT265 - Game Architecture and Design","0",{"path":983,"title":984,"order":931,"module":981,"status":932},"\u002Fgame-architecture-and-design","Game Architecture and Design",{"path":986,"title":987,"order":910,"module":910,"status":932},"\u002Fgame-architecture-and-design\u002Fpresentations-revised\u002F00-revision-plan","Game Architecture And Design Presentation Revision Plan",{"path":989,"title":990,"order":910,"module":910,"status":932},"\u002Fgame-architecture-and-design\u002Fpresentations-revised\u002F01-20-minute-recording-plan","Game Architecture And Design Twenty-Minute Recording Plan",{"path":992,"title":935,"order":899,"module":931,"status":932},"\u002Fgame-architecture-and-design\u002Fpresentations\u002F01-introduction\u002F01-what-is-a-game",{"path":994,"title":938,"order":906,"module":931,"status":932},"\u002Fgame-architecture-and-design\u002Fpresentations\u002F01-introduction\u002F02-what-is-gameplay",{"path":996,"title":941,"order":899,"module":14,"status":932},"\u002Fgame-architecture-and-design\u002Fpresentations\u002F02-game-balance\u002F01-game-balance",{"path":998,"title":944,"order":899,"module":94,"status":932},"\u002Fgame-architecture-and-design\u002Fpresentations\u002F03-look-and-feel\u002F01-color-theory",{"path":1000,"title":947,"order":906,"module":94,"status":932},"\u002Fgame-architecture-and-design\u002Fpresentations\u002F03-look-and-feel\u002F02-look-and-feel",{"path":1002,"title":950,"order":899,"module":951,"status":932},"\u002Fgame-architecture-and-design\u002Fpresentations\u002F04-game-mechanics\u002F01-game-mechanics",{"path":1004,"title":954,"order":906,"module":951,"status":932},"\u002Fgame-architecture-and-design\u002Fpresentations\u002F04-game-mechanics\u002F02-decks",{"path":1006,"title":1007,"order":899,"module":930,"status":932},"\u002Fgame-architecture-and-design\u002Fpresentations\u002F05-depth-complexity-and-randomness\u002F01-depth-vs-complexity-and-randomness","Depth vs Complexity and Randomness",{"path":1009,"title":1010,"order":899,"module":961,"status":932},"\u002Fgame-architecture-and-design\u002Fpresentations\u002F06-first-game-planning\u002F01-first-concept","First Concept: Updated Lesson",{"path":1012,"title":1013,"order":906,"module":961,"status":932},"\u002Fgame-architecture-and-design\u002Fpresentations\u002F06-first-game-planning\u002F02-planning-and-management","Planning and Management",{"path":1015,"title":1016,"order":899,"module":904,"status":932},"\u002Fgame-architecture-and-design\u002Fpresentations\u002F08-game-architecture\u002F01-concepts-and-design","Game Architecture: Concepts and Design",{"path":1018,"title":1019,"order":906,"module":904,"status":932},"\u002Fgame-architecture-and-design\u002Fpresentations\u002F08-game-architecture\u002F02-features-of-a-game-engine","Game Architecture: Features of a Game Engine",{"path":1021,"title":970,"order":899,"module":971,"status":932},"\u002Fgame-architecture-and-design\u002Fpresentations\u002F09-entity-based-systems\u002F01-ecs",{"path":1023,"title":1024,"order":899,"module":899,"status":932},"\u002Fgame-architecture-and-design\u002Fpresentations\u002F10-level-mechanics\u002F01-level-mechanics","Game Design: Introduction to Level Mechanics",{"path":1026,"title":1027,"order":906,"module":899,"status":932},"\u002Fgame-architecture-and-design\u002Fpresentations\u002F10-level-mechanics\u002F02-grids","Technical: Square vs Hex Grids in Board Games",{"path":1029,"title":1030,"order":899,"module":1031,"status":932},"\u002Fgame-architecture-and-design\u002Fpresentations\u002F11-user-interfaces\u002F01-user-interfaces","Game Design: User Interfaces","11",{"path":1033,"title":1034,"order":899,"module":1035,"status":932},"\u002Fgame-architecture-and-design\u002Fpresentations\u002F12-actor-representations\u002F01-actors","Game Design: Actor Representations","12",{"path":1037,"title":1038,"order":899,"module":1039,"status":932},"\u002Fgame-architecture-and-design\u002Fpresentations\u002F13-artificial-intelligence\u002F01-ai","Game Design: AI","13",{"path":1041,"title":1042,"order":899,"module":1043,"status":932},"\u002Fgame-architecture-and-design\u002Fpresentations\u002F14-particles-and-physics\u002F01-particles-and-physics","IT265: Particle Systems and Physics Engine","14",{"path":1045,"title":1046,"order":931,"module":981,"status":932},"\u002Fgame-architecture-and-design\u002Fsyllabus\u002Fspring-2026","Course Syllabus: IT265 - Game Architecture",{"path":1048,"title":1049,"order":899,"module":981,"status":932},"\u002Fgame-architecture-and-design\u002Fworksheets\u002Fcase-study-1-atari-worksheet","Case Study 1 - Atari",{"path":1051,"title":1052,"order":906,"module":981,"status":932},"\u002Fgame-architecture-and-design\u002Fworksheets\u002Fit265-case-study-color-theory-worksheet","IT265 Case Study - Color Theory",{"path":1054,"title":1055,"order":1056,"module":981,"status":932},"\u002Fgame-architecture-and-design\u002Fworksheets\u002Fit265-case-study-personal-choice-worksheet","IT265 Case Study - Personal Choice","40",{"path":1058,"title":1059,"order":1060,"module":981,"status":932},"\u002Fgame-architecture-and-design\u002Fworksheets\u002Fit265-design-treatment-checkpoint-worksheet","IT265 Design Treatment Checkpoint","30",{"path":1062,"title":1063,"order":899,"module":931,"status":932},"\u002Fgeneral\u002F2e\u002Fpresentations\u002F01-git-and-terminal-setup","Git And Terminal Setup",{"path":1065,"title":1066,"order":906,"module":931,"status":932},"\u002Fgeneral\u002F2e\u002Fpresentations\u002F02-cli-foundations","CLI Foundations",{"path":1068,"title":1069,"order":1060,"module":931,"status":932},"\u002Fgeneral\u002F2e\u002Fpresentations\u002F03-github-setup-and-ssh","GitHub Setup And SSH",{"path":1071,"title":1072,"order":1056,"module":931,"status":932},"\u002Fgeneral\u002F2e\u002Fpresentations\u002F04-local-git-workflow-and-course-repositories","Local Git Workflow And Course Repositories",{"path":1074,"title":1075,"order":900,"module":931,"status":932},"\u002Fgeneral\u002F2e\u002Fpresentations\u002F05-vscode-setup-and-course-extensions","VS Code Setup And Course Extensions",{"path":1077,"title":1078,"order":901,"module":931,"status":932},"\u002Fgeneral\u002F2e\u002Fpresentations\u002F06-trace-learning-journal","TRACE Learning Journal Foundations",{"path":1080,"title":1081,"order":910,"module":910,"status":910},"\u002Fgeneral\u002Fbasic-cli","Basic Command Line",{"path":1083,"title":1081,"order":899,"module":931,"status":910},"\u002Fgeneral\u002Fbasic-command-line",{"path":1085,"title":1086,"order":910,"module":910,"status":912},"\u002F","Ethereal Lab Course Materials",{"path":1088,"title":1089,"order":981,"module":931,"status":932},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F01-git-github-and-course-workflow\u002F00-learn-courses-and-discord","Learn Courses Platform And Discord",{"path":1091,"title":1092,"order":899,"module":931,"status":932},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F01-git-github-and-course-workflow\u002F01-basic-cli-commands","Basic CLI Commands",{"path":1094,"title":1095,"order":906,"module":931,"status":932},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F01-git-github-and-course-workflow\u002F02-install-git-tools","Git Tools",{"path":1097,"title":1098,"order":1060,"module":931,"status":932},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F01-git-github-and-course-workflow\u002F03-setup-github-ssh","Set Up GitHub SSH",{"path":1100,"title":1101,"order":1056,"module":931,"status":932},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F01-git-github-and-course-workflow\u002F04-git-commands-prs","Git Commands And Pull Requests",{"path":1103,"title":1104,"order":900,"module":931,"status":932},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F01-git-github-and-course-workflow\u002F05-setup-local-development-environment","Local Development Environment Setup",{"path":1106,"title":1107,"order":901,"module":931,"status":932},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F01-git-github-and-course-workflow\u002F06-add-instructor-template-to-your-repository","Add Instructor Template To Your Repository",{"path":1109,"title":1110,"order":1111,"module":931,"status":932},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F01-git-github-and-course-workflow\u002F07-qa-prod-branches","QA And Prod Branches","70",{"path":1113,"title":1114,"order":1115,"module":931,"status":932},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F01-git-github-and-course-workflow\u002F08-render-setup","Render Setup","80",{"path":1117,"title":1118,"order":1119,"module":931,"status":932},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F01-git-github-and-course-workflow\u002F09-local-ubuntu-web-server-virtualbox","Local Ubuntu Web Server With VirtualBox","90",{"path":1121,"title":1122,"order":1123,"module":931,"status":932},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F01-git-github-and-course-workflow\u002F10-local-ubuntu-web-server-vmware","Local Ubuntu Web Server With VMware","100",{"path":1125,"title":1126,"order":899,"module":14,"status":932},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F02-php-and-javascript-basics\u002F01-compare-php-and-javascript","Compare PHP And JavaScript",{"path":1128,"title":1129,"order":906,"module":14,"status":932},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F02-php-and-javascript-basics\u002F02-conditions-loops-functions","Use Conditions Loops And Functions",{"path":1131,"title":1132,"order":899,"module":94,"status":932},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F03-html-forms-css-and-dom\u002F01-intro-to-html","Intro To HTML",{"path":1134,"title":1135,"order":906,"module":94,"status":932},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F03-html-forms-css-and-dom\u002F02-intro-to-forms-and-get-post","Intro To Forms And GET\u002FPOST",{"path":1137,"title":1138,"order":1060,"module":94,"status":932},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F03-html-forms-css-and-dom\u002F03-understanding-css-js-selectors-and-dom-updates","Understanding CSS\u002FJS Selectors And DOM Updates",{"path":1140,"title":1141,"order":899,"module":951,"status":932},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F04-databases-and-user-accounts\u002F01-intro-to-sql","Intro To SQL",{"path":1143,"title":1144,"order":906,"module":951,"status":932},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F04-databases-and-user-accounts\u002F02-project-database-setup","Project Database Setup",{"path":1146,"title":1147,"order":1060,"module":951,"status":932},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F04-databases-and-user-accounts\u002F03-user-registration","User Registration",{"path":1149,"title":1150,"order":1056,"module":951,"status":932},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F04-databases-and-user-accounts\u002F04-user-login","User Login",{"path":1152,"title":1153,"order":899,"module":930,"status":932},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F05-validation-and-user-profiles\u002F01-intro-to-regex","Intro To Regex",{"path":1155,"title":1156,"order":906,"module":930,"status":932},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F05-validation-and-user-profiles\u002F02-project-shared-helpers","Project Shared Helpers",{"path":1158,"title":1159,"order":1060,"module":930,"status":932},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F05-validation-and-user-profiles\u002F03-flash-messages-and-redirect-feedback","User Feedback After Redirects",{"path":1161,"title":1162,"order":1056,"module":930,"status":932},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F05-validation-and-user-profiles\u002F04-user-profile","User Profile",{"path":1164,"title":1165,"order":899,"module":961,"status":932},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F06-roles-and-crud-pages\u002F01-user-roles-authorization","User Roles Authorization",{"path":1167,"title":1168,"order":906,"module":961,"status":932},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F06-roles-and-crud-pages\u002F02-user-login-enhancement","User Login Enhancement",{"path":1170,"title":1171,"order":1060,"module":961,"status":932},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F06-roles-and-crud-pages\u002F03-dynamic-content","Dynamic Content",{"path":1173,"title":1174,"order":899,"module":1175,"status":932},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F07-api-data-and-database-helpers\u002F01-working-with-api-data","Working With API Data","7",{"path":1177,"title":1178,"order":906,"module":1175,"status":932},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F07-api-data-and-database-helpers\u002F02-api-integration","API Integration",{"path":1180,"title":1181,"order":1060,"module":1175,"status":932},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F07-api-data-and-database-helpers\u002F03-database-utility-functions","Database Utility Functions",{"path":1183,"title":1184,"order":899,"module":904,"status":932},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F08-reusable-components-jquery-and-ajax\u002F01-milestone-2-bootstrap-and-reusability","Milestone 2 Bootstrap And Reusability",{"path":1186,"title":5,"order":906,"module":904,"status":932},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F08-reusable-components-jquery-and-ajax\u002F02-jquery-brief-intro",{"path":1188,"title":1189,"order":1060,"module":904,"status":932},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F08-reusable-components-jquery-and-ajax\u002F03-intro-to-ajax","Intro To AJAX",{"path":1191,"title":1192,"order":899,"module":971,"status":932},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F09-relational-data-search-and-pagination\u002F01-user-associations","Add User Associations",{"path":1194,"title":1195,"order":906,"module":971,"status":932},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F09-relational-data-search-and-pagination\u002F02-association-views-and-pagination","Add Association Views And Pagination",{"path":1197,"title":1198,"order":899,"module":899,"status":932},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F10-association-assignment-and-security\u002F01-association-assignment-and-public-profiles","Association Management And Public Profiles",{"path":1200,"title":1201,"order":906,"module":899,"status":932},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F10-association-assignment-and-security\u002F02-reusable-csrf-protection","Reusable CSRF Protection",{"path":1203,"title":1204,"order":931,"module":981,"status":912},"\u002Finternet-applications\u002F2e\u002Fsyllabus\u002Ffall-2026","IT202 - Internet Applications Syllabus",{"path":1206,"title":1207,"order":1056,"module":899,"status":1208},"\u002Finternet-applications\u002Fassignments\u002Ffinal-project-submission","Final Project Submission","review",{"path":1210,"title":1211,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fassignments\u002Fmilestones\u002F01-account-access-and-profile-system","Milestone 1: Account, Access, And Profile System",{"path":1213,"title":1214,"order":906,"module":904,"status":1208},"\u002Finternet-applications\u002Fassignments\u002Fmilestones\u002F02-api-data-and-project-crud","Milestone 2: API Data And Project CRUD",{"path":1216,"title":1217,"order":1060,"module":971,"status":1208},"\u002Finternet-applications\u002Fassignments\u002Fmilestones\u002F03-user-associations-search-and-summary","Milestone 3: User Associations, Search, And Summary Views",{"path":1219,"title":1220,"order":930,"module":951,"status":912},"\u002Finternet-applications\u002Fassignments\u002Fproject-proposal","IT 202 Project Proposal",{"path":1222,"title":1223,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F01-course-workflow-files-and-web-server\u002F01-what-this-course-is-building","What Internet Applications Build",{"path":1225,"title":1226,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F01-course-workflow-files-and-web-server\u002F02-files-folders-and-project-structure","Files, Folders, And Project Structure",{"path":1228,"title":1229,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F01-course-workflow-files-and-web-server\u002F02a-basic-cli-commands-for-course-work","Basic CLI Commands For Web Development",{"path":1231,"title":1232,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F01-course-workflow-files-and-web-server\u002F02b-install-git-and-terminal-tools","Install Git And Terminal Tools",{"path":1234,"title":1235,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F01-course-workflow-files-and-web-server\u002F03-version-control-with-git-and-github","Version Control With Git And GitHub",{"path":1237,"title":1238,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F01-course-workflow-files-and-web-server\u002F03a-local-development-environment","Set Up A Local Development Environment",{"path":1240,"title":1241,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F01-course-workflow-files-and-web-server\u002F04-adding-the-instructor-template-to-your-repository","Starting From A Starter Template",{"path":1243,"title":1244,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F01-course-workflow-files-and-web-server\u002F05-editing-locally-and-seeing-changes-run","Editing Locally And Seeing Changes Run",{"path":1246,"title":1247,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F01-course-workflow-files-and-web-server\u002F06-building-a-local-ubuntu-web-server","Building A Local Ubuntu Web Server",{"path":1249,"title":1250,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F01-course-workflow-files-and-web-server\u002F07-git-recovery-and-common-mistakes","Git Recovery And Common Mistakes",{"path":1252,"title":1253,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F01-course-workflow-files-and-web-server\u002F08-installing-apache-and-php","Installing Apache, PHP, And MySQL",{"path":1255,"title":1256,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F01-course-workflow-files-and-web-server\u002F09-your-first-php-page-through-apache","Your First PHP Page Through Apache",{"path":1258,"title":1259,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F01-course-workflow-files-and-web-server\u002F10-how-http-works-requests-and-responses","How HTTP Works: Requests And Responses",{"path":1261,"title":1262,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F01-course-workflow-files-and-web-server\u002F11-http-methods-get-post-and-status-codes","HTTP Methods: GET, POST, And Status Codes",{"path":1264,"title":1265,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F01-course-workflow-files-and-web-server\u002F12-local-qa-and-production-environments","Local, QA, And Production Environments",{"path":1267,"title":1268,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F02-programming-fundamentals-in-php-and-javascript\u002F01-how-php-runs-on-the-server","How PHP Runs On The Server",{"path":1270,"title":1271,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F02-programming-fundamentals-in-php-and-javascript\u002F02-displaying-output-with-php","Displaying Output With PHP",{"path":1273,"title":1274,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F02-programming-fundamentals-in-php-and-javascript\u002F03-displaying-output-with-javascript","Displaying Output With JavaScript",{"path":1276,"title":1277,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F02-programming-fundamentals-in-php-and-javascript\u002F04-variables-storing-and-naming-values","Variables: Storing And Naming Values",{"path":1279,"title":1280,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F02-programming-fundamentals-in-php-and-javascript\u002F05-data-types-strings-numbers-booleans-and-null","Data Types: Strings, Numbers, Booleans, And Null",{"path":1282,"title":1283,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F02-programming-fundamentals-in-php-and-javascript\u002F06-arrays-storing-lists-of-values","Arrays: Storing Lists Of Values",{"path":1285,"title":1286,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F02-programming-fundamentals-in-php-and-javascript\u002F07-conditional-statements-making-decisions","Conditional Statements: Making Decisions",{"path":1288,"title":1289,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F02-programming-fundamentals-in-php-and-javascript\u002F08-loops-repeating-actions","Loops: Repeating Actions",{"path":1291,"title":1292,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F02-programming-fundamentals-in-php-and-javascript\u002F09-functions-reusable-blocks-of-logic","Functions: Reusable Blocks Of Logic",{"path":1294,"title":1295,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F02-programming-fundamentals-in-php-and-javascript\u002F10-reading-and-debugging-error-messages","Reading And Debugging Error Messages",{"path":1297,"title":1298,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F03-html-forms-css-and-the-dom\u002F01-html-structure-and-meaning","HTML: Structure And Meaning",{"path":1300,"title":1301,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F03-html-forms-css-and-the-dom\u002F02-writing-a-valid-html-document","Writing A Valid HTML Document",{"path":1303,"title":1304,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F03-html-forms-css-and-the-dom\u002F03-common-html-elements-and-semantic-tags","Common HTML Elements And Semantic Tags",{"path":1306,"title":1307,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F03-html-forms-css-and-the-dom\u002F04-building-forms-inputs-labels-and-buttons","Building Forms: Inputs, Labels, And Buttons",{"path":1309,"title":1310,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F03-html-forms-css-and-the-dom\u002F05-get-requests-and-query-string-data","GET Requests And Query String Data",{"path":1312,"title":1313,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F03-html-forms-css-and-the-dom\u002F06-post-requests-and-form-body-data","POST Requests And Form Body Data",{"path":1315,"title":1316,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F03-html-forms-css-and-the-dom\u002F07-css-fundamentals-selectors-properties-and-values","CSS Fundamentals: Selectors, Properties, And Values",{"path":1318,"title":1319,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F03-html-forms-css-and-the-dom\u002F08-the-box-model-margin-border-padding-and-content","The Box Model: Margin, Border, Padding, And Content",{"path":1321,"title":1322,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F03-html-forms-css-and-the-dom\u002F09-page-layout-with-flexbox","Page Layout With Flexbox",{"path":1324,"title":1325,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F03-html-forms-css-and-the-dom\u002F09a-css-positioning-fixed-headers-and-body-offsets","CSS Positioning: Fixed Headers And Body Offsets",{"path":1327,"title":1328,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F03-html-forms-css-and-the-dom\u002F10-selecting-and-changing-elements-with-javascript","Selecting And Changing Elements With JavaScript",{"path":1330,"title":1331,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F03-html-forms-css-and-the-dom\u002F11-inline-validation-and-client-side-feedback","Inline Validation And Client-Side Feedback",{"path":1333,"title":1334,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F03-html-forms-css-and-the-dom\u002F12-basic-web-accessibility-habits","Basic Web Accessibility Habits",{"path":1336,"title":1337,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F04-databases-and-user-accounts\u002F01-why-web-applications-need-a-database","Why Web Applications Need A Database",{"path":1339,"title":1340,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F04-databases-and-user-accounts\u002F02-relational-concepts-tables-rows-columns-and-primary-keys","Relational Concepts: Tables, Rows, Columns, And Primary Keys",{"path":1342,"title":1343,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F04-databases-and-user-accounts\u002F03-writing-sql-create-insert-select-update-delete","Writing SQL: CREATE, INSERT, SELECT, UPDATE, DELETE",{"path":1345,"title":1346,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F04-databases-and-user-accounts\u002F04-creating-tables-with-sql-scripts","Creating Tables With SQL Scripts",{"path":1348,"title":1349,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F04-databases-and-user-accounts\u002F05-connecting-php-to-mysql-with-pdo","Connecting PHP To MySQL With PDO",{"path":1351,"title":1352,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F04-databases-and-user-accounts\u002F06-parameterized-queries-and-sql-injection-prevention","Parameterized Queries And SQL Injection Prevention",{"path":1354,"title":1355,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F04-databases-and-user-accounts\u002F07-building-a-registration-page","Building A Registration Page",{"path":1357,"title":1358,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F04-databases-and-user-accounts\u002F08-hashing-passwords-with-password-hash","Hashing Passwords With password_hash()",{"path":1360,"title":1361,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F04-databases-and-user-accounts\u002F09-building-a-login-page","Building A Login Page",{"path":1363,"title":1364,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F04-databases-and-user-accounts\u002F10-sessions-remembering-the-logged-in-user","Sessions: Remembering The Logged-In User",{"path":1366,"title":1367,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F04-databases-and-user-accounts\u002F11-cookies-persistent-client-side-state","Cookies: Persistent Client-Side State",{"path":1369,"title":1370,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F04-databases-and-user-accounts\u002F12-navigation-that-responds-to-login-state","Navigation That Responds To Login State",{"path":1372,"title":1373,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F05-input-validation-security-and-user-profiles\u002F01-why-client-side-validation-is-not-enough","Why Client-Side Validation Is Not Enough",{"path":1375,"title":1376,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F05-input-validation-security-and-user-profiles\u002F02-sanitizing-and-escaping-user-input","Sanitizing And Escaping User Input",{"path":1378,"title":1379,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F05-input-validation-security-and-user-profiles\u002F03-required-fields-and-length-rules","Required Fields And Length Rules",{"path":1381,"title":1382,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F05-input-validation-security-and-user-profiles\u002F04-regular-expressions-for-pattern-matching","Regular Expressions For Pattern Matching",{"path":1384,"title":1385,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F05-input-validation-security-and-user-profiles\u002F05-server-side-validation-in-php","Server-Side Validation In PHP",{"path":1387,"title":1388,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F05-input-validation-security-and-user-profiles\u002F06-cross-site-scripting-xss-prevention","Cross-Site Scripting (XSS) Prevention",{"path":1390,"title":1391,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F05-input-validation-security-and-user-profiles\u002F07-flash-messages-and-persistent-feedback","Flash Messages And Persistent Feedback",{"path":1393,"title":1394,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F05-input-validation-security-and-user-profiles\u002F08-allowing-login-by-username-or-email","Allowing Login By Username Or Email",{"path":1396,"title":1397,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F05-input-validation-security-and-user-profiles\u002F09-building-a-profile-edit-page","Building A Profile Edit Page",{"path":1399,"title":1400,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F05-input-validation-security-and-user-profiles\u002F10-debugging-account-and-authentication-problems","Debugging Account And Authentication Problems",{"path":1402,"title":1403,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F05-input-validation-security-and-user-profiles\u002F11-review-the-full-account-system-so-far","Review: The Full Account System So Far",{"path":1405,"title":1406,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F06-roles-permissions-and-crud-pages\u002F01-role-based-access-control","Role-Based Access Control",{"path":1408,"title":1409,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F06-roles-permissions-and-crud-pages\u002F02-storing-roles-in-the-database","Storing Roles In The Database",{"path":1411,"title":1412,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F06-roles-permissions-and-crud-pages\u002F03-protecting-a-page-with-an-access-check","Protecting A Page With An Access Check",{"path":1414,"title":1415,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F06-roles-permissions-and-crud-pages\u002F04-safe-redirects-after-login-and-logout","Safe Redirects After Login And Logout",{"path":1417,"title":1418,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F06-roles-permissions-and-crud-pages\u002F05-listing-records-from-the-database","Listing Records From The Database",{"path":1420,"title":1421,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F06-roles-permissions-and-crud-pages\u002F06-creating-new-records-with-a-form","Creating New Records With A Form",{"path":1423,"title":1424,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F06-roles-permissions-and-crud-pages\u002F07-editing-existing-records","Editing Existing Records",{"path":1426,"title":1427,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F06-roles-permissions-and-crud-pages\u002F08-deleting-records-safely","Deleting Records Safely",{"path":1429,"title":1430,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F06-roles-permissions-and-crud-pages\u002F09-ownership-linking-records-to-users","Ownership: Linking Records To Users",{"path":1432,"title":1433,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F06-roles-permissions-and-crud-pages\u002F10-first-project-milestone-checklist","First Project Milestone Checklist",{"path":1435,"title":1436,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F06-roles-permissions-and-crud-pages\u002F11-organizing-growing-php-applications","Organizing Growing PHP Applications",{"path":1438,"title":1439,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F06-roles-permissions-and-crud-pages\u002F12-reading-a-growing-php-application","Reading A Growing PHP Application",{"path":1441,"title":1442,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F07-asynchronous-requests-json-and-external-apis\u002F01-what-asynchronous-requests-ajax-solve","What Asynchronous Requests (AJAX) Solve",{"path":1444,"title":1445,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F07-asynchronous-requests-json-and-external-apis\u002F02-json-a-common-data-format-for-the-web","JSON: A Common Data Format For The Web",{"path":1447,"title":1448,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F07-asynchronous-requests-json-and-external-apis\u002F03-building-a-php-endpoint-that-returns-json","Building A PHP Endpoint That Returns JSON",{"path":1450,"title":1451,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F07-asynchronous-requests-json-and-external-apis\u002F04-sending-requests-from-javascript-with-fetch","Sending Requests From JavaScript With Fetch",{"path":1453,"title":1454,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F07-asynchronous-requests-json-and-external-apis\u002F05-handling-fetch-responses-and-errors","Handling Fetch Responses And Errors",{"path":1456,"title":1457,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F07-asynchronous-requests-json-and-external-apis\u002F06-updating-the-page-with-returned-data","Updating The Page With Returned Data",{"path":1459,"title":1460,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F07-asynchronous-requests-json-and-external-apis\u002F07-introduction-to-rest-apis","Introduction To REST APIs",{"path":1462,"title":1463,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F07-asynchronous-requests-json-and-external-apis\u002F08-reading-api-documentation","Reading API Documentation",{"path":1465,"title":1466,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F07-asynchronous-requests-json-and-external-apis\u002F09-making-authenticated-api-calls-from-php","Making Authenticated API Calls From PHP",{"path":1468,"title":1469,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F07-asynchronous-requests-json-and-external-apis\u002F10-storing-and-caching-api-responses","Storing And Caching API Responses",{"path":1471,"title":1472,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F07-asynchronous-requests-json-and-external-apis\u002F11-cors-and-cross-origin-request-basics","CORS And Cross-Origin Request Basics",{"path":1474,"title":1475,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F07-asynchronous-requests-json-and-external-apis\u002F12-browser-devtools-for-web-application-debugging","Browser DevTools For Web Application Debugging",{"path":1477,"title":1478,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F08-dynamic-interfaces-and-project-data\u002F01-jquery-simplified-dom-and-event-work","jQuery: Simplified DOM And Event Work",{"path":1480,"title":1481,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F08-dynamic-interfaces-and-project-data\u002F02-selecting-elements-with-jquery","Selecting Elements With jQuery",{"path":1483,"title":1484,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F08-dynamic-interfaces-and-project-data\u002F03-responding-to-events-clicks-inputs-and-submissions","Responding To Events: Clicks, Inputs, And Submissions",{"path":1486,"title":1487,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F08-dynamic-interfaces-and-project-data\u002F04-updating-the-dom-after-a-user-action","Updating The DOM After A User Action",{"path":1489,"title":1490,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F08-dynamic-interfaces-and-project-data\u002F05-sending-ajax-requests-with-jquery","Sending AJAX Requests With jQuery",{"path":1492,"title":1493,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F08-dynamic-interfaces-and-project-data\u002F06-saving-external-api-data-through-php","Saving External API Data Through PHP",{"path":1495,"title":1496,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F08-dynamic-interfaces-and-project-data\u002F07-saving-user-created-records","Saving User-Created Records",{"path":1498,"title":1499,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F08-dynamic-interfaces-and-project-data\u002F08-building-a-project-listing-page","Building A Project Listing Page",{"path":1501,"title":1502,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F08-dynamic-interfaces-and-project-data\u002F09-inline-editing-and-detail-views","Inline Editing And Detail Views",{"path":1504,"title":1505,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F08-dynamic-interfaces-and-project-data\u002F10-second-project-milestone-checklist","Second Project Milestone Checklist",{"path":1507,"title":1508,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F09-relational-data-search-and-pagination\u002F01-foreign-keys-and-referential-integrity","Foreign Keys And Referential Integrity",{"path":1510,"title":1511,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F09-relational-data-search-and-pagination\u002F02-joining-tables-inner-join-left-join","Joining Tables: INNER JOIN, LEFT JOIN",{"path":1513,"title":1514,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F09-relational-data-search-and-pagination\u002F03-user-owned-records-and-access-enforcement","User-Owned Records And Access Enforcement",{"path":1516,"title":1517,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F09-relational-data-search-and-pagination\u002F04-connecting-api-data-to-user-records","Connecting API Data To User Records",{"path":1519,"title":1520,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F09-relational-data-search-and-pagination\u002F05-searching-and-filtering-with-sql","Searching And Filtering With SQL",{"path":1522,"title":1523,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F09-relational-data-search-and-pagination\u002F06-pagination-displaying-records-in-pages","Pagination: Displaying Records In Pages",{"path":1525,"title":1526,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F09-relational-data-search-and-pagination\u002F07-aggregate-functions-count-sum-avg","Aggregate Functions: COUNT, SUM, AVG",{"path":1528,"title":1529,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F09-relational-data-search-and-pagination\u002F08-simple-analytics-and-summary-views","Simple Analytics And Summary Views",{"path":1531,"title":1532,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F09-relational-data-search-and-pagination\u002F09-third-project-milestone-checklist","Third Project Milestone Checklist",{"path":1534,"title":1535,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F10-final-integration-testing-and-deployment\u002F01-public-pages-and-unauthenticated-views","Public Pages And Unauthenticated Views",{"path":1537,"title":1538,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F10-final-integration-testing-and-deployment\u002F02-user-profile-and-activity-pages","User Profile And Activity Pages",{"path":1540,"title":1541,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F10-final-integration-testing-and-deployment\u002F03-refreshing-and-expiring-external-api-data","Refreshing And Expiring External API Data",{"path":1543,"title":1544,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F10-final-integration-testing-and-deployment\u002F04-application-wide-security-audit","Application-Wide Security Audit",{"path":1546,"title":1547,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F10-final-integration-testing-and-deployment\u002F05-cross-site-request-forgery-csrf-protection","Cross-Site Request Forgery (CSRF) Protection",{"path":1549,"title":1550,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F10-final-integration-testing-and-deployment\u002F06-qa-testing-and-collecting-evidence","QA Testing And Collecting Evidence",{"path":1552,"title":1553,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F10-final-integration-testing-and-deployment\u002F07-production-environment-checklist","Production Environment Checklist",{"path":1555,"title":1556,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F10-final-integration-testing-and-deployment\u002F08-writing-a-project-readme","Writing A Project README",{"path":1558,"title":1559,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F10-final-integration-testing-and-deployment\u002F09-final-presentation-and-code-walkthrough","Final Presentation And Code Walkthrough",{"path":1561,"title":1562,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F10-final-integration-testing-and-deployment\u002F10-configuration-drift-and-secrets-checks","Configuration Drift And Secrets Checks",{"path":1564,"title":1565,"order":910,"module":910,"status":1566},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F01-course-workflow-files-and-web-server\u002F01-what-this-course-is-building","Quiz - What Internet Applications Build","ready",{"path":1568,"title":1569,"order":910,"module":910,"status":1566},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F01-course-workflow-files-and-web-server\u002F02-files-folders-and-project-structure","Quiz - Files, Folders, And Project Structure",{"path":1571,"title":1572,"order":910,"module":910,"status":1566},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F01-course-workflow-files-and-web-server\u002F02a-basic-cli-commands-for-course-work","Quiz - Basic CLI Commands For Web Development",{"path":1574,"title":1575,"order":910,"module":910,"status":1566},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F01-course-workflow-files-and-web-server\u002F02b-install-git-and-terminal-tools","Quiz - Install Git And Terminal Tools",{"path":1577,"title":1578,"order":910,"module":910,"status":1566},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F01-course-workflow-files-and-web-server\u002F03-version-control-with-git-and-github","Quiz - Version Control With Git And GitHub",{"path":1580,"title":1581,"order":910,"module":910,"status":1566},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F01-course-workflow-files-and-web-server\u002F03a-local-development-environment","Quiz - Set Up A Local Development Environment",{"path":1583,"title":1584,"order":910,"module":910,"status":1566},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F01-course-workflow-files-and-web-server\u002F04-adding-the-instructor-template-to-your-repository","Quiz - Starting From A Starter Template",{"path":1586,"title":1587,"order":910,"module":910,"status":1566},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F01-course-workflow-files-and-web-server\u002F05-editing-locally-and-seeing-changes-run","Quiz - Editing Locally And Seeing Changes Run",{"path":1589,"title":1590,"order":910,"module":910,"status":1566},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F01-course-workflow-files-and-web-server\u002F06-building-a-local-ubuntu-web-server","Quiz - Building A Local Ubuntu Web Server",{"path":1592,"title":1593,"order":910,"module":910,"status":1566},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F01-course-workflow-files-and-web-server\u002F07-git-recovery-and-common-mistakes","Quiz - Git Recovery And Common Mistakes",{"path":1595,"title":1596,"order":910,"module":910,"status":1566},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F01-course-workflow-files-and-web-server\u002F08-installing-apache-and-php","Quiz - Installing Apache, PHP, And MySQL",{"path":1598,"title":1599,"order":910,"module":910,"status":1566},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F01-course-workflow-files-and-web-server\u002F09-your-first-php-page-through-apache","Quiz - Your First PHP Page Through Apache",{"path":1601,"title":1602,"order":910,"module":910,"status":1566},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F01-course-workflow-files-and-web-server\u002F10-how-http-works-requests-and-responses","Quiz - How HTTP Works: Requests And Responses",{"path":1604,"title":1605,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F01-course-workflow-files-and-web-server\u002F11-http-methods-get-post-and-status-codes","Quiz - HTTP Methods: GET, POST, And Status Codes",{"path":1607,"title":1608,"order":910,"module":910,"status":1566},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F01-course-workflow-files-and-web-server\u002F12-local-qa-and-production-environments","Quiz - Local, QA, And Production Environments",{"path":1610,"title":1611,"order":910,"module":910,"status":1566},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F02-programming-fundamentals-in-php-and-javascript\u002F01-how-php-runs-on-the-server","Quiz - How PHP Runs On The Server",{"path":1613,"title":1614,"order":910,"module":910,"status":1566},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F02-programming-fundamentals-in-php-and-javascript\u002F02-displaying-output-with-php","Quiz - Displaying Output With PHP",{"path":1616,"title":1617,"order":910,"module":910,"status":1566},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F02-programming-fundamentals-in-php-and-javascript\u002F03-displaying-output-with-javascript","Quiz - Displaying Output With JavaScript",{"path":1619,"title":1620,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F02-programming-fundamentals-in-php-and-javascript\u002F04-variables-storing-and-naming-values","Quiz - Variables: Storing And Naming Values",{"path":1622,"title":1623,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F02-programming-fundamentals-in-php-and-javascript\u002F05-data-types-strings-numbers-booleans-and-null","Quiz - Data Types: Strings, Numbers, Booleans, And Null",{"path":1625,"title":1626,"order":910,"module":910,"status":1566},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F02-programming-fundamentals-in-php-and-javascript\u002F06-arrays-storing-lists-of-values","Quiz - Arrays: Storing Lists Of Values",{"path":1628,"title":1629,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F02-programming-fundamentals-in-php-and-javascript\u002F07-conditional-statements-making-decisions","Quiz - Conditional Statements: Making Decisions",{"path":1631,"title":1632,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F02-programming-fundamentals-in-php-and-javascript\u002F08-loops-repeating-actions","Quiz - Loops: Repeating Actions",{"path":1634,"title":1635,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F02-programming-fundamentals-in-php-and-javascript\u002F09-functions-reusable-blocks-of-logic","Quiz - Functions: Reusable Blocks Of Logic",{"path":1637,"title":1638,"order":910,"module":910,"status":1566},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F02-programming-fundamentals-in-php-and-javascript\u002F10-reading-and-debugging-error-messages","Quiz - Reading And Debugging Error Messages",{"path":1640,"title":1641,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F03-html-forms-css-and-the-dom\u002F01-html-structure-and-meaning","Quiz - HTML: Structure And Meaning",{"path":1643,"title":1644,"order":910,"module":910,"status":1566},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F03-html-forms-css-and-the-dom\u002F02-writing-a-valid-html-document","Quiz - Writing A Valid HTML Document",{"path":1646,"title":1647,"order":910,"module":910,"status":1566},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F03-html-forms-css-and-the-dom\u002F03-common-html-elements-and-semantic-tags","Quiz - Common HTML Elements And Semantic Tags",{"path":1649,"title":1650,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F03-html-forms-css-and-the-dom\u002F04-building-forms-inputs-labels-and-buttons","Quiz - Building Forms: Inputs, Labels, And Buttons",{"path":1652,"title":1653,"order":910,"module":910,"status":1566},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F03-html-forms-css-and-the-dom\u002F05-get-requests-and-query-string-data","Quiz - GET Requests And Query String Data",{"path":1655,"title":1656,"order":910,"module":910,"status":1566},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F03-html-forms-css-and-the-dom\u002F06-post-requests-and-form-body-data","Quiz - POST Requests And Form Body Data",{"path":1658,"title":1659,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F03-html-forms-css-and-the-dom\u002F07-css-fundamentals-selectors-properties-and-values","Quiz - CSS Fundamentals: Selectors, Properties, And Values",{"path":1661,"title":1662,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F03-html-forms-css-and-the-dom\u002F08-the-box-model-margin-border-padding-and-content","Quiz - The Box Model: Margin, Border, Padding, And Content",{"path":1664,"title":1665,"order":910,"module":910,"status":1566},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F03-html-forms-css-and-the-dom\u002F09-page-layout-with-flexbox","Quiz - Page Layout With Flexbox",{"path":1667,"title":1668,"order":910,"module":910,"status":1566},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F03-html-forms-css-and-the-dom\u002F09a-css-positioning-fixed-headers-and-body-offsets","Quiz - CSS Positioning: Fixed Headers And Body Offsets",{"path":1670,"title":1671,"order":910,"module":910,"status":1566},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F03-html-forms-css-and-the-dom\u002F10-selecting-and-changing-elements-with-javascript","Quiz - Selecting And Changing Elements With JavaScript",{"path":1673,"title":1674,"order":910,"module":910,"status":1566},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F03-html-forms-css-and-the-dom\u002F11-inline-validation-and-client-side-feedback","Quiz - Inline Validation And Client-Side Feedback",{"path":1676,"title":1677,"order":910,"module":910,"status":1566},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F03-html-forms-css-and-the-dom\u002F12-basic-web-accessibility-habits","Quiz - Basic Web Accessibility Habits",{"path":1679,"title":1680,"order":910,"module":910,"status":1566},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F04-databases-and-user-accounts\u002F01-why-web-applications-need-a-database","Quiz - Why Web Applications Need A Database",{"path":1682,"title":1683,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F04-databases-and-user-accounts\u002F02-relational-concepts-tables-rows-columns-and-primary-keys","Quiz - Relational Concepts: Tables, Rows, Columns, And Primary Keys",{"path":1685,"title":1686,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F04-databases-and-user-accounts\u002F03-writing-sql-create-insert-select-update-delete","Quiz - Writing SQL: CREATE, INSERT, SELECT, UPDATE, DELETE",{"path":1688,"title":1689,"order":910,"module":910,"status":1566},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F04-databases-and-user-accounts\u002F04-creating-tables-with-sql-scripts","Quiz - Creating Tables With SQL Scripts",{"path":1691,"title":1692,"order":910,"module":910,"status":1566},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F04-databases-and-user-accounts\u002F05-connecting-php-to-mysql-with-pdo","Quiz - Connecting PHP To MySQL With PDO",{"path":1694,"title":1695,"order":910,"module":910,"status":1566},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F04-databases-and-user-accounts\u002F06-parameterized-queries-and-sql-injection-prevention","Quiz - Parameterized Queries And SQL Injection Prevention",{"path":1697,"title":1698,"order":910,"module":910,"status":1566},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F04-databases-and-user-accounts\u002F07-building-a-registration-page","Quiz - Building A Registration Page",{"path":1700,"title":1701,"order":910,"module":910,"status":1566},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F04-databases-and-user-accounts\u002F08-hashing-passwords-with-password-hash","Quiz - Hashing Passwords With password_hash()",{"path":1703,"title":1704,"order":910,"module":910,"status":1566},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F04-databases-and-user-accounts\u002F09-building-a-login-page","Quiz - Building A Login Page",{"path":1706,"title":1707,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F04-databases-and-user-accounts\u002F10-sessions-remembering-the-logged-in-user","Quiz - Sessions: Remembering The Logged-In User",{"path":1709,"title":1710,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F04-databases-and-user-accounts\u002F11-cookies-persistent-client-side-state","Quiz - Cookies: Persistent Client-Side State",{"path":1712,"title":1713,"order":910,"module":910,"status":1566},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F04-databases-and-user-accounts\u002F12-navigation-that-responds-to-login-state","Quiz - Navigation That Responds To Login State",{"path":1715,"title":1716,"order":910,"module":910,"status":1566},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F05-input-validation-security-and-user-profiles\u002F01-why-client-side-validation-is-not-enough","Quiz - Why Client-Side Validation Is Not Enough",{"path":1718,"title":1719,"order":910,"module":910,"status":1566},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F05-input-validation-security-and-user-profiles\u002F02-sanitizing-and-escaping-user-input","Quiz - Sanitizing And Escaping User Input",{"path":1721,"title":1722,"order":910,"module":910,"status":1566},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F05-input-validation-security-and-user-profiles\u002F03-required-fields-and-length-rules","Quiz - Required Fields And Length Rules",{"path":1724,"title":1725,"order":910,"module":910,"status":1566},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F05-input-validation-security-and-user-profiles\u002F04-regular-expressions-for-pattern-matching","Quiz - Regular Expressions For Pattern Matching",{"path":1727,"title":1728,"order":910,"module":910,"status":1566},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F05-input-validation-security-and-user-profiles\u002F05-server-side-validation-in-php","Quiz - Server-Side Validation In PHP",{"path":1730,"title":1731,"order":910,"module":910,"status":1566},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F05-input-validation-security-and-user-profiles\u002F06-cross-site-scripting-xss-prevention","Quiz - Cross-Site Scripting (XSS) Prevention",{"path":1733,"title":1734,"order":910,"module":910,"status":1566},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F05-input-validation-security-and-user-profiles\u002F07-flash-messages-and-persistent-feedback","Quiz - Flash Messages And Persistent Feedback",{"path":1736,"title":1737,"order":910,"module":910,"status":1566},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F05-input-validation-security-and-user-profiles\u002F08-allowing-login-by-username-or-email","Quiz - Allowing Login By Username Or Email",{"path":1739,"title":1740,"order":910,"module":910,"status":1566},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F05-input-validation-security-and-user-profiles\u002F09-building-a-profile-edit-page","Quiz - Building A Profile Edit Page",{"path":1742,"title":1743,"order":910,"module":910,"status":1566},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F05-input-validation-security-and-user-profiles\u002F10-debugging-account-and-authentication-problems","Quiz - Debugging Account And Authentication Problems",{"path":1745,"title":1746,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F05-input-validation-security-and-user-profiles\u002F11-review-the-full-account-system-so-far","Quiz - Review: The Full Account System So Far",{"path":1748,"title":1749,"order":910,"module":910,"status":1566},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F06-roles-permissions-and-crud-pages\u002F01-role-based-access-control","Quiz - Role-Based Access Control",{"path":1751,"title":1752,"order":910,"module":910,"status":1566},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F06-roles-permissions-and-crud-pages\u002F02-storing-roles-in-the-database","Quiz - Storing Roles In The Database",{"path":1754,"title":1755,"order":910,"module":910,"status":1566},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F06-roles-permissions-and-crud-pages\u002F03-protecting-a-page-with-an-access-check","Quiz - Protecting A Page With An Access Check",{"path":1757,"title":1758,"order":910,"module":910,"status":1566},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F06-roles-permissions-and-crud-pages\u002F04-safe-redirects-after-login-and-logout","Quiz - Safe Redirects After Login And Logout",{"path":1760,"title":1761,"order":910,"module":910,"status":1566},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F06-roles-permissions-and-crud-pages\u002F05-listing-records-from-the-database","Quiz - Listing Records From The Database",{"path":1763,"title":1764,"order":910,"module":910,"status":1566},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F06-roles-permissions-and-crud-pages\u002F06-creating-new-records-with-a-form","Quiz - Creating New Records With A Form",{"path":1766,"title":1767,"order":910,"module":910,"status":1566},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F06-roles-permissions-and-crud-pages\u002F07-editing-existing-records","Quiz - Editing Existing Records",{"path":1769,"title":1770,"order":910,"module":910,"status":1566},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F06-roles-permissions-and-crud-pages\u002F08-deleting-records-safely","Quiz - Deleting Records Safely",{"path":1772,"title":1773,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F06-roles-permissions-and-crud-pages\u002F09-ownership-linking-records-to-users","Quiz - Ownership: Linking Records To Users",{"path":1775,"title":1776,"order":910,"module":910,"status":1566},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F06-roles-permissions-and-crud-pages\u002F10-first-project-milestone-checklist","Quiz - First Project Milestone Checklist",{"path":1778,"title":1779,"order":910,"module":910,"status":1566},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F06-roles-permissions-and-crud-pages\u002F11-organizing-growing-php-applications","Quiz - Organizing Growing PHP Applications",{"path":1781,"title":1782,"order":910,"module":910,"status":1566},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F06-roles-permissions-and-crud-pages\u002F12-reading-a-growing-php-application","Quiz - Reading A Growing PHP Application",{"path":1784,"title":1785,"order":910,"module":910,"status":1566},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F07-asynchronous-requests-json-and-external-apis\u002F01-what-asynchronous-requests-ajax-solve","Quiz - What Asynchronous Requests (AJAX) Solve",{"path":1787,"title":1788,"order":910,"module":910,"status":1566},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F07-asynchronous-requests-json-and-external-apis\u002F02-json-a-common-data-format-for-the-web","Quiz - JSON: A Common Data Format For The Web",{"path":1790,"title":1791,"order":910,"module":910,"status":1566},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F07-asynchronous-requests-json-and-external-apis\u002F03-building-a-php-endpoint-that-returns-json","Quiz - Building A PHP Endpoint That Returns JSON",{"path":1793,"title":1794,"order":910,"module":910,"status":1566},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F07-asynchronous-requests-json-and-external-apis\u002F04-sending-requests-from-javascript-with-fetch","Quiz - Sending Requests From JavaScript With Fetch",{"path":1796,"title":1797,"order":910,"module":910,"status":1566},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F07-asynchronous-requests-json-and-external-apis\u002F05-handling-fetch-responses-and-errors","Quiz - Handling Fetch Responses And Errors",{"path":1799,"title":1800,"order":910,"module":910,"status":1566},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F07-asynchronous-requests-json-and-external-apis\u002F06-updating-the-page-with-returned-data","Quiz - Updating The Page With Returned Data",{"path":1802,"title":1803,"order":910,"module":910,"status":1566},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F07-asynchronous-requests-json-and-external-apis\u002F07-introduction-to-rest-apis","Quiz - Introduction To REST APIs",{"path":1805,"title":1806,"order":910,"module":910,"status":1566},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F07-asynchronous-requests-json-and-external-apis\u002F08-reading-api-documentation","Quiz - Reading API Documentation",{"path":1808,"title":1809,"order":910,"module":910,"status":1566},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F07-asynchronous-requests-json-and-external-apis\u002F09-making-authenticated-api-calls-from-php","Quiz - Making Authenticated API Calls From PHP",{"path":1811,"title":1812,"order":910,"module":910,"status":1566},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F07-asynchronous-requests-json-and-external-apis\u002F10-storing-and-caching-api-responses","Quiz - Storing And Caching API Responses",{"path":1814,"title":1815,"order":910,"module":910,"status":1566},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F07-asynchronous-requests-json-and-external-apis\u002F11-cors-and-cross-origin-request-basics","Quiz - CORS And Cross-Origin Request Basics",{"path":1817,"title":1818,"order":910,"module":910,"status":1566},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F07-asynchronous-requests-json-and-external-apis\u002F12-browser-devtools-for-web-application-debugging","Quiz - Browser DevTools For Web Application Debugging",{"path":1820,"title":1821,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F08-dynamic-interfaces-and-project-data\u002F01-jquery-simplified-dom-and-event-work","Quiz - jQuery: Simplified DOM And Event Work",{"path":1823,"title":1824,"order":910,"module":910,"status":1566},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F08-dynamic-interfaces-and-project-data\u002F02-selecting-elements-with-jquery","Quiz - Selecting Elements With jQuery",{"path":1826,"title":1827,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F08-dynamic-interfaces-and-project-data\u002F03-responding-to-events-clicks-inputs-and-submissions","Quiz - Responding To Events: Clicks, Inputs, And Submissions",{"path":1829,"title":1830,"order":910,"module":910,"status":1566},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F08-dynamic-interfaces-and-project-data\u002F04-updating-the-dom-after-a-user-action","Quiz - Updating The DOM After A User Action",{"path":1832,"title":1833,"order":910,"module":910,"status":1566},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F08-dynamic-interfaces-and-project-data\u002F05-sending-ajax-requests-with-jquery","Quiz - Sending AJAX Requests With jQuery",{"path":1835,"title":1836,"order":910,"module":910,"status":1566},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F08-dynamic-interfaces-and-project-data\u002F06-saving-external-api-data-through-php","Quiz - Saving External API Data Through PHP",{"path":1838,"title":1839,"order":910,"module":910,"status":1566},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F08-dynamic-interfaces-and-project-data\u002F07-saving-user-created-records","Quiz - Saving User-Created Records",{"path":1841,"title":1842,"order":910,"module":910,"status":1566},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F08-dynamic-interfaces-and-project-data\u002F08-building-a-project-listing-page","Quiz - Building A Project Listing Page",{"path":1844,"title":1845,"order":910,"module":910,"status":1566},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F08-dynamic-interfaces-and-project-data\u002F09-inline-editing-and-detail-views","Quiz - Inline Editing And Detail Views",{"path":1847,"title":1848,"order":910,"module":910,"status":1566},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F08-dynamic-interfaces-and-project-data\u002F10-second-project-milestone-checklist","Quiz - Second Project Milestone Checklist",{"path":1850,"title":1851,"order":910,"module":910,"status":1566},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F09-relational-data-search-and-pagination\u002F01-foreign-keys-and-referential-integrity","Quiz - Foreign Keys And Referential Integrity",{"path":1853,"title":1854,"order":910,"module":910,"status":1566},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F09-relational-data-search-and-pagination\u002F02-joining-tables-inner-join-left-join","Quiz - Joining Tables: INNER JOIN, LEFT JOIN",{"path":1856,"title":1857,"order":910,"module":910,"status":1566},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F09-relational-data-search-and-pagination\u002F03-user-owned-records-and-access-enforcement","Quiz - User-Owned Records And Access Enforcement",{"path":1859,"title":1860,"order":910,"module":910,"status":1566},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F09-relational-data-search-and-pagination\u002F04-connecting-api-data-to-user-records","Quiz - Connecting API Data To User Records",{"path":1862,"title":1863,"order":910,"module":910,"status":1566},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F09-relational-data-search-and-pagination\u002F05-searching-and-filtering-with-sql","Quiz - Searching And Filtering With SQL",{"path":1865,"title":1866,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F09-relational-data-search-and-pagination\u002F06-pagination-displaying-records-in-pages","Quiz - Pagination: Displaying Records In Pages",{"path":1868,"title":1869,"order":910,"module":910,"status":910},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F09-relational-data-search-and-pagination\u002F07-aggregate-functions-count-sum-avg","Quiz - Aggregate Functions: COUNT, SUM, AVG",{"path":1871,"title":1872,"order":910,"module":910,"status":1566},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F09-relational-data-search-and-pagination\u002F08-simple-analytics-and-summary-views","Quiz - Simple Analytics And Summary Views",{"path":1874,"title":1875,"order":910,"module":910,"status":1566},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F09-relational-data-search-and-pagination\u002F09-third-project-milestone-checklist","Quiz - Third Project Milestone Checklist",{"path":1877,"title":1878,"order":910,"module":910,"status":1566},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F10-final-integration-testing-and-deployment\u002F01-public-pages-and-unauthenticated-views","Quiz - Public Pages And Unauthenticated Views",{"path":1880,"title":1881,"order":910,"module":910,"status":1566},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F10-final-integration-testing-and-deployment\u002F02-user-profile-and-activity-pages","Quiz - User Profile And Activity Pages",{"path":1883,"title":1884,"order":910,"module":910,"status":1566},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F10-final-integration-testing-and-deployment\u002F03-refreshing-and-expiring-external-api-data","Quiz - Refreshing And Expiring External API Data",{"path":1886,"title":1887,"order":910,"module":910,"status":1566},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F10-final-integration-testing-and-deployment\u002F04-application-wide-security-audit","Quiz - Application-Wide Security Audit",{"path":1889,"title":1890,"order":910,"module":910,"status":1566},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F10-final-integration-testing-and-deployment\u002F05-cross-site-request-forgery-csrf-protection","Quiz - Cross-Site Request Forgery (CSRF) Protection",{"path":1892,"title":1893,"order":910,"module":910,"status":1566},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F10-final-integration-testing-and-deployment\u002F06-qa-testing-and-collecting-evidence","Quiz - QA Testing And Collecting Evidence",{"path":1895,"title":1896,"order":910,"module":910,"status":1566},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F10-final-integration-testing-and-deployment\u002F07-production-environment-checklist","Quiz - Production Environment Checklist",{"path":1898,"title":1899,"order":910,"module":910,"status":1566},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F10-final-integration-testing-and-deployment\u002F08-writing-a-project-readme","Quiz - Writing A Project README",{"path":1901,"title":1902,"order":910,"module":910,"status":1566},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F10-final-integration-testing-and-deployment\u002F09-final-presentation-and-code-walkthrough","Quiz - Final Presentation And Code Walkthrough",{"path":1904,"title":1905,"order":910,"module":910,"status":1566},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F10-final-integration-testing-and-deployment\u002F10-configuration-drift-and-secrets-checks","Quiz - Configuration Drift And Secrets Checks",{"path":1907,"title":1908,"order":931,"module":981,"status":932},"\u002Finternet-applications\u002Fbook\u002Freference\u002Fa-command-line-basics","Command Line Basics",{"path":1910,"title":1911,"order":14,"module":981,"status":932},"\u002Finternet-applications\u002Fbook\u002Freference\u002Fb-git-and-github-recovery","Git And GitHub Recovery",{"path":1913,"title":1914,"order":94,"module":981,"status":932},"\u002Finternet-applications\u002Fbook\u002Freference\u002Fc-apache-and-php-troubleshooting","Apache And PHP Troubleshooting",{"path":1916,"title":1917,"order":951,"module":981,"status":932},"\u002Finternet-applications\u002Fbook\u002Freference\u002Fd-mysql-troubleshooting","MySQL Troubleshooting",{"path":1919,"title":1920,"order":930,"module":981,"status":932},"\u002Finternet-applications\u002Fbook\u002Freference\u002Fe-http-request-and-response-reference","HTTP Request And Response Reference",{"path":1922,"title":1923,"order":961,"module":981,"status":932},"\u002Finternet-applications\u002Fbook\u002Freference\u002Ff-common-security-mistakes","Common Security Mistakes",{"path":1925,"title":1926,"order":1175,"module":981,"status":932},"\u002Finternet-applications\u002Fbook\u002Freference\u002Fg-ai-collaboration-and-disclosure","AI Collaboration And Disclosure",{"path":1928,"title":1929,"order":981,"module":981,"status":932},"\u002Finternet-applications\u002Fbook\u002Ftoc","Internet Applications: Table of Contents",{"path":1931,"title":1932,"order":899,"module":931,"status":932},"\u002Finternet-applications\u002Flabs\u002F01-git-recovery-and-submission-evidence","Lab 1: Git Recovery And Submission Evidence",{"path":1934,"title":1935,"order":906,"module":14,"status":932},"\u002Finternet-applications\u002Flabs\u002F02-php-output-and-error-reading","Lab 2: PHP Output And Error Reading",{"path":1937,"title":1938,"order":1060,"module":94,"status":932},"\u002Finternet-applications\u002Flabs\u002F03-form-methods-and-sticky-values","Lab 3: Form Methods And Sticky Values",{"path":1940,"title":1941,"order":1056,"module":951,"status":932},"\u002Finternet-applications\u002Flabs\u002F04-pdo-query-and-sql-evidence","Lab 4: PDO Query And SQL Evidence",{"path":1943,"title":1944,"order":900,"module":930,"status":932},"\u002Finternet-applications\u002Flabs\u002F05-validation-debugging-and-friendly-errors","Lab 5: Validation, Debugging, And Friendly Errors",{"path":1946,"title":1947,"order":901,"module":961,"status":932},"\u002Finternet-applications\u002Flabs\u002F06-role-protected-crud-check","Lab 6: Role-Protected CRUD Check",{"path":1949,"title":1950,"order":1951,"module":961,"status":932},"\u002Finternet-applications\u002Flabs\u002F06a-relative-paths-includes-and-feature-trace","Lab 6A: Relative Paths, Includes, And Feature Tracing","61",{"path":1953,"title":1954,"order":1111,"module":1175,"status":932},"\u002Finternet-applications\u002Flabs\u002F07-json-endpoint-and-fetch-check","Lab 7: JSON Endpoint And Fetch Check",{"path":1956,"title":1957,"order":1115,"module":904,"status":932},"\u002Finternet-applications\u002Flabs\u002F08-jquery-ajax-interface-check","Lab 8: jQuery AJAX Interface Check",{"path":1959,"title":1960,"order":1119,"module":971,"status":932},"\u002Finternet-applications\u002Flabs\u002F09-search-pagination-and-summary-check","Lab 9: Search, Pagination, And Summary Check",{"path":1962,"title":1963,"order":1123,"module":899,"status":932},"\u002Finternet-applications\u002Flabs\u002F10-final-security-and-readme-check","Lab 10: Final Security And README Check",{"path":1965,"title":1966,"order":910,"module":910,"status":932},"\u002Finternet-applications\u002Fpresentations-revised\u002F00-revision-plan","Internet Applications Presentation Revision Plan",{"path":1968,"title":1969,"order":910,"module":910,"status":932},"\u002Finternet-applications\u002Fpresentations-revised\u002F01-20-minute-recording-plan","Internet Applications Twenty-Minute Recording Plan",{"path":1971,"title":1089,"order":981,"module":931,"status":912},"\u002Finternet-applications\u002Fpresentations\u002F01-git-github-and-course-workflow\u002F00-learn-courses-and-discord",{"path":1973,"title":1092,"order":899,"module":931,"status":912},"\u002Finternet-applications\u002Fpresentations\u002F01-git-github-and-course-workflow\u002F01-basic-cli-commands",{"path":1975,"title":1095,"order":906,"module":931,"status":912},"\u002Finternet-applications\u002Fpresentations\u002F01-git-github-and-course-workflow\u002F02-install-git-tools",{"path":1977,"title":1098,"order":1060,"module":931,"status":912},"\u002Finternet-applications\u002Fpresentations\u002F01-git-github-and-course-workflow\u002F03-setup-github-ssh",{"path":1979,"title":1101,"order":1056,"module":931,"status":912},"\u002Finternet-applications\u002Fpresentations\u002F01-git-github-and-course-workflow\u002F04-git-commands-prs",{"path":1981,"title":1104,"order":900,"module":931,"status":912},"\u002Finternet-applications\u002Fpresentations\u002F01-git-github-and-course-workflow\u002F05-setup-local-development-environment",{"path":1983,"title":1107,"order":901,"module":931,"status":912},"\u002Finternet-applications\u002Fpresentations\u002F01-git-github-and-course-workflow\u002F06-add-instructor-template-to-your-repository",{"path":1985,"title":1110,"order":1111,"module":931,"status":912},"\u002Finternet-applications\u002Fpresentations\u002F01-git-github-and-course-workflow\u002F07-qa-prod-branches",{"path":1987,"title":1114,"order":1115,"module":931,"status":912},"\u002Finternet-applications\u002Fpresentations\u002F01-git-github-and-course-workflow\u002F08-render-setup",{"path":1989,"title":1118,"order":1119,"module":931,"status":912},"\u002Finternet-applications\u002Fpresentations\u002F01-git-github-and-course-workflow\u002F09-local-ubuntu-web-server-virtualbox",{"path":1991,"title":1122,"order":1123,"module":931,"status":932},"\u002Finternet-applications\u002Fpresentations\u002F01-git-github-and-course-workflow\u002F10-local-ubuntu-web-server-vmware",{"path":1993,"title":1126,"order":899,"module":14,"status":912},"\u002Finternet-applications\u002Fpresentations\u002F02-php-and-javascript-basics\u002F01-compare-php-and-javascript",{"path":1995,"title":1129,"order":906,"module":14,"status":912},"\u002Finternet-applications\u002Fpresentations\u002F02-php-and-javascript-basics\u002F02-conditions-loops-functions",{"path":1997,"title":1132,"order":899,"module":94,"status":912},"\u002Finternet-applications\u002Fpresentations\u002F03-html-forms-css-and-dom\u002F01-intro-to-html",{"path":1999,"title":1135,"order":906,"module":94,"status":912},"\u002Finternet-applications\u002Fpresentations\u002F03-html-forms-css-and-dom\u002F02-intro-to-forms-and-get-post",{"path":2001,"title":1138,"order":1060,"module":94,"status":912},"\u002Finternet-applications\u002Fpresentations\u002F03-html-forms-css-and-dom\u002F03-understanding-css-js-selectors-and-dom-updates",{"path":2003,"title":1141,"order":899,"module":951,"status":912},"\u002Finternet-applications\u002Fpresentations\u002F04-databases-and-user-accounts\u002F01-intro-to-sql",{"path":2005,"title":1144,"order":906,"module":951,"status":912},"\u002Finternet-applications\u002Fpresentations\u002F04-databases-and-user-accounts\u002F02-project-database-setup",{"path":2007,"title":1147,"order":1060,"module":951,"status":912},"\u002Finternet-applications\u002Fpresentations\u002F04-databases-and-user-accounts\u002F03-user-registration",{"path":2009,"title":1150,"order":1056,"module":951,"status":912},"\u002Finternet-applications\u002Fpresentations\u002F04-databases-and-user-accounts\u002F04-user-login",{"path":2011,"title":1153,"order":899,"module":930,"status":912},"\u002Finternet-applications\u002Fpresentations\u002F05-validation-and-user-profiles\u002F01-intro-to-regex",{"path":2013,"title":1156,"order":906,"module":930,"status":912},"\u002Finternet-applications\u002Fpresentations\u002F05-validation-and-user-profiles\u002F02-project-shared-helpers",{"path":2015,"title":2016,"order":1060,"module":930,"status":912},"\u002Finternet-applications\u002Fpresentations\u002F05-validation-and-user-profiles\u002F03-flash-messages-and-redirect-feedback","Flash Messages And Redirect Feedback",{"path":2018,"title":1162,"order":1056,"module":930,"status":912},"\u002Finternet-applications\u002Fpresentations\u002F05-validation-and-user-profiles\u002F04-user-profile",{"path":2020,"title":1165,"order":899,"module":961,"status":912},"\u002Finternet-applications\u002Fpresentations\u002F06-roles-and-crud-pages\u002F01-user-roles-authorization",{"path":2022,"title":1168,"order":906,"module":961,"status":912},"\u002Finternet-applications\u002Fpresentations\u002F06-roles-and-crud-pages\u002F02-user-login-enhancement",{"path":2024,"title":1171,"order":1060,"module":961,"status":912},"\u002Finternet-applications\u002Fpresentations\u002F06-roles-and-crud-pages\u002F03-dynamic-content",{"path":2026,"title":1174,"order":899,"module":1175,"status":912},"\u002Finternet-applications\u002Fpresentations\u002F07-api-data-and-database-helpers\u002F01-working-with-api-data",{"path":2028,"title":1178,"order":906,"module":1175,"status":912},"\u002Finternet-applications\u002Fpresentations\u002F07-api-data-and-database-helpers\u002F02-api-integration",{"path":2030,"title":1181,"order":1060,"module":1175,"status":912},"\u002Finternet-applications\u002Fpresentations\u002F07-api-data-and-database-helpers\u002F03-database-utility-functions",{"path":2032,"title":1184,"order":899,"module":904,"status":912},"\u002Finternet-applications\u002Fpresentations\u002F08-reusable-components-jquery-and-ajax\u002F01-milestone-2-bootstrap-and-reusability",{"path":907,"title":5,"order":906,"module":904,"status":912},{"path":2035,"title":1189,"order":1060,"module":904,"status":912},"\u002Finternet-applications\u002Fpresentations\u002F08-reusable-components-jquery-and-ajax\u002F03-intro-to-ajax",{"path":2037,"title":1192,"order":899,"module":971,"status":912},"\u002Finternet-applications\u002Fpresentations\u002F09-relational-data-search-and-pagination\u002F01-user-associations",{"path":2039,"title":1195,"order":906,"module":971,"status":912},"\u002Finternet-applications\u002Fpresentations\u002F09-relational-data-search-and-pagination\u002F02-association-views-and-pagination",{"path":2041,"title":1198,"order":899,"module":899,"status":912},"\u002Finternet-applications\u002Fpresentations\u002F10-association-assignment-and-security\u002F01-association-assignment-and-public-profiles",{"path":2043,"title":1201,"order":906,"module":899,"status":912},"\u002Finternet-applications\u002Fpresentations\u002F10-association-assignment-and-security\u002F02-reusable-csrf-protection",{"path":2045,"title":1204,"order":931,"module":981,"status":912},"\u002Finternet-applications\u002Fsyllabus\u002Fsummer-2026",{"path":2047,"title":2048,"order":2049,"module":899,"status":932},"\u002Finternet-applications\u002Fworksheets\u002Ffinal-project-submission-worksheet","Final Project Submission Worksheet","110",{"path":2051,"title":2052,"order":2053,"module":961,"status":932},"\u002Finternet-applications\u002Fworksheets\u002Flegacy-milestone-01-worksheet","Legacy Milestone 1 Worksheet","118",{"path":2055,"title":2056,"order":2057,"module":961,"status":932},"\u002Finternet-applications\u002Fworksheets\u002Flegacy-multi-dimension-php-problems-worksheet","Legacy Multi-Dimension PHP Problems Worksheet","119",{"path":2059,"title":2060,"order":2049,"module":961,"status":932},"\u002Finternet-applications\u002Fworksheets\u002Fmilestone-01-account-access-and-profile-worksheet","IT202 Milestone 1 - 2026",{"path":2062,"title":2063,"order":2064,"module":904,"status":932},"\u002Finternet-applications\u002Fworksheets\u002Fmilestone-02-api-data-and-crud-worksheet","IT202 Milestone 2 - 2026","120",{"path":2066,"title":2067,"order":2068,"module":971,"status":932},"\u002Finternet-applications\u002Fworksheets\u002Fmilestone-03-user-associations-worksheet","IT202 Milestone 3 - 2026","130",{"path":2070,"title":2071,"order":899,"module":931,"status":932},"\u002Finternet-applications\u002Fworksheets\u002Fmodule-01-git-and-local-server-worksheet","Module 1 Worksheet: Git, GitHub, And Local Server Evidence",{"path":2073,"title":2074,"order":906,"module":14,"status":932},"\u002Finternet-applications\u002Fworksheets\u002Fmodule-02-php-and-debugging-worksheet","Module 2 Worksheet: PHP Challenge Scenarios",{"path":2076,"title":2077,"order":1060,"module":94,"status":932},"\u002Finternet-applications\u002Fworksheets\u002Fmodule-03-forms-css-and-dom-worksheet","Module 3 Worksheet: HTML, CSS, JS Challenges",{"path":2079,"title":2080,"order":1056,"module":951,"status":932},"\u002Finternet-applications\u002Fworksheets\u002Fmodule-04-database-auth-and-sessions-worksheet","Module 4 Worksheet: SQL Todo Challenge",{"path":2082,"title":2083,"order":900,"module":930,"status":932},"\u002Finternet-applications\u002Fworksheets\u002Fmodule-05-validation-and-debugging-worksheet","Module 5 Worksheet: Validation And Debugging Evidence",{"path":2085,"title":2086,"order":901,"module":961,"status":932},"\u002Finternet-applications\u002Fworksheets\u002Fmodule-06-authorization-and-crud-worksheet","Module 6 Worksheet: Authorization And CRUD Evidence",{"path":2088,"title":2089,"order":2090,"module":961,"status":932},"\u002Finternet-applications\u002Fworksheets\u002Fmodule-06-multi-dimensional-php-arrays-worksheet","Module 06 Worksheet: Multi-Dimensional PHP Arrays","62",{"path":2092,"title":2093,"order":1111,"module":1175,"status":932},"\u002Finternet-applications\u002Fworksheets\u002Fmodule-07-api-testing-worksheet","Module 07 Worksheet: Project API Testing",{"path":2095,"title":2096,"order":1115,"module":904,"status":932},"\u002Finternet-applications\u002Fworksheets\u002Fmodule-08-jquery-and-dynamic-ui-worksheet","Module 8 Worksheet: jQuery And Dynamic UI Evidence",{"path":2098,"title":2099,"order":1119,"module":971,"status":932},"\u002Finternet-applications\u002Fworksheets\u002Fmodule-09-search-pagination-and-summary-worksheet","Module 9 Worksheet: Search, Pagination, And Summary Evidence",{"path":2101,"title":2102,"order":1123,"module":899,"status":932},"\u002Finternet-applications\u002Fworksheets\u002Fmodule-10-final-project-readiness-worksheet","Module 10 Worksheet: Final Project Readiness Evidence",{"path":2104,"title":1092,"order":899,"module":931,"status":932},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F01-module-1-course-setup\u002F01-basic-cli-commands",{"path":2106,"title":1095,"order":906,"module":931,"status":932},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F01-module-1-course-setup\u002F02-install-git-tools",{"path":2108,"title":1098,"order":1060,"module":931,"status":932},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F01-module-1-course-setup\u002F03-setup-github-ssh",{"path":2110,"title":1101,"order":1056,"module":931,"status":932},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F01-module-1-course-setup\u002F04-git-commands-prs",{"path":2112,"title":2113,"order":900,"module":931,"status":932},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F01-module-1-course-setup\u002F05-course-repo-setup","Course Repository Setup",{"path":2115,"title":2116,"order":901,"module":931,"status":932},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F01-module-1-course-setup\u002F06-java-environment-setup","Java Development Environment Setup",{"path":2118,"title":2119,"order":899,"module":14,"status":932},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F02-module-2-java-basics\u002F01-java-basics","Java Basics",{"path":2121,"title":2122,"order":906,"module":14,"status":932},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F02-module-2-java-basics\u002F02-flow-control","Java Flow Control",{"path":2124,"title":2125,"order":1060,"module":14,"status":932},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F02-module-2-java-basics\u002F03-loops","Java Loops",{"path":2127,"title":2128,"order":1056,"module":14,"status":932},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F02-module-2-java-basics\u002F04-collections","Java Arrays, Queue, Stack, ArrayList",{"path":2130,"title":2131,"order":899,"module":94,"status":932},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F03-module-3-java-io-and-oop\u002F01-user-input","Java User Input",{"path":2133,"title":2134,"order":906,"module":94,"status":932},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F03-module-3-java-io-and-oop\u002F02-oop-modifiers","Java Intro to OOP - Modifiers",{"path":2136,"title":2137,"order":1060,"module":94,"status":932},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F03-module-3-java-io-and-oop\u002F03-file-io","Java File I\u002FO",{"path":2139,"title":2140,"order":1056,"module":94,"status":932},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F03-module-3-java-io-and-oop\u002F04-recursion-trees","Java Recursion and Trees",{"path":2142,"title":2143,"order":899,"module":951,"status":932},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F04-module-4-sockets-and-oop\u002F01-sockets-overview","Java Sockets: Overview",{"path":2145,"title":2146,"order":906,"module":951,"status":932},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F04-module-4-sockets-and-oop\u002F02-oop-intermediate","Java OOP Intermediate",{"path":2148,"title":2149,"order":1060,"module":951,"status":932},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F04-module-4-sockets-and-oop\u002F03-multi-client-chat-part-1","Java Sockets: Multi-Client Chat Server Part 1",{"path":2151,"title":2152,"order":899,"module":930,"status":932},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F05-module-5-multi-client-sockets\u002F01-multi-client-chat-part-2","Java Sockets: Multi-Client Chat Server Part 2",{"path":2154,"title":2155,"order":906,"module":961,"status":932},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F06-module-6-milestone-2-prep\u002F02-prepare-milestone-2-2026","Java Advanced Programming Preparing for Milestone 2",{"path":2157,"title":2158,"order":1060,"module":961,"status":932},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F06-module-6-milestone-2-prep\u002F03-gameserver-ready-check","Java Advanced Programming Milestone 2: GameServer Ready Check",{"path":2160,"title":2161,"order":899,"module":1175,"status":932},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F07-module-7-game-rooms-and-turns\u002F01-game-rooms-ready-check","Java Advanced Programming Milestone 2: GameRooms and Ready Check",{"path":2163,"title":2164,"order":906,"module":1175,"status":932},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F07-module-7-game-rooms-and-turns\u002F02-round-robin-turns","Java Advanced Programming Milestone 2: Turn-based Turns (Round-Robin)",{"path":2166,"title":2167,"order":1060,"module":1175,"status":932},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F07-module-7-game-rooms-and-turns\u002F03-phase-based-turns","Java Advanced Programming Milestone 2: Phase-based Turns",{"path":2169,"title":2170,"order":1056,"module":1175,"status":932},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F07-module-7-game-rooms-and-turns\u002F04-simultaneous-turns","Java Advanced Programming Milestone 2: Simultaneous Turns",{"path":2172,"title":2173,"order":900,"module":1175,"status":932},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F07-module-7-game-rooms-and-turns\u002F05-individual-turns","Java Advanced Programming Milestone 2: Individual Turns",{"path":2175,"title":2176,"order":899,"module":904,"status":932},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F08-module-8-grids-cards-and-ui\u002F01-grid-integration","Java Advanced Programming Milestone 2: Grid Integration",{"path":2178,"title":2179,"order":906,"module":904,"status":932},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F08-module-8-grids-cards-and-ui\u002F02-card-integration","Java Advanced Programming Milestone 2: Cards Integration",{"path":2181,"title":2182,"order":1060,"module":904,"status":932},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F08-module-8-grids-cards-and-ui\u002F03-equals-6-mini-project","Java Advanced Programming Milestone 2: Equals 6 Mini Project",{"path":2184,"title":2185,"order":1056,"module":904,"status":932},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F08-module-8-grids-cards-and-ui\u002F04-nice-day-for-fishin","Java Advanced Programming Milestone 2: Project \"Nice Day For Fishin'\"",{"path":2187,"title":2188,"order":900,"module":904,"status":932},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F08-module-8-grids-cards-and-ui\u002F05-java-ui-intro","Java Advanced Programming Java UI 2025",{"path":2190,"title":2191,"order":899,"module":971,"status":932},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F09-module-9-ui-integration\u002F01-ui-integration-2026","UI Integration 2026",{"path":2193,"title":2194,"order":906,"module":971,"status":932},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F09-module-9-ui-integration\u002F02-ui-drawing","UI Drawing",{"path":2196,"title":2197,"order":1060,"module":971,"status":932},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F09-module-9-ui-integration\u002F03-baseline-ui-integration","Baseline UI Integration",{"path":2199,"title":2200,"order":1056,"module":971,"status":932},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F09-module-9-ui-integration\u002F04-ndff-ui-integration","NDFF UI Integration",{"path":2202,"title":2203,"order":900,"module":971,"status":932},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F09-module-9-ui-integration\u002F05-equals-6-ui","Equals 6 UI",{"path":2205,"title":2206,"order":901,"module":971,"status":932},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F09-module-9-ui-integration\u002F06-popularity-mini-project","Popularity Mini Project",{"path":2208,"title":2209,"order":899,"module":899,"status":932},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F10-module-10-wrap-up-and-deployment\u002F01-milestone-3-wrapup","Milestone 3 Wrapup",{"path":2211,"title":2212,"order":906,"module":899,"status":932},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F10-module-10-wrap-up-and-deployment\u002F02-deploying-java-apps","Deploying Java Apps",{"path":2214,"title":2215,"order":1060,"module":899,"status":932},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F10-module-10-wrap-up-and-deployment\u002F03-ndff-away-spectator","NDFF Away Spectator",{"path":2217,"title":2218,"order":931,"module":981,"status":912},"\u002Fjava-advanced-programming\u002F2e\u002Fsyllabus\u002Ffall-2026","IT114 - Advanced Programming for Information Technology",{"path":2220,"title":2221,"order":899,"module":931,"status":932},"\u002Fjava-advanced-programming\u002Fbook\u002Fmodules\u002F01-course-setup-and-workflow\u002F01-course-tools-and-workflow","Course Tools And Workflow",{"path":2223,"title":2224,"order":906,"module":931,"status":932},"\u002Fjava-advanced-programming\u002Fbook\u002Fmodules\u002F01-course-setup-and-workflow\u002F02-terminal-git-and-github","Terminal, Git, And GitHub Basics",{"path":2226,"title":2227,"order":1060,"module":931,"status":932},"\u002Fjava-advanced-programming\u002Fbook\u002Fmodules\u002F01-course-setup-and-workflow\u002F03-java-development-environment","Java Development Environment",{"path":2229,"title":2230,"order":899,"module":14,"status":932},"\u002Fjava-advanced-programming\u002Fbook\u002Fmodules\u002F02-java-basics\u002F01-java-program-shape","The Shape Of A Java Program",{"path":2232,"title":2233,"order":906,"module":14,"status":932},"\u002Fjava-advanced-programming\u002Fbook\u002Fmodules\u002F02-java-basics\u002F02-values-types-and-expressions","Values, Types, And Expressions",{"path":2235,"title":2236,"order":1060,"module":14,"status":932},"\u002Fjava-advanced-programming\u002Fbook\u002Fmodules\u002F02-java-basics\u002F03-conditions-loops-and-collections","Conditions, Loops, And Collections",{"path":2238,"title":2239,"order":899,"module":94,"status":932},"\u002Fjava-advanced-programming\u002Fbook\u002Fmodules\u002F03-java-input-io-and-oop\u002F01-user-input-and-output","User Input And Program Output",{"path":2241,"title":2242,"order":906,"module":94,"status":932},"\u002Fjava-advanced-programming\u002Fbook\u002Fmodules\u002F03-java-input-io-and-oop\u002F02-classes-objects-and-modifiers","Classes, Objects, And Modifiers",{"path":2244,"title":2245,"order":1060,"module":94,"status":932},"\u002Fjava-advanced-programming\u002Fbook\u002Fmodules\u002F03-java-input-io-and-oop\u002F03-file-io-paths-and-exceptions","File I\u002FO, Paths, And Exceptions",{"path":2247,"title":2248,"order":1056,"module":94,"status":932},"\u002Fjava-advanced-programming\u002Fbook\u002Fmodules\u002F03-java-input-io-and-oop\u002F04-recursion-and-trees","Recursion And Tree Thinking",{"path":2250,"title":2251,"order":899,"module":951,"status":932},"\u002Fjava-advanced-programming\u002Fbook\u002Fmodules\u002F04-sockets-and-oop\u002F01-sockets-client-server","Sockets And Client\u002FServer Thinking",{"path":2253,"title":2254,"order":906,"module":951,"status":932},"\u002Fjava-advanced-programming\u002Fbook\u002Fmodules\u002F04-sockets-and-oop\u002F02-server-socket-flow","The ServerSocket Flow",{"path":2256,"title":2257,"order":1060,"module":951,"status":932},"\u002Fjava-advanced-programming\u002Fbook\u002Fmodules\u002F04-sockets-and-oop\u002F03-oop-for-socket-apps","OOP For Socket Applications",{"path":2259,"title":2260,"order":899,"module":930,"status":932},"\u002Fjava-advanced-programming\u002Fbook\u002Fmodules\u002F05-multi-client-sockets\u002F01-multi-client-server-shape","Multi-Client Server Shape",{"path":2262,"title":2263,"order":906,"module":930,"status":932},"\u002Fjava-advanced-programming\u002Fbook\u002Fmodules\u002F05-multi-client-sockets\u002F02-threads-shared-state-and-message-routing","Threads, Shared State, And Message Routing",{"path":2265,"title":2266,"order":1060,"module":930,"status":932},"\u002Fjava-advanced-programming\u002Fbook\u002Fmodules\u002F05-multi-client-sockets\u002F03-debugging-socket-programs","Debugging Socket Programs",{"path":2268,"title":2269,"order":981,"module":981,"status":932},"\u002Fjava-advanced-programming\u002Fbook\u002Ftoc","Java Advanced Programming: Table of Contents",{"path":2271,"title":2272,"order":910,"module":910,"status":932},"\u002Fjava-advanced-programming\u002Fpresentations-revised\u002F00-revision-plan","Java Advanced Programming Presentation Revision Plan",{"path":2274,"title":2275,"order":910,"module":910,"status":932},"\u002Fjava-advanced-programming\u002Fpresentations-revised\u002F01-20-minute-recording-plan","Java Advanced Programming Twenty-Minute Recording Plan",{"path":2277,"title":1092,"order":899,"module":931,"status":932},"\u002Fjava-advanced-programming\u002Fpresentations\u002F01-module-1-course-setup\u002F01-basic-cli-commands",{"path":2279,"title":1095,"order":906,"module":931,"status":932},"\u002Fjava-advanced-programming\u002Fpresentations\u002F01-module-1-course-setup\u002F02-install-git-tools",{"path":2281,"title":1098,"order":1060,"module":931,"status":932},"\u002Fjava-advanced-programming\u002Fpresentations\u002F01-module-1-course-setup\u002F03-setup-github-ssh",{"path":2283,"title":1101,"order":1056,"module":931,"status":932},"\u002Fjava-advanced-programming\u002Fpresentations\u002F01-module-1-course-setup\u002F04-git-commands-prs",{"path":2285,"title":2113,"order":900,"module":931,"status":932},"\u002Fjava-advanced-programming\u002Fpresentations\u002F01-module-1-course-setup\u002F05-course-repo-setup",{"path":2287,"title":2116,"order":901,"module":931,"status":932},"\u002Fjava-advanced-programming\u002Fpresentations\u002F01-module-1-course-setup\u002F06-java-environment-setup",{"path":2289,"title":2119,"order":899,"module":14,"status":932},"\u002Fjava-advanced-programming\u002Fpresentations\u002F02-module-2-java-basics\u002F01-java-basics",{"path":2291,"title":2122,"order":906,"module":14,"status":932},"\u002Fjava-advanced-programming\u002Fpresentations\u002F02-module-2-java-basics\u002F02-flow-control",{"path":2293,"title":2125,"order":1060,"module":14,"status":932},"\u002Fjava-advanced-programming\u002Fpresentations\u002F02-module-2-java-basics\u002F03-loops",{"path":2295,"title":2128,"order":1056,"module":14,"status":932},"\u002Fjava-advanced-programming\u002Fpresentations\u002F02-module-2-java-basics\u002F04-collections",{"path":2297,"title":2131,"order":899,"module":94,"status":932},"\u002Fjava-advanced-programming\u002Fpresentations\u002F03-module-3-java-io-and-oop\u002F01-user-input",{"path":2299,"title":2134,"order":906,"module":94,"status":932},"\u002Fjava-advanced-programming\u002Fpresentations\u002F03-module-3-java-io-and-oop\u002F02-oop-modifiers",{"path":2301,"title":2137,"order":1060,"module":94,"status":932},"\u002Fjava-advanced-programming\u002Fpresentations\u002F03-module-3-java-io-and-oop\u002F03-file-io",{"path":2303,"title":2140,"order":1056,"module":94,"status":932},"\u002Fjava-advanced-programming\u002Fpresentations\u002F03-module-3-java-io-and-oop\u002F04-recursion-trees",{"path":2305,"title":2143,"order":899,"module":951,"status":932},"\u002Fjava-advanced-programming\u002Fpresentations\u002F04-module-4-sockets-and-oop\u002F01-sockets-overview",{"path":2307,"title":2146,"order":906,"module":951,"status":932},"\u002Fjava-advanced-programming\u002Fpresentations\u002F04-module-4-sockets-and-oop\u002F02-oop-intermediate",{"path":2309,"title":2149,"order":1060,"module":951,"status":932},"\u002Fjava-advanced-programming\u002Fpresentations\u002F04-module-4-sockets-and-oop\u002F03-multi-client-chat-part-1",{"path":2311,"title":2152,"order":899,"module":930,"status":932},"\u002Fjava-advanced-programming\u002Fpresentations\u002F05-module-5-multi-client-sockets\u002F01-multi-client-chat-part-2",{"path":2313,"title":2314,"order":899,"module":961,"status":932},"\u002Fjava-advanced-programming\u002Fpresentations\u002F06-module-6-milestone-2-prep\u002F01-prepare-milestone-2-2025","Java Advanced Programming Preparing for Milestone2 2025",{"path":2316,"title":2155,"order":906,"module":961,"status":932},"\u002Fjava-advanced-programming\u002Fpresentations\u002F06-module-6-milestone-2-prep\u002F02-prepare-milestone-2-2026",{"path":2318,"title":2158,"order":1060,"module":961,"status":932},"\u002Fjava-advanced-programming\u002Fpresentations\u002F06-module-6-milestone-2-prep\u002F03-gameserver-ready-check",{"path":2320,"title":2161,"order":899,"module":1175,"status":932},"\u002Fjava-advanced-programming\u002Fpresentations\u002F07-module-7-game-rooms-and-turns\u002F01-game-rooms-ready-check",{"path":2322,"title":2164,"order":906,"module":1175,"status":932},"\u002Fjava-advanced-programming\u002Fpresentations\u002F07-module-7-game-rooms-and-turns\u002F02-round-robin-turns",{"path":2324,"title":2167,"order":1060,"module":1175,"status":932},"\u002Fjava-advanced-programming\u002Fpresentations\u002F07-module-7-game-rooms-and-turns\u002F03-phase-based-turns",{"path":2326,"title":2170,"order":1056,"module":1175,"status":932},"\u002Fjava-advanced-programming\u002Fpresentations\u002F07-module-7-game-rooms-and-turns\u002F04-simultaneous-turns",{"path":2328,"title":2173,"order":900,"module":1175,"status":932},"\u002Fjava-advanced-programming\u002Fpresentations\u002F07-module-7-game-rooms-and-turns\u002F05-individual-turns",{"path":2330,"title":2176,"order":899,"module":904,"status":932},"\u002Fjava-advanced-programming\u002Fpresentations\u002F08-module-8-grids-cards-and-ui\u002F01-grid-integration",{"path":2332,"title":2179,"order":906,"module":904,"status":932},"\u002Fjava-advanced-programming\u002Fpresentations\u002F08-module-8-grids-cards-and-ui\u002F02-card-integration",{"path":2334,"title":2182,"order":1060,"module":904,"status":932},"\u002Fjava-advanced-programming\u002Fpresentations\u002F08-module-8-grids-cards-and-ui\u002F03-equals-6-mini-project",{"path":2336,"title":2185,"order":1056,"module":904,"status":932},"\u002Fjava-advanced-programming\u002Fpresentations\u002F08-module-8-grids-cards-and-ui\u002F04-nice-day-for-fishin",{"path":2338,"title":2188,"order":900,"module":904,"status":932},"\u002Fjava-advanced-programming\u002Fpresentations\u002F08-module-8-grids-cards-and-ui\u002F05-java-ui-intro",{"path":2340,"title":2191,"order":899,"module":971,"status":932},"\u002Fjava-advanced-programming\u002Fpresentations\u002F09-module-9-ui-integration\u002F01-ui-integration-2026",{"path":2342,"title":2194,"order":906,"module":971,"status":932},"\u002Fjava-advanced-programming\u002Fpresentations\u002F09-module-9-ui-integration\u002F02-ui-drawing",{"path":2344,"title":2197,"order":1060,"module":971,"status":932},"\u002Fjava-advanced-programming\u002Fpresentations\u002F09-module-9-ui-integration\u002F03-baseline-ui-integration",{"path":2346,"title":2200,"order":1056,"module":971,"status":932},"\u002Fjava-advanced-programming\u002Fpresentations\u002F09-module-9-ui-integration\u002F04-ndff-ui-integration",{"path":2348,"title":2203,"order":900,"module":971,"status":932},"\u002Fjava-advanced-programming\u002Fpresentations\u002F09-module-9-ui-integration\u002F05-equals-6-ui",{"path":2350,"title":2206,"order":901,"module":971,"status":932},"\u002Fjava-advanced-programming\u002Fpresentations\u002F09-module-9-ui-integration\u002F06-popularity-mini-project",{"path":2352,"title":2209,"order":899,"module":899,"status":932},"\u002Fjava-advanced-programming\u002Fpresentations\u002F10-module-10-wrap-up-and-deployment\u002F01-milestone-3-wrapup",{"path":2354,"title":2212,"order":906,"module":899,"status":932},"\u002Fjava-advanced-programming\u002Fpresentations\u002F10-module-10-wrap-up-and-deployment\u002F02-deploying-java-apps",{"path":2356,"title":2215,"order":1060,"module":899,"status":932},"\u002Fjava-advanced-programming\u002Fpresentations\u002F10-module-10-wrap-up-and-deployment\u002F03-ndff-away-spectator",{"path":2358,"title":2359,"order":899,"module":931,"status":932},"\u002Fsystems-integration\u002F2e\u002Fpresentations\u002F01-required-architecture-overview","Required Architecture Overview",{"path":2361,"title":2362,"order":931,"module":981,"status":912},"\u002Fsystems-integration\u002F2e\u002Fsyllabus\u002Ffall-2026","IT490 - Systems Integration Syllabus",{"path":2364,"title":2365,"order":931,"module":981,"status":912},"\u002Fsystems-integration","Systems Integration",{"path":2367,"title":2368,"order":910,"module":910,"status":932},"\u002Fsystems-integration\u002Fpresentations-revised\u002F00-revision-plan","Systems Integration Presentation Revision Plan",{"path":2370,"title":2371,"order":910,"module":910,"status":932},"\u002Fsystems-integration\u002Fpresentations-revised\u002F01-20-minute-recording-plan","Systems Integration Twenty-Minute Recording Plan",{"path":2373,"title":2359,"order":899,"module":931,"status":912},"\u002Fsystems-integration\u002Fpresentations\u002F01-required-architecture-overview",{"path":2375,"title":2362,"order":931,"module":981,"status":912},"\u002Fsystems-integration\u002Fsyllabus\u002Fsummer-2026",{"path":2377,"title":2378,"order":910,"module":910,"status":910},"\u002Fsystems-integration\u002Fworksheets\u002Fit490-authentication-authorization-core-2026-draft","IT490 Authentication and Authorization Core Milestone (2026)",{"path":2380,"title":2381,"order":910,"module":910,"status":910},"\u002Fsystems-integration\u002Fworksheets\u002Fit490-centralized-logging-milestone-draft","IT490 Centralized Logging Milestone",{"path":2383,"title":2384,"order":910,"module":910,"status":910},"\u002Fsystems-integration\u002Fworksheets\u002Fit490-milestone-3-resiliency-2026-draft","IT490 Milestone 3 - Deployment, Promotion, And Recovery",{"path":2386,"title":2387,"order":910,"module":910,"status":910},"\u002Fsystems-integration\u002Fworksheets\u002Fit490-milestone-4-availability-2026-draft","IT490 Milestone 4 - Availability, Load Balancing, And Recovery",{"path":2389,"title":2390,"order":906,"module":981,"status":932},"\u002Fsystems-integration\u002Fworksheets\u002Fmeeting-minutes-template","IT490 Meeting Minutes Template",{"path":2392,"title":2393,"order":1060,"module":981,"status":932},"\u002Fsystems-integration\u002Fworksheets\u002Fproject-changelog-template","IT490 Project Change Log Template",{"path":2395,"title":2396,"order":899,"module":981,"status":932},"\u002Fsystems-integration\u002Fworksheets\u002Fproject-proposal-template","IT490 Project Proposal Template",1788152086835]