[{"data":1,"prerenderedAt":2604},["ShallowReactive",2],{"content-page:\u002Fgeneral\u002F2e\u002Fpresentations\u002F06-trace-learning-journal":3,"content-page-quiz:none":616,"content-navigation-index":645,"toc-page:\u002Fgeneral\u002F2e\u002Fpresentations\u002F06-trace-learning-journal":2192},{"id":4,"title":5,"audience":6,"body":7,"contentType":614,"course":615,"courseId":616,"description":617,"estimateBasis":618,"estimatedDiscussionMinutes":619,"estimatedLiveMinutes":620,"estimatedRecordingMinutes":621,"estimatedTitleSeconds":616,"estimatedTotalMinutes":622,"estimatedTraceMinutes":619,"extension":623,"meta":624,"module":629,"navigation":630,"order":39,"path":631,"presentationRole":632,"promptAssist":625,"revision":633,"semester":616,"seo":634,"status":635,"stem":636,"syllabus":616,"tags":637,"updated":643,"videoDuration":616,"videoId":616,"videoLink":616,"videoTitle":616,"week":629,"__hash__":644},"content\u002Fgeneral\u002F2e\u002Fpresentations\u002F06-trace-learning-journal.md","TRACE Learning Journal Foundations","student",{"type":8,"value":9,"toc":592},"minimark",[10,37,62,141,169,219,267,300,338,374,400,424,447,469,499,522,572],[11,12,16,21],"slide",{"estimated-seconds":13,"id":14,"level":15},"40","outcome","2",[17,18,20],"h2",{"id":19},"objectives","Objectives",[22,23,24,28,31,34],"ul",{},[25,26,27],"li",{},"Explain the five parts of TRACE",[25,29,30],{},"Record one focused learning or troubleshooting difficulty briefly",[25,32,33],{},"Bring the record to class, office hours, or tutoring for focused help",[25,35,36],{},"Distinguish a TRACE journal from a separate learning check",[11,38,41,45],{"estimated-seconds":39,"id":40,"level":15},"60","core-idea",[17,42,44],{"id":43},"why-keep-a-brief-journal","Why Keep A Brief Journal?",[22,46,47,50,53,56,59],{},[25,48,49],{},"Difficult moments are easier to revisit when the details are still clear",[25,51,52],{},"A short record shows the issue you encountered, the sources you reviewed, and what happened next",[25,54,55],{},"The record gives a helper a useful starting point instead of only \"it does not work\"",[25,57,58],{},"TRACE supports learning and troubleshooting; it is not proof of authorship",[25,60,61],{},"It is not a tool for policing AI use or tracking every tool interaction",[11,63,66,70],{"estimated-seconds":64,"id":65,"level":15},"90","trace-route",[17,67,69],{"id":68},"trace-five-connected-steps","TRACE: Five Connected Steps",[71,72,73,86],"table",{},[74,75,76],"thead",{},[77,78,79,83],"tr",{},[80,81,82],"th",{},"Step",[80,84,85],{},"Record briefly",[87,88,89,101,111,121,131],"tbody",{},[77,90,91,98],{},[92,93,94],"td",{},[95,96,97],"strong",{},"Target",[92,99,100],{},"What focused, researchable question comes from the problem, issue, or uncertainty you encountered?",[77,102,103,108],{},[92,104,105],{},[95,106,107],{},"Research",[92,109,110],{},"Which instructions, examples, messages, or other sources did you explore and review?",[77,112,113,118],{},[92,114,115],{},[95,116,117],{},"Attempt",[92,119,120],{},"After interpreting that research, what is the smallest reasonable action to try, and what happened?",[77,122,123,128],{},[92,124,125],{},[95,126,127],{},"Consult",[92,129,130],{},"If the attempt did not resolve the issue or left a meaningful uncertainty, what focused question did you ask and what help did you receive?",[77,132,133,138],{},[92,134,135],{},[95,136,137],{},"Evaluate",[92,139,140],{},"How did you check, revise, explain, and apply what the whole process showed? Did it reveal a new question for another TRACE?",[11,142,145,149],{"estimated-seconds":143,"id":144,"level":15},"70","journal-expectations",[17,146,148],{"id":147},"keep-the-entry-useful-and-brief","Keep The Entry Useful And Brief",[22,150,151,154,157,160,163,166],{},[25,152,153],{},"Choose one focused difficulty, not an entire project or week",[25,155,156],{},"Write enough detail to restart the work or explain the issue to someone else",[25,158,159],{},"Create an entry when a difficult problem would benefit from a record",[25,161,162],{},"There is no daily or weekly entry quota",[25,164,165],{},"Bring the entry to class, office hours, or tutoring when you want focused help",[25,167,168],{},"Leave out passwords, access keys, and unnecessary personal information",[11,170,173,177,215],{"estimated-seconds":171,"id":172,"level":15},"50","journal-and-check",[17,174,176],{"id":175},"journal-and-learning-check-are-different","Journal And Learning Check Are Different",[71,178,179,189],{},[74,180,181],{},[77,182,183,186],{},[80,184,185],{},"TRACE journal",[80,187,188],{},"Separate learning check",[87,190,191,199,207],{},[77,192,193,196],{},[92,194,195],{},"Records the path through one difficulty",[92,197,198],{},"Checks what you currently understand or can do",[77,200,201,204],{},[92,202,203],{},"Supports troubleshooting and focused help",[92,205,206],{},"Uses its own question, explanation, or task",[77,208,209,212],{},[92,210,211],{},"May show uncertainty and an unfinished next step",[92,213,214],{},"Produces evidence for that specific check",[216,217,218],"p",{},"One does not replace the other",[11,220,223,227,264],{"estimated-seconds":221,"id":222,"level":15},"120","worked-example",[17,224,226],{"id":225},"trace-example-a-file-upload-is-rejected","TRACE Example: A File Upload Is Rejected",[22,228,229,240,246,252,258],{},[25,230,231,234,235,239],{},[95,232,233],{},"Target:"," Why does the course site reject my report with ",[236,237,238],"code",{},"Unsupported file type","?",[25,241,242,245],{},[95,243,244],{},"Research:"," Read the exact message, review the submission instructions, and confirm that the required format is PDF",[25,247,248,251],{},[95,249,250],{},"Attempt:"," The instructions require PDF, so export the document, open the exported file locally, and upload that file",[25,253,254,257],{},[95,255,256],{},"Consult:"," The PDF still fails after the researched attempt, so ask, \"Which file detail should I inspect next?\"",[25,259,260,263],{},[95,261,262],{},"Evaluate:"," Check that the corrected file uploaded and a receipt appeared, explain the relevant file requirement, and apply it next time; begin a new TRACE if another uncertainty remains",[216,265,266],{},"The entry preserves the evidence and result without becoming a full activity log",[11,268,270,274,277,283,286,297],{"estimated-seconds":39,"id":269,"level":15},"check",[17,271,273],{"id":272},"turn-a-vague-problem-into-focused-help","Turn A Vague Problem Into Focused Help",[216,275,276],{},"Instead of:",[278,279,280],"blockquote",{},[216,281,282],{},"My upload does not work. What do I do?",[216,284,285],{},"Bring three useful details:",[22,287,288,291,294],{},[25,289,290],{},"The focused question created from the problem or uncertainty",[25,292,293],{},"The credible sources you reviewed",[25,295,296],{},"How you interpreted that research, the action you tried, and its result",[216,298,299],{},"Then ask one question about the remaining uncertainty",[11,301,304,308],{"estimated-seconds":302,"id":303,"level":15},"55","knowledge-check",[17,305,307],{"id":306},"knowledge-check-12","Knowledge Check 1\u002F2",[303,309,310,326],{},[311,312,314],"template",{"v-slot:questions":313},"",[315,316,317,320,323],"ol",{},[25,318,319],{},"What belongs in Target?",[25,321,322],{},"What does Research do before an Attempt?",[25,324,325],{},"What should Attempt record after the research?",[311,327,328,332,335],{"v-slot:answers":313},[329,330,331],"knowledge-answer",{},"A focused, researchable question created from the specific problem, issue, or uncertainty you encountered",[329,333,334],{},"It explores and reviews relevant instructions, examples, messages, or other sources",[329,336,337],{},"How you interpreted the research, the smallest reasonable action you tried, and the result",[11,339,343,348],{"estimated-seconds":340,"id":341,"level":342},"45","knowledge-check-2","3",[344,345,347],"h3",{"id":346},"knowledge-check-22","Knowledge Check 2\u002F2",[303,349,350,363],{},[311,351,352],{"v-slot:questions":313},[315,353,354,357,360],{},[25,355,356],{},"When does Consult belong in the TRACE process?",[25,358,359],{},"What does Evaluate consider?",[25,361,362],{},"What can happen after Evaluate?",[311,364,365,368,371],{"v-slot:answers":313},[329,366,367],{},"After a researched attempt fails or leaves a meaningful uncertainty; record a focused question and the useful help received",[329,369,370],{},"How you checked, revised, explained, and applied what the whole path showed",[329,372,373],{},"A new TRACE can begin when the evaluation identifies a new focused question",[11,375,379,383,386],{"estimated-seconds":376,"id":377,"level":15,"trace":378},"30","trace-practice","true",[17,380,382],{"id":381},"trace-ex-1-optional-git-push-walkthrough","TRACE Ex. 1: Optional Git Push Walkthrough",[216,384,385],{},"Practice turning a rejected Git push into a five-part journal entry",[22,387,388,391,394,397],{},[25,389,390],{},"Optional practice: 5 minutes total",[25,392,393],{},"Keep each response to one or two useful sentences",[25,395,396],{},"See the optional slides below for Target, Research, Attempt, Consult, and Evaluate",[25,398,399],{},"Do not create a real Git problem just to practice this example",[11,401,404,408,411,416],{"estimated-seconds":402,"id":403,"level":342,"trace":378},"54","trace-practice-target",[17,405,407],{"id":406},"optional-practice-target","Optional Practice: Target",[216,409,410],{},"Turn the encountered issue into a focused, researchable question:",[278,412,413],{},[216,414,415],{},"Why did Git reject my push, and what needs to happen before I can push safely?",[22,417,418,421],{},[25,419,420],{},"Start from the specific problem, issue, or uncertainty",[25,422,423],{},"Keep the question narrow enough to investigate",[11,425,427,431,434,439],{"estimated-seconds":402,"id":426,"level":342,"trace":378},"trace-practice-research",[17,428,430],{"id":429},"optional-practice-research","Optional Practice: Research",[216,432,433],{},"Explore credible sources connected to the question and interpret what they mean:",[435,436],"code-snippet",{"language":437,"src":438},"text","\u002Fgenerated-snippets\u002Fgeneral\u002F2e\u002Fpresentations\u002F06-trace-learning-journal\u002Foptional-practice-resear-01.txt",[22,440,441,444],{},[25,442,443],{},"Use the exact message as one source of evidence",[25,445,446],{},"Note what the sources answer and what remains uncertain before attempting a fix",[11,448,450,454,457,461],{"estimated-seconds":402,"id":449,"level":342,"trace":378},"trace-practice-attempt",[17,451,453],{"id":452},"optional-practice-attempt","Optional Practice: Attempt",[216,455,456],{},"After interpreting the research, record the smallest reasonable action and its result:",[435,458],{"language":459,"src":460},"bash","\u002Fgenerated-snippets\u002Fgeneral\u002F2e\u002Fpresentations\u002F06-trace-learning-journal\u002Foptional-practice-attemp-02.sh",[22,462,463,466],{},[25,464,465],{},"Git says the remote branch has newer work, so update the local branch before retrying the push",[25,467,468],{},"If Git reports a conflict, resolve that separately before the final push",[11,470,472,476,479,491],{"estimated-seconds":402,"id":471,"level":342,"trace":378},"trace-practice-consult",[17,473,475],{"id":474},"optional-practice-consult","Optional Practice: Consult",[216,477,478],{},"Consult after the researched attempt does not resolve the issue or leaves a meaningful uncertainty:",[278,480,481],{},[216,482,483,486,487,490],{},[236,484,485],{},"git pull origin main"," reported a conflict in ",[236,488,489],{},"README.md",". Which version should the final file keep?",[22,492,493,496],{},[25,494,495],{},"Share the useful Target, Research, and Attempt details",[25,497,498],{},"Record the focused help you receive",[11,500,502,506,509,514],{"estimated-seconds":402,"id":501,"level":342,"trace":378},"trace-practice-evaluate",[17,503,505],{"id":504},"optional-practice-evaluate","Optional Practice: Evaluate",[216,507,508],{},"Evaluate the whole path: check the result, explain what it showed, and apply it next time:",[278,510,511],{},[216,512,513],{},"The rejected push led to a pull, conflict resolution, and a successful final push. GitHub shows the commit. This shows why remote work must be integrated before a push. Begin a new TRACE if another focused question appears.",[22,515,516,519],{},[25,517,518],{},"State how you checked, explained, and applied the result",[25,520,521],{},"If it reveals a new focused question, begin a new TRACE",[11,523,525,529,546,549],{"estimated-seconds":39,"id":524,"level":15},"review-resources",[17,526,528],{"id":527},"key-terms-and-further-learning","Key Terms And Further Learning",[22,530,531,536,541],{},[25,532,533,535],{},[95,534,233],{}," The focused question formed from a specific difficulty.",[25,537,538,540],{},[95,539,250],{}," A small action based on research, with its observed result recorded.",[25,542,543,545],{},[95,544,262],{}," A check of what worked, why, and what question remains.",[216,547,548],{},"Further Learning:",[22,550,551,560,566],{},[25,552,553],{},[554,555,559],"a",{"href":556,"rel":557},"https:\u002F\u002Fjournal.ethereallab.app\u002F",[558],"nofollow","Open the TRACE journal",[25,561,562],{},[554,563,565],{"href":564},"\u002Fdownloads\u002Ftrace\u002FStudent-TRACE-Journal-Word.docx","Download the Word journal template",[25,567,568],{},[554,569,571],{"href":570},"\u002Fdownloads\u002Ftrace\u002FStudent-TRACE-Journal-Google-Docs-Import.docx","Download the Google Docs import-ready journal",[11,573,575,578],{"estimated-seconds":13,"id":574,"level":15},"summary",[17,576,577],{"id":574},"Summary",[22,579,580,583,586,589],{},[25,581,582],{},"TRACE turns an encountered issue into a focused question, then moves through Research, Attempt, Consult when needed, and Evaluate",[25,584,585],{},"One brief entry captures one focused difficulty; there is no daily or weekly quota",[25,587,588],{},"The journal supports learning, troubleshooting, and focused help rather than proving authorship or policing AI use",[25,590,591],{},"Evaluation checks, explains, and applies the result; it can also identify the next focused question for a new TRACE",{"title":313,"searchDepth":593,"depth":593,"links":594},2,[595,596,597,598,599,600,601,602,606,607,608,609,610,611,612,613],{"id":19,"depth":593,"text":20},{"id":43,"depth":593,"text":44},{"id":68,"depth":593,"text":69},{"id":147,"depth":593,"text":148},{"id":175,"depth":593,"text":176},{"id":225,"depth":593,"text":226},{"id":272,"depth":593,"text":273},{"id":306,"depth":593,"text":307,"children":603},[604],{"id":346,"depth":605,"text":347},3,{"id":381,"depth":593,"text":382},{"id":406,"depth":593,"text":407},{"id":429,"depth":593,"text":430},{"id":452,"depth":593,"text":453},{"id":474,"depth":593,"text":475},{"id":504,"depth":593,"text":505},{"id":527,"depth":593,"text":528},{"id":574,"depth":593,"text":577},"presentation","general",null,"Use a brief TRACE entry to work through one focused difficulty and ask for useful help.","The required recording path is about 12 minutes. Live timing includes brief discussion; the optional TRACE practice adds 5 minutes and is reported separately.","5","20","12","25","md",{"requiresLessonBranchCheckpoint":625,"sourcePresentations":626,"revisionStatus":628},false,[627],"_authoring\u002Faudits\u002Fceie-conference-design-source-inventory.md","reviewed","1",true,"\u002Fgeneral\u002F2e\u002Fpresentations\u002F06-trace-learning-journal","Core","4",{"title":5,"description":617},"published","general\u002F2e\u002Fpresentations\u002F06-trace-learning-journal",[638,639,640,641,642],"trace","learning-journal","troubleshooting","shared-foundations","second-edition","2026-09-24","0x8h8Tr5sLMbsG2-a0akKllL6zHDnWXMnxnZIwl-9Sg",[646,649,653,656,659,662,665,668,671,674,677,680,683,687,691,695,698,702,705,708,712,716,719,723,727,730,733,736,739,742,745,747,749,751,753,755,757,759,762,765,768,772,775,778,781,784,787,790,793,796,799,802,805,808,811,814,817,820,823,826,829,830,833,835,838,841,844,847,850,853,856,859,863,866,870,873,876,879,882,885,888,891,894,897,900,903,906,909,912,915,918,921,924,927,930,933,936,939,942,945,948,951,954,957,961,964,967,970,973,976,979,982,985,988,991,994,997,1000,1003,1006,1009,1012,1015,1018,1021,1024,1027,1030,1033,1036,1039,1042,1045,1048,1051,1054,1057,1060,1063,1066,1069,1072,1075,1078,1081,1084,1087,1090,1093,1096,1099,1102,1105,1108,1111,1114,1117,1120,1123,1126,1129,1132,1135,1138,1141,1144,1147,1150,1153,1156,1159,1162,1165,1168,1171,1174,1177,1180,1183,1186,1189,1192,1195,1198,1201,1204,1207,1210,1213,1216,1219,1222,1225,1228,1231,1234,1237,1240,1243,1246,1249,1252,1255,1258,1261,1264,1267,1270,1273,1276,1279,1282,1285,1288,1291,1294,1297,1300,1303,1306,1309,1312,1315,1319,1322,1325,1328,1331,1334,1337,1340,1343,1346,1349,1352,1355,1358,1361,1364,1367,1370,1373,1376,1379,1382,1385,1388,1391,1394,1397,1400,1403,1406,1409,1412,1415,1418,1421,1424,1427,1430,1433,1436,1439,1442,1445,1448,1451,1454,1457,1460,1463,1466,1469,1472,1475,1478,1481,1484,1487,1490,1493,1496,1499,1502,1505,1508,1511,1514,1517,1520,1523,1526,1529,1532,1535,1538,1541,1544,1547,1550,1553,1556,1559,1562,1565,1568,1571,1574,1577,1580,1583,1586,1589,1592,1595,1598,1601,1604,1607,1610,1613,1616,1619,1622,1625,1628,1631,1634,1637,1640,1643,1646,1649,1652,1655,1658,1661,1664,1667,1670,1673,1676,1679,1682,1685,1688,1691,1694,1697,1700,1704,1707,1710,1713,1716,1719,1722,1724,1727,1730,1733,1736,1739,1741,1743,1745,1748,1750,1752,1754,1756,1758,1760,1762,1764,1766,1768,1770,1772,1775,1777,1779,1781,1783,1785,1787,1789,1791,1793,1795,1797,1799,1801,1803,1805,1809,1813,1817,1820,1823,1827,1830,1833,1836,1839,1842,1845,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,1951,1954,1957,1960,1963,1966,1969,1972,1975,1978,1981,1984,1987,1990,1992,1995,1998,2001,2004,2007,2010,2013,2016,2019,2022,2025,2028,2031,2034,2037,2040,2043,2046,2049,2052,2054,2056,2058,2060,2063,2066,2068,2070,2072,2074,2076,2078,2080,2082,2084,2086,2088,2090,2093,2096,2099,2101,2103,2105,2107,2109,2111,2113,2115,2117,2119,2121,2123,2125,2127,2129,2131,2133,2135,2137,2140,2143,2146,2149,2152,2155,2158,2161,2164,2167,2169,2171,2174,2177,2180,2183,2186,2189],{"path":647,"title":648,"order":616,"module":616,"status":616},"\u002Fabout","About Content Version 3",{"path":650,"title":651,"order":652,"module":629,"status":635},"\u002Fgame-architecture-and-design\u002F2e\u002Fpresentations\u002F01-introduction\u002F01-what-is-a-game","What is a Game?","10",{"path":654,"title":655,"order":620,"module":629,"status":635},"\u002Fgame-architecture-and-design\u002F2e\u002Fpresentations\u002F01-introduction\u002F02-what-is-gameplay","What is Gameplay?",{"path":657,"title":658,"order":652,"module":15,"status":635},"\u002Fgame-architecture-and-design\u002F2e\u002Fpresentations\u002F02-design-journal-and-treatment\u002F01-first-concept","First Concept, Journal, and Treatments",{"path":660,"title":661,"order":620,"module":15,"status":635},"\u002Fgame-architecture-and-design\u002F2e\u002Fpresentations\u002F02-design-journal-and-treatment\u002F02-concept-workshop","Concept Workshop: Pitch, Feedback, and Selection",{"path":663,"title":664,"order":652,"module":342,"status":635},"\u002Fgame-architecture-and-design\u002F2e\u002Fpresentations\u002F03-game-balance\u002F01-game-balance","Game Balance",{"path":666,"title":667,"order":620,"module":342,"status":635},"\u002Fgame-architecture-and-design\u002F2e\u002Fpresentations\u002F03-game-balance\u002F02-case-study-evaluation","Case Study Evaluation",{"path":669,"title":670,"order":652,"module":633,"status":635},"\u002Fgame-architecture-and-design\u002F2e\u002Fpresentations\u002F04-look-and-feel\u002F01-color-theory","Game Design: Color Theory",{"path":672,"title":673,"order":620,"module":633,"status":635},"\u002Fgame-architecture-and-design\u002F2e\u002Fpresentations\u002F04-look-and-feel\u002F02-look-and-feel","Game Design - Look and Feel",{"path":675,"title":676,"order":652,"module":619,"status":635},"\u002Fgame-architecture-and-design\u002F2e\u002Fpresentations\u002F05-game-mechanics\u002F01-game-mechanics","Game Mechanics",{"path":678,"title":679,"order":620,"module":619,"status":635},"\u002Fgame-architecture-and-design\u002F2e\u002Fpresentations\u002F05-game-mechanics\u002F02-decks","Technical: Decks and Cards",{"path":681,"title":682,"order":376,"module":619,"status":635},"\u002Fgame-architecture-and-design\u002F2e\u002Fpresentations\u002F05-game-mechanics\u002F03-boards-and-movement","Boards and Movement",{"path":684,"title":685,"order":652,"module":686,"status":635},"\u002Fgame-architecture-and-design\u002F2e\u002Fpresentations\u002F06-depth-complexity-and-randomness\u002F01-depth-vs-complexity-and-randomness","Depth, Complexity, And Randomness","6",{"path":688,"title":689,"order":652,"module":690,"status":635},"\u002Fgame-architecture-and-design\u002F2e\u002Fpresentations\u002F07-making-your-first-game\u002F01-planning-and-management","Planning And Managing Your Game","7",{"path":692,"title":693,"order":652,"module":652,"status":694},"\u002Fgame-architecture-and-design\u002F2e\u002Fpresentations\u002F10-game-architecture\u002F01-concepts-and-design","Game Architecture: Concepts And Design","draft",{"path":696,"title":697,"order":620,"module":652,"status":694},"\u002Fgame-architecture-and-design\u002F2e\u002Fpresentations\u002F10-game-architecture\u002F02-features-of-a-game-engine","Game Engine Features And Browser Feasibility",{"path":699,"title":700,"order":652,"module":701,"status":694},"\u002Fgame-architecture-and-design\u002F2e\u002Fpresentations\u002F11-entity-based-systems\u002F01-ecs","Entity-Based Systems","11",{"path":703,"title":704,"order":652,"module":621,"status":694},"\u002Fgame-architecture-and-design\u002F2e\u002Fpresentations\u002F12-level-mechanics-and-user-interfaces\u002F01-spatial-rules-levels-and-interface","Spatial Rules, Levels, And Interface",{"path":706,"title":707,"order":620,"module":621,"status":694},"\u002Fgame-architecture-and-design\u002F2e\u002Fpresentations\u002F12-level-mechanics-and-user-interfaces\u002F02-digital-prototype-presentation","Digital Prototype Presentation Deck",{"path":709,"title":710,"order":652,"module":711,"status":694},"\u002Fgame-architecture-and-design\u002F2e\u002Fpresentations\u002F13-actor-representations-and-artificial-intelligence\u002F01-actors-behavior-and-ai","Actors, Behavior, And AI","13",{"path":713,"title":714,"order":652,"module":715,"status":694},"\u002Fgame-architecture-and-design\u002F2e\u002Fpresentations\u002F14-particles-physics-and-digital-prototype-studio\u002F01-effects-particles-and-physics","Effects, Particle Systems, And Physics","14",{"path":717,"title":718,"order":620,"module":715,"status":694},"\u002Fgame-architecture-and-design\u002F2e\u002Fpresentations\u002F14-particles-physics-and-digital-prototype-studio\u002F02-recorded-project-showcase","Recorded Project Showcase",{"path":720,"title":721,"order":652,"module":722,"status":694},"\u002Fgame-architecture-and-design\u002F2e\u002Fpresentations\u002F15-finale\u002F01-final-evaluation-and-postmortem","Final Evaluation And Postmortem","15",{"path":724,"title":725,"order":629,"module":726,"status":635},"\u002Fgame-architecture-and-design\u002F2e\u002Fsyllabus\u002Ffall-2026","Course Syllabus: IT265 - Game Architecture and Design","0",{"path":728,"title":729,"order":652,"module":15,"status":635},"\u002Fgame-architecture-and-design\u002F2e\u002Fworksheets\u002Fmodule-02-design-journal","Module 2 Design And Development Journal",{"path":731,"title":732,"order":620,"module":15,"status":635},"\u002Fgame-architecture-and-design\u002F2e\u002Fworksheets\u002Fmodule-02-one-page-treatment","Module 2 One-Page Treatment",{"path":734,"title":735,"order":143,"module":690,"status":635},"\u002Fgame-architecture-and-design\u002F2e\u002Fworksheets\u002Fmodule-07-game-design-treatment","Full Game Design Treatment",{"path":737,"title":738,"order":629,"module":726,"status":694},"\u002Fgame-architecture-and-design","Game Architecture and Design",{"path":740,"title":741,"order":616,"module":616,"status":694},"\u002Fgame-architecture-and-design\u002Fpresentations-revised\u002F00-revision-plan","Game Architecture And Design Revision Plan - Superseded Historical Baseline",{"path":743,"title":744,"order":616,"module":616,"status":694},"\u002Fgame-architecture-and-design\u002Fpresentations-revised\u002F01-20-minute-recording-plan","Game Architecture And Design Recording Plan - Superseded Historical Baseline",{"path":746,"title":651,"order":652,"module":629,"status":694},"\u002Fgame-architecture-and-design\u002Fpresentations\u002F01-introduction\u002F01-what-is-a-game",{"path":748,"title":655,"order":620,"module":629,"status":694},"\u002Fgame-architecture-and-design\u002Fpresentations\u002F01-introduction\u002F02-what-is-gameplay",{"path":750,"title":664,"order":652,"module":15,"status":694},"\u002Fgame-architecture-and-design\u002Fpresentations\u002F02-game-balance\u002F01-game-balance",{"path":752,"title":670,"order":652,"module":342,"status":694},"\u002Fgame-architecture-and-design\u002Fpresentations\u002F03-look-and-feel\u002F01-color-theory",{"path":754,"title":673,"order":620,"module":342,"status":694},"\u002Fgame-architecture-and-design\u002Fpresentations\u002F03-look-and-feel\u002F02-look-and-feel",{"path":756,"title":676,"order":652,"module":633,"status":694},"\u002Fgame-architecture-and-design\u002Fpresentations\u002F04-game-mechanics\u002F01-game-mechanics",{"path":758,"title":679,"order":620,"module":633,"status":694},"\u002Fgame-architecture-and-design\u002Fpresentations\u002F04-game-mechanics\u002F02-decks",{"path":760,"title":761,"order":652,"module":619,"status":694},"\u002Fgame-architecture-and-design\u002Fpresentations\u002F05-depth-complexity-and-randomness\u002F01-depth-vs-complexity-and-randomness","Depth vs Complexity and Randomness",{"path":763,"title":764,"order":652,"module":686,"status":694},"\u002Fgame-architecture-and-design\u002Fpresentations\u002F06-first-game-planning\u002F01-first-concept","First Concept: Updated Lesson",{"path":766,"title":767,"order":620,"module":686,"status":694},"\u002Fgame-architecture-and-design\u002Fpresentations\u002F06-first-game-planning\u002F02-planning-and-management","Planning and Management",{"path":769,"title":770,"order":652,"module":771,"status":694},"\u002Fgame-architecture-and-design\u002Fpresentations\u002F08-game-architecture\u002F01-concepts-and-design","Game Architecture: Concepts and Design","8",{"path":773,"title":774,"order":620,"module":771,"status":694},"\u002Fgame-architecture-and-design\u002Fpresentations\u002F08-game-architecture\u002F02-features-of-a-game-engine","Game Architecture: Features of a Game Engine",{"path":776,"title":700,"order":652,"module":777,"status":694},"\u002Fgame-architecture-and-design\u002Fpresentations\u002F09-entity-based-systems\u002F01-ecs","9",{"path":779,"title":780,"order":652,"module":652,"status":694},"\u002Fgame-architecture-and-design\u002Fpresentations\u002F10-level-mechanics\u002F01-level-mechanics","Game Design: Introduction to Level Mechanics",{"path":782,"title":783,"order":620,"module":652,"status":694},"\u002Fgame-architecture-and-design\u002Fpresentations\u002F10-level-mechanics\u002F02-grids","Technical: Square vs Hex Grids in Board Games",{"path":785,"title":786,"order":652,"module":701,"status":694},"\u002Fgame-architecture-and-design\u002Fpresentations\u002F11-user-interfaces\u002F01-user-interfaces","Game Design: User Interfaces",{"path":788,"title":789,"order":652,"module":621,"status":694},"\u002Fgame-architecture-and-design\u002Fpresentations\u002F12-actor-representations\u002F01-actors","Game Design: Actor Representations",{"path":791,"title":792,"order":652,"module":711,"status":694},"\u002Fgame-architecture-and-design\u002Fpresentations\u002F13-artificial-intelligence\u002F01-ai","Game Design: AI",{"path":794,"title":795,"order":652,"module":715,"status":694},"\u002Fgame-architecture-and-design\u002Fpresentations\u002F14-particles-and-physics\u002F01-particles-and-physics","IT265: Particle Systems and Physics Engine",{"path":797,"title":798,"order":629,"module":726,"status":694},"\u002Fgame-architecture-and-design\u002Fsyllabus\u002Fspring-2026","Course Syllabus: IT265 - Game Architecture",{"path":800,"title":801,"order":652,"module":726,"status":694},"\u002Fgame-architecture-and-design\u002Fworksheets\u002Fcase-study-1-atari-worksheet","Case Study 1 - Atari",{"path":803,"title":804,"order":620,"module":726,"status":694},"\u002Fgame-architecture-and-design\u002Fworksheets\u002Fit265-case-study-color-theory-worksheet","IT265 Case Study - Color Theory",{"path":806,"title":807,"order":13,"module":726,"status":694},"\u002Fgame-architecture-and-design\u002Fworksheets\u002Fit265-case-study-personal-choice-worksheet","IT265 Case Study - Personal Choice",{"path":809,"title":810,"order":376,"module":726,"status":694},"\u002Fgame-architecture-and-design\u002Fworksheets\u002Fit265-design-treatment-checkpoint-worksheet","IT265 Design Treatment Checkpoint",{"path":812,"title":813,"order":726,"module":629,"status":635},"\u002Fgeneral\u002F2e\u002Fpresentations\u002F00-learn-courses-platform-and-discord","Learn Courses Platform And Discord",{"path":815,"title":816,"order":652,"module":629,"status":635},"\u002Fgeneral\u002F2e\u002Fpresentations\u002F01-git-and-terminal-setup","Git And Terminal Setup",{"path":818,"title":819,"order":620,"module":629,"status":635},"\u002Fgeneral\u002F2e\u002Fpresentations\u002F02-cli-foundations","CLI Foundations",{"path":821,"title":822,"order":376,"module":629,"status":635},"\u002Fgeneral\u002F2e\u002Fpresentations\u002F03-github-setup-and-ssh","GitHub Setup And SSH",{"path":824,"title":825,"order":13,"module":629,"status":635},"\u002Fgeneral\u002F2e\u002Fpresentations\u002F04-local-git-workflow-and-course-repositories","Local Git Workflow And Course Repositories",{"path":827,"title":828,"order":171,"module":629,"status":635},"\u002Fgeneral\u002F2e\u002Fpresentations\u002F05-vscode-setup-and-course-extensions","VS Code Setup And Course Extensions",{"path":631,"title":5,"order":39,"module":629,"status":635},{"path":831,"title":832,"order":616,"module":616,"status":616},"\u002Fgeneral\u002Fbasic-cli","Basic Command Line",{"path":834,"title":832,"order":652,"module":629,"status":616},"\u002Fgeneral\u002Fbasic-command-line",{"path":836,"title":837,"order":616,"module":616,"status":635},"\u002F","Ethereal Lab Course Materials",{"path":839,"title":840,"order":652,"module":629,"status":694},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F01-git-github-and-course-workflow\u002F01-basic-cli-commands","IT202 Setup Path And CLI Readiness",{"path":842,"title":843,"order":620,"module":629,"status":694},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F01-git-github-and-course-workflow\u002F02-install-git-tools","IT202 Git And Terminal Handoff",{"path":845,"title":846,"order":376,"module":629,"status":694},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F01-git-github-and-course-workflow\u002F03-setup-github-ssh","IT202 Repository And SSH Extension",{"path":848,"title":849,"order":13,"module":629,"status":694},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F01-git-github-and-course-workflow\u002F04-git-commands-prs","IT202 Git Workflow Handoff",{"path":851,"title":852,"order":171,"module":629,"status":635},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F01-git-github-and-course-workflow\u002F05-setup-local-development-environment","Standalone PHP Setup",{"path":854,"title":855,"order":39,"module":629,"status":635},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F01-git-github-and-course-workflow\u002F06-add-instructor-template-to-your-repository","Add Instructor Template To Your Repository",{"path":857,"title":858,"order":143,"module":629,"status":635},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F01-git-github-and-course-workflow\u002F07-qa-prod-branches","QA And Prod Branches",{"path":860,"title":861,"order":862,"module":629,"status":635},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F01-git-github-and-course-workflow\u002F08-render-setup","Render Setup","80",{"path":864,"title":865,"order":64,"module":629,"status":635},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F01-git-github-and-course-workflow\u002F09-local-ubuntu-web-server-virtualbox","Local Ubuntu Web Server With VirtualBox Or UTM",{"path":867,"title":868,"order":869,"module":629,"status":694},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F01-git-github-and-course-workflow\u002F10-local-ubuntu-web-server-vmware","Local Ubuntu Web Server With VMware","100",{"path":871,"title":872,"order":652,"module":15,"status":635},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F02-php-and-javascript-basics\u002F01-compare-php-and-javascript","Compare PHP And JavaScript",{"path":874,"title":875,"order":620,"module":15,"status":635},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F02-php-and-javascript-basics\u002F02-conditions-loops-functions","Use Conditions Loops And Functions",{"path":877,"title":878,"order":652,"module":342,"status":635},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F03-html-forms-css-and-dom\u002F01-intro-to-html","Intro To HTML",{"path":880,"title":881,"order":620,"module":342,"status":635},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F03-html-forms-css-and-dom\u002F02-intro-to-forms-and-get-post","Intro To Forms And GET\u002FPOST",{"path":883,"title":884,"order":376,"module":342,"status":635},"\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":886,"title":887,"order":652,"module":633,"status":635},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F04-databases-and-user-accounts\u002F01-intro-to-sql","Intro To SQL",{"path":889,"title":890,"order":620,"module":633,"status":635},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F04-databases-and-user-accounts\u002F02-project-database-setup","Project Database Setup",{"path":892,"title":893,"order":376,"module":633,"status":635},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F04-databases-and-user-accounts\u002F03-user-registration","User Registration",{"path":895,"title":896,"order":13,"module":633,"status":635},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F04-databases-and-user-accounts\u002F04-user-login","User Login",{"path":898,"title":899,"order":652,"module":619,"status":694},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F05-validation-and-user-profiles\u002F01-intro-to-regex","Intro To Regex",{"path":901,"title":902,"order":620,"module":619,"status":694},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F05-validation-and-user-profiles\u002F02-project-shared-helpers","Project Shared Helpers",{"path":904,"title":905,"order":376,"module":619,"status":694},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F05-validation-and-user-profiles\u002F03-flash-messages-and-redirect-feedback","User Feedback After Redirects",{"path":907,"title":908,"order":13,"module":619,"status":694},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F05-validation-and-user-profiles\u002F04-user-profile","User Profile",{"path":910,"title":911,"order":652,"module":686,"status":694},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F06-roles-and-crud-pages\u002F01-user-roles-authorization","User Roles Authorization",{"path":913,"title":914,"order":620,"module":686,"status":694},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F06-roles-and-crud-pages\u002F02-user-login-enhancement","User Login Enhancement",{"path":916,"title":917,"order":376,"module":686,"status":694},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F06-roles-and-crud-pages\u002F03-dynamic-content","Dynamic Content",{"path":919,"title":920,"order":652,"module":690,"status":694},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F07-api-data-and-database-helpers\u002F01-working-with-api-data","Working With API Data",{"path":922,"title":923,"order":620,"module":690,"status":694},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F07-api-data-and-database-helpers\u002F02-api-integration","API Integration",{"path":925,"title":926,"order":376,"module":690,"status":694},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F07-api-data-and-database-helpers\u002F03-database-utility-functions","Database Utility Functions",{"path":928,"title":929,"order":652,"module":771,"status":694},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F08-reusable-components-jquery-and-ajax\u002F01-milestone-2-bootstrap-and-reusability","Milestone 2 Bootstrap And Reusability",{"path":931,"title":932,"order":620,"module":771,"status":694},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F08-reusable-components-jquery-and-ajax\u002F02-jquery-brief-intro","jQuery Brief Intro",{"path":934,"title":935,"order":376,"module":771,"status":694},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F08-reusable-components-jquery-and-ajax\u002F03-intro-to-ajax","Intro To AJAX",{"path":937,"title":938,"order":652,"module":777,"status":694},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F09-relational-data-search-and-pagination\u002F01-user-associations","Add User Associations",{"path":940,"title":941,"order":620,"module":777,"status":694},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F09-relational-data-search-and-pagination\u002F02-association-views-and-pagination","Add Association Views And Pagination",{"path":943,"title":944,"order":652,"module":652,"status":694},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F10-association-assignment-and-security\u002F01-association-assignment-and-public-profiles","Association Management And Public Profiles",{"path":946,"title":947,"order":620,"module":652,"status":694},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F10-association-assignment-and-security\u002F02-reusable-csrf-protection","Reusable CSRF Protection",{"path":949,"title":950,"order":629,"module":726,"status":635},"\u002Finternet-applications\u002F2e\u002Fsyllabus\u002Ffall-2026","IT202 - Internet Applications Syllabus",{"path":952,"title":953,"order":652,"module":629,"status":635},"\u002Finternet-applications\u002F2e\u002Fworksheets\u002Fmodule-01-getting-started","Module 1 Getting Started",{"path":955,"title":956,"order":620,"module":15,"status":635},"\u002Finternet-applications\u002F2e\u002Fworksheets\u002Fmodule-02-php-challenges","Module 2 PHP Challenge Scenarios",{"path":958,"title":959,"order":13,"module":652,"status":960},"\u002Finternet-applications\u002Fassignments\u002Ffinal-project-submission","Final Project Submission","review",{"path":962,"title":963,"order":616,"module":616,"status":616},"\u002Finternet-applications\u002Fassignments\u002Fmilestones\u002F01-account-access-and-profile-system","Milestone 1: Account, Access, And Profile System",{"path":965,"title":966,"order":620,"module":771,"status":960},"\u002Finternet-applications\u002Fassignments\u002Fmilestones\u002F02-api-data-and-project-crud","Milestone 2: API Data And Project CRUD",{"path":968,"title":969,"order":376,"module":777,"status":960},"\u002Finternet-applications\u002Fassignments\u002Fmilestones\u002F03-user-associations-search-and-summary","Milestone 3: User Associations, Search, And Summary Views",{"path":971,"title":972,"order":619,"module":633,"status":635},"\u002Finternet-applications\u002Fassignments\u002Fproject-proposal","IT 202 Project Proposal",{"path":974,"title":975,"order":616,"module":616,"status":616},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F01-course-workflow-files-and-web-server\u002F01-what-this-course-is-building","What Internet Applications Build",{"path":977,"title":978,"order":616,"module":616,"status":616},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F01-course-workflow-files-and-web-server\u002F02-files-folders-and-project-structure","Files, Folders, And Project Structure",{"path":980,"title":981,"order":616,"module":616,"status":616},"\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":983,"title":984,"order":616,"module":616,"status":616},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F01-course-workflow-files-and-web-server\u002F02b-install-git-and-terminal-tools","Install Git And Terminal Tools",{"path":986,"title":987,"order":616,"module":616,"status":616},"\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":989,"title":990,"order":616,"module":616,"status":616},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F01-course-workflow-files-and-web-server\u002F03a-local-development-environment","Set Up A Local Development Environment",{"path":992,"title":993,"order":616,"module":616,"status":616},"\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":995,"title":996,"order":616,"module":616,"status":616},"\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":998,"title":999,"order":616,"module":616,"status":616},"\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":1001,"title":1002,"order":616,"module":616,"status":616},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F01-course-workflow-files-and-web-server\u002F07-git-recovery-and-common-mistakes","Git Recovery And Common Mistakes",{"path":1004,"title":1005,"order":616,"module":616,"status":616},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F01-course-workflow-files-and-web-server\u002F08-installing-apache-and-php","Installing Apache, PHP, And MySQL",{"path":1007,"title":1008,"order":616,"module":616,"status":616},"\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":1010,"title":1011,"order":616,"module":616,"status":616},"\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":1013,"title":1014,"order":616,"module":616,"status":616},"\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":1016,"title":1017,"order":616,"module":616,"status":616},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F01-course-workflow-files-and-web-server\u002F12-local-qa-and-production-environments","Local, QA, And Production Environments",{"path":1019,"title":1020,"order":616,"module":616,"status":616},"\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":1022,"title":1023,"order":616,"module":616,"status":616},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F02-programming-fundamentals-in-php-and-javascript\u002F02-displaying-output-with-php","Displaying Output With PHP",{"path":1025,"title":1026,"order":616,"module":616,"status":616},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F02-programming-fundamentals-in-php-and-javascript\u002F03-displaying-output-with-javascript","Displaying Output With JavaScript",{"path":1028,"title":1029,"order":616,"module":616,"status":616},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F02-programming-fundamentals-in-php-and-javascript\u002F04-variables-storing-and-naming-values","Variables: Storing And Naming Values",{"path":1031,"title":1032,"order":616,"module":616,"status":616},"\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":1034,"title":1035,"order":616,"module":616,"status":616},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F02-programming-fundamentals-in-php-and-javascript\u002F06-arrays-storing-lists-of-values","Arrays: Storing Lists Of Values",{"path":1037,"title":1038,"order":616,"module":616,"status":616},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F02-programming-fundamentals-in-php-and-javascript\u002F07-conditional-statements-making-decisions","Conditional Statements: Making Decisions",{"path":1040,"title":1041,"order":616,"module":616,"status":616},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F02-programming-fundamentals-in-php-and-javascript\u002F08-loops-repeating-actions","Loops: Repeating Actions",{"path":1043,"title":1044,"order":616,"module":616,"status":616},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F02-programming-fundamentals-in-php-and-javascript\u002F09-functions-reusable-blocks-of-logic","Functions: Reusable Blocks Of Logic",{"path":1046,"title":1047,"order":616,"module":616,"status":616},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F02-programming-fundamentals-in-php-and-javascript\u002F10-reading-and-debugging-error-messages","Reading And Debugging Error Messages",{"path":1049,"title":1050,"order":616,"module":616,"status":616},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F03-html-forms-css-and-the-dom\u002F01-html-structure-and-meaning","HTML: Structure And Meaning",{"path":1052,"title":1053,"order":616,"module":616,"status":616},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F03-html-forms-css-and-the-dom\u002F02-writing-a-valid-html-document","Writing A Valid HTML Document",{"path":1055,"title":1056,"order":616,"module":616,"status":616},"\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":1058,"title":1059,"order":616,"module":616,"status":616},"\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":1061,"title":1062,"order":616,"module":616,"status":616},"\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":1064,"title":1065,"order":616,"module":616,"status":616},"\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":1067,"title":1068,"order":616,"module":616,"status":616},"\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":1070,"title":1071,"order":616,"module":616,"status":616},"\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":1073,"title":1074,"order":616,"module":616,"status":616},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F03-html-forms-css-and-the-dom\u002F09-page-layout-with-flexbox","Page Layout With Flexbox",{"path":1076,"title":1077,"order":616,"module":616,"status":616},"\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":1079,"title":1080,"order":616,"module":616,"status":616},"\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":1082,"title":1083,"order":616,"module":616,"status":616},"\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":1085,"title":1086,"order":616,"module":616,"status":616},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F03-html-forms-css-and-the-dom\u002F12-basic-web-accessibility-habits","Basic Web Accessibility Habits",{"path":1088,"title":1089,"order":616,"module":616,"status":616},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F04-databases-and-user-accounts\u002F01-why-web-applications-need-a-database","Why Web Applications Need A Database",{"path":1091,"title":1092,"order":616,"module":616,"status":616},"\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":1094,"title":1095,"order":616,"module":616,"status":616},"\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":1097,"title":1098,"order":616,"module":616,"status":616},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F04-databases-and-user-accounts\u002F04-creating-tables-with-sql-scripts","Creating Tables With SQL Scripts",{"path":1100,"title":1101,"order":616,"module":616,"status":616},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F04-databases-and-user-accounts\u002F05-connecting-php-to-mysql-with-pdo","Connecting PHP To MySQL With PDO",{"path":1103,"title":1104,"order":616,"module":616,"status":616},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F04-databases-and-user-accounts\u002F06-parameterized-queries-and-sql-injection-prevention","Parameterized Queries And SQL Injection Prevention",{"path":1106,"title":1107,"order":616,"module":616,"status":616},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F04-databases-and-user-accounts\u002F07-building-a-registration-page","Building A Registration Page",{"path":1109,"title":1110,"order":616,"module":616,"status":616},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F04-databases-and-user-accounts\u002F08-hashing-passwords-with-password-hash","Hashing Passwords With password_hash()",{"path":1112,"title":1113,"order":616,"module":616,"status":616},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F04-databases-and-user-accounts\u002F09-building-a-login-page","Building A Login Page",{"path":1115,"title":1116,"order":616,"module":616,"status":616},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F04-databases-and-user-accounts\u002F10-sessions-remembering-the-logged-in-user","Sessions: Remembering The Logged-In User",{"path":1118,"title":1119,"order":616,"module":616,"status":616},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F04-databases-and-user-accounts\u002F11-cookies-persistent-client-side-state","Cookies: Persistent Client-Side State",{"path":1121,"title":1122,"order":616,"module":616,"status":616},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F04-databases-and-user-accounts\u002F12-navigation-that-responds-to-login-state","Navigation That Responds To Login State",{"path":1124,"title":1125,"order":616,"module":616,"status":616},"\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":1127,"title":1128,"order":616,"module":616,"status":616},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F05-input-validation-security-and-user-profiles\u002F02-sanitizing-and-escaping-user-input","Sanitizing And Escaping User Input",{"path":1130,"title":1131,"order":616,"module":616,"status":616},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F05-input-validation-security-and-user-profiles\u002F03-required-fields-and-length-rules","Required Fields And Length Rules",{"path":1133,"title":1134,"order":616,"module":616,"status":616},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F05-input-validation-security-and-user-profiles\u002F04-regular-expressions-for-pattern-matching","Regular Expressions For Pattern Matching",{"path":1136,"title":1137,"order":616,"module":616,"status":616},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F05-input-validation-security-and-user-profiles\u002F05-server-side-validation-in-php","Server-Side Validation In PHP",{"path":1139,"title":1140,"order":616,"module":616,"status":616},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F05-input-validation-security-and-user-profiles\u002F06-cross-site-scripting-xss-prevention","Cross-Site Scripting (XSS) Prevention",{"path":1142,"title":1143,"order":616,"module":616,"status":616},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F05-input-validation-security-and-user-profiles\u002F07-flash-messages-and-persistent-feedback","Flash Messages And Persistent Feedback",{"path":1145,"title":1146,"order":616,"module":616,"status":616},"\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":1148,"title":1149,"order":616,"module":616,"status":616},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F05-input-validation-security-and-user-profiles\u002F09-building-a-profile-edit-page","Building A Profile Edit Page",{"path":1151,"title":1152,"order":616,"module":616,"status":616},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F05-input-validation-security-and-user-profiles\u002F10-debugging-account-and-authentication-problems","Debugging Account And Authentication Problems",{"path":1154,"title":1155,"order":616,"module":616,"status":616},"\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":1157,"title":1158,"order":616,"module":616,"status":616},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F06-roles-permissions-and-crud-pages\u002F01-role-based-access-control","Role-Based Access Control",{"path":1160,"title":1161,"order":616,"module":616,"status":616},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F06-roles-permissions-and-crud-pages\u002F02-storing-roles-in-the-database","Storing Roles In The Database",{"path":1163,"title":1164,"order":616,"module":616,"status":616},"\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":1166,"title":1167,"order":616,"module":616,"status":616},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F06-roles-permissions-and-crud-pages\u002F04-safe-redirects-after-login-and-logout","Safe Redirects After Login And Logout",{"path":1169,"title":1170,"order":616,"module":616,"status":616},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F06-roles-permissions-and-crud-pages\u002F05-listing-records-from-the-database","Listing Records From The Database",{"path":1172,"title":1173,"order":616,"module":616,"status":616},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F06-roles-permissions-and-crud-pages\u002F06-creating-new-records-with-a-form","Creating New Records With A Form",{"path":1175,"title":1176,"order":616,"module":616,"status":616},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F06-roles-permissions-and-crud-pages\u002F07-editing-existing-records","Editing Existing Records",{"path":1178,"title":1179,"order":616,"module":616,"status":616},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F06-roles-permissions-and-crud-pages\u002F08-deleting-records-safely","Deleting Records Safely",{"path":1181,"title":1182,"order":616,"module":616,"status":616},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F06-roles-permissions-and-crud-pages\u002F09-ownership-linking-records-to-users","Ownership: Linking Records To Users",{"path":1184,"title":1185,"order":616,"module":616,"status":616},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F06-roles-permissions-and-crud-pages\u002F10-first-project-milestone-checklist","First Project Milestone Checklist",{"path":1187,"title":1188,"order":616,"module":616,"status":616},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F06-roles-permissions-and-crud-pages\u002F11-organizing-growing-php-applications","Organizing Growing PHP Applications",{"path":1190,"title":1191,"order":616,"module":616,"status":616},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F06-roles-permissions-and-crud-pages\u002F12-reading-a-growing-php-application","Reading A Growing PHP Application",{"path":1193,"title":1194,"order":616,"module":616,"status":616},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F07-asynchronous-requests-json-and-external-apis\u002F01-what-asynchronous-requests-ajax-solve","What Asynchronous Requests (AJAX) Solve",{"path":1196,"title":1197,"order":616,"module":616,"status":616},"\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":1199,"title":1200,"order":616,"module":616,"status":616},"\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":1202,"title":1203,"order":616,"module":616,"status":616},"\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":1205,"title":1206,"order":616,"module":616,"status":616},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F07-asynchronous-requests-json-and-external-apis\u002F05-handling-fetch-responses-and-errors","Handling Fetch Responses And Errors",{"path":1208,"title":1209,"order":616,"module":616,"status":616},"\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":1211,"title":1212,"order":616,"module":616,"status":616},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F07-asynchronous-requests-json-and-external-apis\u002F07-introduction-to-rest-apis","Introduction To REST APIs",{"path":1214,"title":1215,"order":616,"module":616,"status":616},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F07-asynchronous-requests-json-and-external-apis\u002F08-reading-api-documentation","Reading API Documentation",{"path":1217,"title":1218,"order":616,"module":616,"status":616},"\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":1220,"title":1221,"order":616,"module":616,"status":616},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F07-asynchronous-requests-json-and-external-apis\u002F10-storing-and-caching-api-responses","Storing And Caching API Responses",{"path":1223,"title":1224,"order":616,"module":616,"status":616},"\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":1226,"title":1227,"order":616,"module":616,"status":616},"\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":1229,"title":1230,"order":616,"module":616,"status":616},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F08-dynamic-interfaces-and-project-data\u002F01-jquery-simplified-dom-and-event-work","jQuery: Simplified DOM And Event Work",{"path":1232,"title":1233,"order":616,"module":616,"status":616},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F08-dynamic-interfaces-and-project-data\u002F02-selecting-elements-with-jquery","Selecting Elements With jQuery",{"path":1235,"title":1236,"order":616,"module":616,"status":616},"\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":1238,"title":1239,"order":616,"module":616,"status":616},"\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":1241,"title":1242,"order":616,"module":616,"status":616},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F08-dynamic-interfaces-and-project-data\u002F05-sending-ajax-requests-with-jquery","Sending AJAX Requests With jQuery",{"path":1244,"title":1245,"order":616,"module":616,"status":616},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F08-dynamic-interfaces-and-project-data\u002F06-saving-external-api-data-through-php","Saving External API Data Through PHP",{"path":1247,"title":1248,"order":616,"module":616,"status":616},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F08-dynamic-interfaces-and-project-data\u002F07-saving-user-created-records","Saving User-Created Records",{"path":1250,"title":1251,"order":616,"module":616,"status":616},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F08-dynamic-interfaces-and-project-data\u002F08-building-a-project-listing-page","Building A Project Listing Page",{"path":1253,"title":1254,"order":616,"module":616,"status":616},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F08-dynamic-interfaces-and-project-data\u002F09-inline-editing-and-detail-views","Inline Editing And Detail Views",{"path":1256,"title":1257,"order":616,"module":616,"status":616},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F08-dynamic-interfaces-and-project-data\u002F10-second-project-milestone-checklist","Second Project Milestone Checklist",{"path":1259,"title":1260,"order":616,"module":616,"status":616},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F09-relational-data-search-and-pagination\u002F01-foreign-keys-and-referential-integrity","Foreign Keys And Referential Integrity",{"path":1262,"title":1263,"order":616,"module":616,"status":616},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F09-relational-data-search-and-pagination\u002F02-joining-tables-inner-join-left-join","Joining Tables: INNER JOIN, LEFT JOIN",{"path":1265,"title":1266,"order":616,"module":616,"status":616},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F09-relational-data-search-and-pagination\u002F03-user-owned-records-and-access-enforcement","User-Owned Records And Access Enforcement",{"path":1268,"title":1269,"order":616,"module":616,"status":616},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F09-relational-data-search-and-pagination\u002F04-connecting-api-data-to-user-records","Connecting API Data To User Records",{"path":1271,"title":1272,"order":616,"module":616,"status":616},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F09-relational-data-search-and-pagination\u002F05-searching-and-filtering-with-sql","Searching And Filtering With SQL",{"path":1274,"title":1275,"order":616,"module":616,"status":616},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F09-relational-data-search-and-pagination\u002F06-pagination-displaying-records-in-pages","Pagination: Displaying Records In Pages",{"path":1277,"title":1278,"order":616,"module":616,"status":616},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F09-relational-data-search-and-pagination\u002F07-aggregate-functions-count-sum-avg","Aggregate Functions: COUNT, SUM, AVG",{"path":1280,"title":1281,"order":616,"module":616,"status":616},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F09-relational-data-search-and-pagination\u002F08-simple-analytics-and-summary-views","Simple Analytics And Summary Views",{"path":1283,"title":1284,"order":616,"module":616,"status":616},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F09-relational-data-search-and-pagination\u002F09-third-project-milestone-checklist","Third Project Milestone Checklist",{"path":1286,"title":1287,"order":616,"module":616,"status":616},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F10-final-integration-testing-and-deployment\u002F01-public-pages-and-unauthenticated-views","Public Pages And Unauthenticated Views",{"path":1289,"title":1290,"order":616,"module":616,"status":616},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F10-final-integration-testing-and-deployment\u002F02-user-profile-and-activity-pages","User Profile And Activity Pages",{"path":1292,"title":1293,"order":616,"module":616,"status":616},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F10-final-integration-testing-and-deployment\u002F03-refreshing-and-expiring-external-api-data","Refreshing And Expiring External API Data",{"path":1295,"title":1296,"order":616,"module":616,"status":616},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F10-final-integration-testing-and-deployment\u002F04-application-wide-security-audit","Application-Wide Security Audit",{"path":1298,"title":1299,"order":616,"module":616,"status":616},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F10-final-integration-testing-and-deployment\u002F05-cross-site-request-forgery-csrf-protection","Cross-Site Request Forgery (CSRF) Protection",{"path":1301,"title":1302,"order":616,"module":616,"status":616},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F10-final-integration-testing-and-deployment\u002F06-qa-testing-and-collecting-evidence","QA Testing And Collecting Evidence",{"path":1304,"title":1305,"order":616,"module":616,"status":616},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F10-final-integration-testing-and-deployment\u002F07-production-environment-checklist","Production Environment Checklist",{"path":1307,"title":1308,"order":616,"module":616,"status":616},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F10-final-integration-testing-and-deployment\u002F08-writing-a-project-readme","Writing A Project README",{"path":1310,"title":1311,"order":616,"module":616,"status":616},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F10-final-integration-testing-and-deployment\u002F09-final-presentation-and-code-walkthrough","Final Presentation And Code Walkthrough",{"path":1313,"title":1314,"order":616,"module":616,"status":616},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F10-final-integration-testing-and-deployment\u002F10-configuration-drift-and-secrets-checks","Configuration Drift And Secrets Checks",{"path":1316,"title":1317,"order":616,"module":616,"status":1318},"\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":1320,"title":1321,"order":616,"module":616,"status":1318},"\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":1323,"title":1324,"order":616,"module":616,"status":1318},"\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":1326,"title":1327,"order":616,"module":616,"status":1318},"\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":1329,"title":1330,"order":616,"module":616,"status":1318},"\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":1332,"title":1333,"order":616,"module":616,"status":1318},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F01-course-workflow-files-and-web-server\u002F03a-local-development-environment","Quiz - Set Up A Local Development Environment",{"path":1335,"title":1336,"order":616,"module":616,"status":1318},"\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":1338,"title":1339,"order":616,"module":616,"status":1318},"\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":1341,"title":1342,"order":616,"module":616,"status":1318},"\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":1344,"title":1345,"order":616,"module":616,"status":1318},"\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":1347,"title":1348,"order":616,"module":616,"status":1318},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F01-course-workflow-files-and-web-server\u002F08-installing-apache-and-php","Quiz - Installing Apache, PHP, And MySQL",{"path":1350,"title":1351,"order":616,"module":616,"status":1318},"\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":1353,"title":1354,"order":616,"module":616,"status":1318},"\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":1356,"title":1357,"order":616,"module":616,"status":616},"\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":1359,"title":1360,"order":616,"module":616,"status":1318},"\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":1362,"title":1363,"order":616,"module":616,"status":1318},"\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":1365,"title":1366,"order":616,"module":616,"status":1318},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F02-programming-fundamentals-in-php-and-javascript\u002F02-displaying-output-with-php","Quiz - Displaying Output With PHP",{"path":1368,"title":1369,"order":616,"module":616,"status":1318},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F02-programming-fundamentals-in-php-and-javascript\u002F03-displaying-output-with-javascript","Quiz - Displaying Output With JavaScript",{"path":1371,"title":1372,"order":616,"module":616,"status":616},"\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":1374,"title":1375,"order":616,"module":616,"status":616},"\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":1377,"title":1378,"order":616,"module":616,"status":1318},"\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":1380,"title":1381,"order":616,"module":616,"status":616},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F02-programming-fundamentals-in-php-and-javascript\u002F07-conditional-statements-making-decisions","Quiz - Conditional Statements: Making Decisions",{"path":1383,"title":1384,"order":616,"module":616,"status":616},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F02-programming-fundamentals-in-php-and-javascript\u002F08-loops-repeating-actions","Quiz - Loops: Repeating Actions",{"path":1386,"title":1387,"order":616,"module":616,"status":616},"\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":1389,"title":1390,"order":616,"module":616,"status":1318},"\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":1392,"title":1393,"order":616,"module":616,"status":616},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F03-html-forms-css-and-the-dom\u002F01-html-structure-and-meaning","Quiz - HTML: Structure And Meaning",{"path":1395,"title":1396,"order":616,"module":616,"status":1318},"\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":1398,"title":1399,"order":616,"module":616,"status":1318},"\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":1401,"title":1402,"order":616,"module":616,"status":616},"\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":1404,"title":1405,"order":616,"module":616,"status":1318},"\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":1407,"title":1408,"order":616,"module":616,"status":1318},"\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":1410,"title":1411,"order":616,"module":616,"status":616},"\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":1413,"title":1414,"order":616,"module":616,"status":616},"\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":1416,"title":1417,"order":616,"module":616,"status":1318},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F03-html-forms-css-and-the-dom\u002F09-page-layout-with-flexbox","Quiz - Page Layout With Flexbox",{"path":1419,"title":1420,"order":616,"module":616,"status":1318},"\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":1422,"title":1423,"order":616,"module":616,"status":1318},"\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":1425,"title":1426,"order":616,"module":616,"status":1318},"\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":1428,"title":1429,"order":616,"module":616,"status":1318},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F03-html-forms-css-and-the-dom\u002F12-basic-web-accessibility-habits","Quiz - Basic Web Accessibility Habits",{"path":1431,"title":1432,"order":616,"module":616,"status":1318},"\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":1434,"title":1435,"order":616,"module":616,"status":616},"\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":1437,"title":1438,"order":616,"module":616,"status":616},"\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":1440,"title":1441,"order":616,"module":616,"status":1318},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F04-databases-and-user-accounts\u002F04-creating-tables-with-sql-scripts","Quiz - Creating Tables With SQL Scripts",{"path":1443,"title":1444,"order":616,"module":616,"status":1318},"\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":1446,"title":1447,"order":616,"module":616,"status":1318},"\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":1449,"title":1450,"order":616,"module":616,"status":1318},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F04-databases-and-user-accounts\u002F07-building-a-registration-page","Quiz - Building A Registration Page",{"path":1452,"title":1453,"order":616,"module":616,"status":1318},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F04-databases-and-user-accounts\u002F08-hashing-passwords-with-password-hash","Quiz - Hashing Passwords With password_hash()",{"path":1455,"title":1456,"order":616,"module":616,"status":1318},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F04-databases-and-user-accounts\u002F09-building-a-login-page","Quiz - Building A Login Page",{"path":1458,"title":1459,"order":616,"module":616,"status":616},"\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":1461,"title":1462,"order":616,"module":616,"status":616},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F04-databases-and-user-accounts\u002F11-cookies-persistent-client-side-state","Quiz - Cookies: Persistent Client-Side State",{"path":1464,"title":1465,"order":616,"module":616,"status":1318},"\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":1467,"title":1468,"order":616,"module":616,"status":1318},"\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":1470,"title":1471,"order":616,"module":616,"status":1318},"\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":1473,"title":1474,"order":616,"module":616,"status":1318},"\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":1476,"title":1477,"order":616,"module":616,"status":1318},"\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":1479,"title":1480,"order":616,"module":616,"status":1318},"\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":1482,"title":1483,"order":616,"module":616,"status":1318},"\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":1485,"title":1486,"order":616,"module":616,"status":1318},"\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":1488,"title":1489,"order":616,"module":616,"status":1318},"\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":1491,"title":1492,"order":616,"module":616,"status":1318},"\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":1494,"title":1495,"order":616,"module":616,"status":1318},"\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":1497,"title":1498,"order":616,"module":616,"status":616},"\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":1500,"title":1501,"order":616,"module":616,"status":1318},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F06-roles-permissions-and-crud-pages\u002F01-role-based-access-control","Quiz - Role-Based Access Control",{"path":1503,"title":1504,"order":616,"module":616,"status":1318},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F06-roles-permissions-and-crud-pages\u002F02-storing-roles-in-the-database","Quiz - Storing Roles In The Database",{"path":1506,"title":1507,"order":616,"module":616,"status":1318},"\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":1509,"title":1510,"order":616,"module":616,"status":1318},"\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":1512,"title":1513,"order":616,"module":616,"status":1318},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F06-roles-permissions-and-crud-pages\u002F05-listing-records-from-the-database","Quiz - Listing Records From The Database",{"path":1515,"title":1516,"order":616,"module":616,"status":1318},"\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":1518,"title":1519,"order":616,"module":616,"status":1318},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F06-roles-permissions-and-crud-pages\u002F07-editing-existing-records","Quiz - Editing Existing Records",{"path":1521,"title":1522,"order":616,"module":616,"status":1318},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F06-roles-permissions-and-crud-pages\u002F08-deleting-records-safely","Quiz - Deleting Records Safely",{"path":1524,"title":1525,"order":616,"module":616,"status":616},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F06-roles-permissions-and-crud-pages\u002F09-ownership-linking-records-to-users","Quiz - Ownership: Linking Records To Users",{"path":1527,"title":1528,"order":616,"module":616,"status":1318},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F06-roles-permissions-and-crud-pages\u002F10-first-project-milestone-checklist","Quiz - First Project Milestone Checklist",{"path":1530,"title":1531,"order":616,"module":616,"status":1318},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F06-roles-permissions-and-crud-pages\u002F11-organizing-growing-php-applications","Quiz - Organizing Growing PHP Applications",{"path":1533,"title":1534,"order":616,"module":616,"status":1318},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F06-roles-permissions-and-crud-pages\u002F12-reading-a-growing-php-application","Quiz - Reading A Growing PHP Application",{"path":1536,"title":1537,"order":616,"module":616,"status":1318},"\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":1539,"title":1540,"order":616,"module":616,"status":1318},"\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":1542,"title":1543,"order":616,"module":616,"status":1318},"\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":1545,"title":1546,"order":616,"module":616,"status":1318},"\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":1548,"title":1549,"order":616,"module":616,"status":1318},"\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":1551,"title":1552,"order":616,"module":616,"status":1318},"\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":1554,"title":1555,"order":616,"module":616,"status":1318},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F07-asynchronous-requests-json-and-external-apis\u002F07-introduction-to-rest-apis","Quiz - Introduction To REST APIs",{"path":1557,"title":1558,"order":616,"module":616,"status":1318},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F07-asynchronous-requests-json-and-external-apis\u002F08-reading-api-documentation","Quiz - Reading API Documentation",{"path":1560,"title":1561,"order":616,"module":616,"status":1318},"\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":1563,"title":1564,"order":616,"module":616,"status":1318},"\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":1566,"title":1567,"order":616,"module":616,"status":1318},"\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":1569,"title":1570,"order":616,"module":616,"status":1318},"\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":1572,"title":1573,"order":616,"module":616,"status":616},"\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":1575,"title":1576,"order":616,"module":616,"status":1318},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F08-dynamic-interfaces-and-project-data\u002F02-selecting-elements-with-jquery","Quiz - Selecting Elements With jQuery",{"path":1578,"title":1579,"order":616,"module":616,"status":616},"\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":1581,"title":1582,"order":616,"module":616,"status":1318},"\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":1584,"title":1585,"order":616,"module":616,"status":1318},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F08-dynamic-interfaces-and-project-data\u002F05-sending-ajax-requests-with-jquery","Quiz - Sending AJAX Requests With jQuery",{"path":1587,"title":1588,"order":616,"module":616,"status":1318},"\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":1590,"title":1591,"order":616,"module":616,"status":1318},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F08-dynamic-interfaces-and-project-data\u002F07-saving-user-created-records","Quiz - Saving User-Created Records",{"path":1593,"title":1594,"order":616,"module":616,"status":1318},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F08-dynamic-interfaces-and-project-data\u002F08-building-a-project-listing-page","Quiz - Building A Project Listing Page",{"path":1596,"title":1597,"order":616,"module":616,"status":1318},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F08-dynamic-interfaces-and-project-data\u002F09-inline-editing-and-detail-views","Quiz - Inline Editing And Detail Views",{"path":1599,"title":1600,"order":616,"module":616,"status":1318},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F08-dynamic-interfaces-and-project-data\u002F10-second-project-milestone-checklist","Quiz - Second Project Milestone Checklist",{"path":1602,"title":1603,"order":616,"module":616,"status":1318},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F09-relational-data-search-and-pagination\u002F01-foreign-keys-and-referential-integrity","Quiz - Foreign Keys And Referential Integrity",{"path":1605,"title":1606,"order":616,"module":616,"status":1318},"\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":1608,"title":1609,"order":616,"module":616,"status":1318},"\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":1611,"title":1612,"order":616,"module":616,"status":1318},"\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":1614,"title":1615,"order":616,"module":616,"status":1318},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F09-relational-data-search-and-pagination\u002F05-searching-and-filtering-with-sql","Quiz - Searching And Filtering With SQL",{"path":1617,"title":1618,"order":616,"module":616,"status":616},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F09-relational-data-search-and-pagination\u002F06-pagination-displaying-records-in-pages","Quiz - Pagination: Displaying Records In Pages",{"path":1620,"title":1621,"order":616,"module":616,"status":616},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F09-relational-data-search-and-pagination\u002F07-aggregate-functions-count-sum-avg","Quiz - Aggregate Functions: COUNT, SUM, AVG",{"path":1623,"title":1624,"order":616,"module":616,"status":1318},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F09-relational-data-search-and-pagination\u002F08-simple-analytics-and-summary-views","Quiz - Simple Analytics And Summary Views",{"path":1626,"title":1627,"order":616,"module":616,"status":1318},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F09-relational-data-search-and-pagination\u002F09-third-project-milestone-checklist","Quiz - Third Project Milestone Checklist",{"path":1629,"title":1630,"order":616,"module":616,"status":1318},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F10-final-integration-testing-and-deployment\u002F01-public-pages-and-unauthenticated-views","Quiz - Public Pages And Unauthenticated Views",{"path":1632,"title":1633,"order":616,"module":616,"status":1318},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F10-final-integration-testing-and-deployment\u002F02-user-profile-and-activity-pages","Quiz - User Profile And Activity Pages",{"path":1635,"title":1636,"order":616,"module":616,"status":1318},"\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":1638,"title":1639,"order":616,"module":616,"status":1318},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F10-final-integration-testing-and-deployment\u002F04-application-wide-security-audit","Quiz - Application-Wide Security Audit",{"path":1641,"title":1642,"order":616,"module":616,"status":1318},"\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":1644,"title":1645,"order":616,"module":616,"status":1318},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F10-final-integration-testing-and-deployment\u002F06-qa-testing-and-collecting-evidence","Quiz - QA Testing And Collecting Evidence",{"path":1647,"title":1648,"order":616,"module":616,"status":1318},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F10-final-integration-testing-and-deployment\u002F07-production-environment-checklist","Quiz - Production Environment Checklist",{"path":1650,"title":1651,"order":616,"module":616,"status":1318},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F10-final-integration-testing-and-deployment\u002F08-writing-a-project-readme","Quiz - Writing A Project README",{"path":1653,"title":1654,"order":616,"module":616,"status":1318},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F10-final-integration-testing-and-deployment\u002F09-final-presentation-and-code-walkthrough","Quiz - Final Presentation And Code Walkthrough",{"path":1656,"title":1657,"order":616,"module":616,"status":1318},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F10-final-integration-testing-and-deployment\u002F10-configuration-drift-and-secrets-checks","Quiz - Configuration Drift And Secrets Checks",{"path":1659,"title":1660,"order":629,"module":726,"status":694},"\u002Finternet-applications\u002Fbook\u002Freference\u002Fa-command-line-basics","Command Line Basics",{"path":1662,"title":1663,"order":15,"module":726,"status":694},"\u002Finternet-applications\u002Fbook\u002Freference\u002Fb-git-and-github-recovery","Git And GitHub Recovery",{"path":1665,"title":1666,"order":342,"module":726,"status":694},"\u002Finternet-applications\u002Fbook\u002Freference\u002Fc-apache-and-php-troubleshooting","Apache And PHP Troubleshooting",{"path":1668,"title":1669,"order":633,"module":726,"status":694},"\u002Finternet-applications\u002Fbook\u002Freference\u002Fd-mysql-troubleshooting","MySQL Troubleshooting",{"path":1671,"title":1672,"order":619,"module":726,"status":694},"\u002Finternet-applications\u002Fbook\u002Freference\u002Fe-http-request-and-response-reference","HTTP Request And Response Reference",{"path":1674,"title":1675,"order":686,"module":726,"status":694},"\u002Finternet-applications\u002Fbook\u002Freference\u002Ff-common-security-mistakes","Common Security Mistakes",{"path":1677,"title":1678,"order":690,"module":726,"status":694},"\u002Finternet-applications\u002Fbook\u002Freference\u002Fg-ai-collaboration-and-disclosure","AI Collaboration And Disclosure",{"path":1680,"title":1681,"order":726,"module":726,"status":694},"\u002Finternet-applications\u002Fbook\u002Ftoc","Internet Applications: Table of Contents",{"path":1683,"title":1684,"order":652,"module":629,"status":694},"\u002Finternet-applications\u002Flabs\u002F01-git-recovery-and-submission-evidence","Lab 1: Git Recovery And Submission Evidence",{"path":1686,"title":1687,"order":620,"module":15,"status":694},"\u002Finternet-applications\u002Flabs\u002F02-php-output-and-error-reading","Lab 2: PHP Output And Error Reading",{"path":1689,"title":1690,"order":376,"module":342,"status":694},"\u002Finternet-applications\u002Flabs\u002F03-form-methods-and-sticky-values","Lab 3: Form Methods And Sticky Values",{"path":1692,"title":1693,"order":13,"module":633,"status":694},"\u002Finternet-applications\u002Flabs\u002F04-pdo-query-and-sql-evidence","Lab 4: PDO Query And SQL Evidence",{"path":1695,"title":1696,"order":171,"module":619,"status":694},"\u002Finternet-applications\u002Flabs\u002F05-validation-debugging-and-friendly-errors","Lab 5: Validation, Debugging, And Friendly Errors",{"path":1698,"title":1699,"order":39,"module":686,"status":694},"\u002Finternet-applications\u002Flabs\u002F06-role-protected-crud-check","Lab 6: Role-Protected CRUD Check",{"path":1701,"title":1702,"order":1703,"module":686,"status":694},"\u002Finternet-applications\u002Flabs\u002F06a-relative-paths-includes-and-feature-trace","Lab 6A: Relative Paths, Includes, And Feature Tracing","61",{"path":1705,"title":1706,"order":143,"module":690,"status":694},"\u002Finternet-applications\u002Flabs\u002F07-json-endpoint-and-fetch-check","Lab 7: JSON Endpoint And Fetch Check",{"path":1708,"title":1709,"order":862,"module":771,"status":694},"\u002Finternet-applications\u002Flabs\u002F08-jquery-ajax-interface-check","Lab 8: jQuery AJAX Interface Check",{"path":1711,"title":1712,"order":64,"module":777,"status":694},"\u002Finternet-applications\u002Flabs\u002F09-search-pagination-and-summary-check","Lab 9: Search, Pagination, And Summary Check",{"path":1714,"title":1715,"order":869,"module":652,"status":694},"\u002Finternet-applications\u002Flabs\u002F10-final-security-and-readme-check","Lab 10: Final Security And README Check",{"path":1717,"title":1718,"order":616,"module":616,"status":694},"\u002Finternet-applications\u002Fpresentations-revised\u002F00-revision-plan","Internet Applications Revision Plan - Superseded Historical Baseline",{"path":1720,"title":1721,"order":616,"module":616,"status":694},"\u002Finternet-applications\u002Fpresentations-revised\u002F01-20-minute-recording-plan","Internet Applications Recording Plan - Superseded Historical Baseline",{"path":1723,"title":813,"order":726,"module":629,"status":635},"\u002Finternet-applications\u002Fpresentations\u002F01-git-github-and-course-workflow\u002F00-learn-courses-and-discord",{"path":1725,"title":1726,"order":652,"module":629,"status":635},"\u002Finternet-applications\u002Fpresentations\u002F01-git-github-and-course-workflow\u002F01-basic-cli-commands","Basic CLI Commands",{"path":1728,"title":1729,"order":620,"module":629,"status":635},"\u002Finternet-applications\u002Fpresentations\u002F01-git-github-and-course-workflow\u002F02-install-git-tools","Git Tools",{"path":1731,"title":1732,"order":376,"module":629,"status":635},"\u002Finternet-applications\u002Fpresentations\u002F01-git-github-and-course-workflow\u002F03-setup-github-ssh","Set Up GitHub SSH",{"path":1734,"title":1735,"order":13,"module":629,"status":635},"\u002Finternet-applications\u002Fpresentations\u002F01-git-github-and-course-workflow\u002F04-git-commands-prs","Git Commands And Pull Requests",{"path":1737,"title":1738,"order":171,"module":629,"status":635},"\u002Finternet-applications\u002Fpresentations\u002F01-git-github-and-course-workflow\u002F05-setup-local-development-environment","Local Development Environment Setup",{"path":1740,"title":855,"order":39,"module":629,"status":635},"\u002Finternet-applications\u002Fpresentations\u002F01-git-github-and-course-workflow\u002F06-add-instructor-template-to-your-repository",{"path":1742,"title":858,"order":143,"module":629,"status":635},"\u002Finternet-applications\u002Fpresentations\u002F01-git-github-and-course-workflow\u002F07-qa-prod-branches",{"path":1744,"title":861,"order":862,"module":629,"status":635},"\u002Finternet-applications\u002Fpresentations\u002F01-git-github-and-course-workflow\u002F08-render-setup",{"path":1746,"title":1747,"order":64,"module":629,"status":635},"\u002Finternet-applications\u002Fpresentations\u002F01-git-github-and-course-workflow\u002F09-local-ubuntu-web-server-virtualbox","Local Ubuntu Web Server With VirtualBox",{"path":1749,"title":868,"order":869,"module":629,"status":694},"\u002Finternet-applications\u002Fpresentations\u002F01-git-github-and-course-workflow\u002F10-local-ubuntu-web-server-vmware",{"path":1751,"title":872,"order":652,"module":15,"status":635},"\u002Finternet-applications\u002Fpresentations\u002F02-php-and-javascript-basics\u002F01-compare-php-and-javascript",{"path":1753,"title":875,"order":620,"module":15,"status":635},"\u002Finternet-applications\u002Fpresentations\u002F02-php-and-javascript-basics\u002F02-conditions-loops-functions",{"path":1755,"title":878,"order":652,"module":342,"status":635},"\u002Finternet-applications\u002Fpresentations\u002F03-html-forms-css-and-dom\u002F01-intro-to-html",{"path":1757,"title":881,"order":620,"module":342,"status":635},"\u002Finternet-applications\u002Fpresentations\u002F03-html-forms-css-and-dom\u002F02-intro-to-forms-and-get-post",{"path":1759,"title":884,"order":376,"module":342,"status":635},"\u002Finternet-applications\u002Fpresentations\u002F03-html-forms-css-and-dom\u002F03-understanding-css-js-selectors-and-dom-updates",{"path":1761,"title":887,"order":652,"module":633,"status":635},"\u002Finternet-applications\u002Fpresentations\u002F04-databases-and-user-accounts\u002F01-intro-to-sql",{"path":1763,"title":890,"order":620,"module":633,"status":635},"\u002Finternet-applications\u002Fpresentations\u002F04-databases-and-user-accounts\u002F02-project-database-setup",{"path":1765,"title":893,"order":376,"module":633,"status":635},"\u002Finternet-applications\u002Fpresentations\u002F04-databases-and-user-accounts\u002F03-user-registration",{"path":1767,"title":896,"order":13,"module":633,"status":635},"\u002Finternet-applications\u002Fpresentations\u002F04-databases-and-user-accounts\u002F04-user-login",{"path":1769,"title":899,"order":652,"module":619,"status":635},"\u002Finternet-applications\u002Fpresentations\u002F05-validation-and-user-profiles\u002F01-intro-to-regex",{"path":1771,"title":902,"order":620,"module":619,"status":635},"\u002Finternet-applications\u002Fpresentations\u002F05-validation-and-user-profiles\u002F02-project-shared-helpers",{"path":1773,"title":1774,"order":376,"module":619,"status":635},"\u002Finternet-applications\u002Fpresentations\u002F05-validation-and-user-profiles\u002F03-flash-messages-and-redirect-feedback","Flash Messages And Redirect Feedback",{"path":1776,"title":908,"order":13,"module":619,"status":635},"\u002Finternet-applications\u002Fpresentations\u002F05-validation-and-user-profiles\u002F04-user-profile",{"path":1778,"title":911,"order":652,"module":686,"status":635},"\u002Finternet-applications\u002Fpresentations\u002F06-roles-and-crud-pages\u002F01-user-roles-authorization",{"path":1780,"title":914,"order":620,"module":686,"status":635},"\u002Finternet-applications\u002Fpresentations\u002F06-roles-and-crud-pages\u002F02-user-login-enhancement",{"path":1782,"title":917,"order":376,"module":686,"status":635},"\u002Finternet-applications\u002Fpresentations\u002F06-roles-and-crud-pages\u002F03-dynamic-content",{"path":1784,"title":920,"order":652,"module":690,"status":635},"\u002Finternet-applications\u002Fpresentations\u002F07-api-data-and-database-helpers\u002F01-working-with-api-data",{"path":1786,"title":923,"order":620,"module":690,"status":635},"\u002Finternet-applications\u002Fpresentations\u002F07-api-data-and-database-helpers\u002F02-api-integration",{"path":1788,"title":926,"order":376,"module":690,"status":635},"\u002Finternet-applications\u002Fpresentations\u002F07-api-data-and-database-helpers\u002F03-database-utility-functions",{"path":1790,"title":929,"order":652,"module":771,"status":635},"\u002Finternet-applications\u002Fpresentations\u002F08-reusable-components-jquery-and-ajax\u002F01-milestone-2-bootstrap-and-reusability",{"path":1792,"title":932,"order":620,"module":771,"status":635},"\u002Finternet-applications\u002Fpresentations\u002F08-reusable-components-jquery-and-ajax\u002F02-jquery-brief-intro",{"path":1794,"title":935,"order":376,"module":771,"status":635},"\u002Finternet-applications\u002Fpresentations\u002F08-reusable-components-jquery-and-ajax\u002F03-intro-to-ajax",{"path":1796,"title":938,"order":652,"module":777,"status":635},"\u002Finternet-applications\u002Fpresentations\u002F09-relational-data-search-and-pagination\u002F01-user-associations",{"path":1798,"title":941,"order":620,"module":777,"status":635},"\u002Finternet-applications\u002Fpresentations\u002F09-relational-data-search-and-pagination\u002F02-association-views-and-pagination",{"path":1800,"title":944,"order":652,"module":652,"status":635},"\u002Finternet-applications\u002Fpresentations\u002F10-association-assignment-and-security\u002F01-association-assignment-and-public-profiles",{"path":1802,"title":947,"order":620,"module":652,"status":635},"\u002Finternet-applications\u002Fpresentations\u002F10-association-assignment-and-security\u002F02-reusable-csrf-protection",{"path":1804,"title":950,"order":629,"module":726,"status":635},"\u002Finternet-applications\u002Fsyllabus\u002Fsummer-2026",{"path":1806,"title":1807,"order":1808,"module":652,"status":694},"\u002Finternet-applications\u002Fworksheets\u002Ffinal-project-submission-worksheet","Final Project Submission Worksheet","110",{"path":1810,"title":1811,"order":1812,"module":686,"status":694},"\u002Finternet-applications\u002Fworksheets\u002Flegacy-milestone-01-worksheet","Legacy Milestone 1 Worksheet","118",{"path":1814,"title":1815,"order":1816,"module":686,"status":694},"\u002Finternet-applications\u002Fworksheets\u002Flegacy-multi-dimension-php-problems-worksheet","Legacy Multi-Dimension PHP Problems Worksheet","119",{"path":1818,"title":1819,"order":1808,"module":686,"status":694},"\u002Finternet-applications\u002Fworksheets\u002Fmilestone-01-account-access-and-profile-worksheet","IT202 Milestone 1 - 2026",{"path":1821,"title":1822,"order":221,"module":771,"status":694},"\u002Finternet-applications\u002Fworksheets\u002Fmilestone-02-api-data-and-crud-worksheet","IT202 Milestone 2 - 2026",{"path":1824,"title":1825,"order":1826,"module":777,"status":694},"\u002Finternet-applications\u002Fworksheets\u002Fmilestone-03-user-associations-worksheet","IT202 Milestone 3 - 2026","130",{"path":1828,"title":1829,"order":652,"module":629,"status":694},"\u002Finternet-applications\u002Fworksheets\u002Fmodule-01-git-and-local-server-worksheet","Module 1 Worksheet: Git, GitHub, And Local Server Evidence",{"path":1831,"title":1832,"order":620,"module":15,"status":694},"\u002Finternet-applications\u002Fworksheets\u002Fmodule-02-php-and-debugging-worksheet","Module 2 Worksheet: PHP Challenge Scenarios",{"path":1834,"title":1835,"order":376,"module":342,"status":694},"\u002Finternet-applications\u002Fworksheets\u002Fmodule-03-forms-css-and-dom-worksheet","Module 3 Worksheet: HTML, CSS, JS Challenges",{"path":1837,"title":1838,"order":13,"module":633,"status":694},"\u002Finternet-applications\u002Fworksheets\u002Fmodule-04-database-auth-and-sessions-worksheet","Module 4 Worksheet: SQL Todo Challenge",{"path":1840,"title":1841,"order":171,"module":619,"status":694},"\u002Finternet-applications\u002Fworksheets\u002Fmodule-05-validation-and-debugging-worksheet","Module 5 Worksheet: Validation And Debugging Evidence",{"path":1843,"title":1844,"order":39,"module":686,"status":694},"\u002Finternet-applications\u002Fworksheets\u002Fmodule-06-authorization-and-crud-worksheet","Module 6 Worksheet: Authorization And CRUD Evidence",{"path":1846,"title":1847,"order":1848,"module":686,"status":694},"\u002Finternet-applications\u002Fworksheets\u002Fmodule-06-multi-dimensional-php-arrays-worksheet","Module 06 Worksheet: Multi-Dimensional PHP Arrays","62",{"path":1850,"title":1851,"order":143,"module":690,"status":694},"\u002Finternet-applications\u002Fworksheets\u002Fmodule-07-api-testing-worksheet","Module 07 Worksheet: Project API Testing",{"path":1853,"title":1854,"order":862,"module":771,"status":694},"\u002Finternet-applications\u002Fworksheets\u002Fmodule-08-jquery-and-dynamic-ui-worksheet","Module 8 Worksheet: jQuery And Dynamic UI Evidence",{"path":1856,"title":1857,"order":64,"module":777,"status":694},"\u002Finternet-applications\u002Fworksheets\u002Fmodule-09-search-pagination-and-summary-worksheet","Module 9 Worksheet: Search, Pagination, And Summary Evidence",{"path":1859,"title":1860,"order":869,"module":652,"status":694},"\u002Finternet-applications\u002Fworksheets\u002Fmodule-10-final-project-readiness-worksheet","Module 10 Worksheet: Final Project Readiness Evidence",{"path":1862,"title":1863,"order":39,"module":629,"status":694},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F01-module-1-course-setup\u002F06-java-environment-setup","IT114 Java Environment Setup",{"path":1865,"title":1866,"order":652,"module":15,"status":635},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F02-module-2-java-basics\u002F01-java-basics","Java Basics",{"path":1868,"title":1869,"order":620,"module":15,"status":635},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F02-module-2-java-basics\u002F02-flow-control","Java Flow Control",{"path":1871,"title":1872,"order":376,"module":15,"status":635},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F02-module-2-java-basics\u002F03-loops","Java Loops",{"path":1874,"title":1875,"order":13,"module":15,"status":635},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F02-module-2-java-basics\u002F04-collections","Java Arrays, Queue, Stack, ArrayList",{"path":1877,"title":1878,"order":652,"module":342,"status":635},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F03-module-3-java-io-and-oop\u002F01-user-input","Java User Input",{"path":1880,"title":1881,"order":620,"module":342,"status":635},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F03-module-3-java-io-and-oop\u002F02-oop-modifiers","Java Intro to OOP - Modifiers",{"path":1883,"title":1884,"order":376,"module":342,"status":635},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F03-module-3-java-io-and-oop\u002F03-file-io","Java File I\u002FO",{"path":1886,"title":1887,"order":13,"module":342,"status":635},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F03-module-3-java-io-and-oop\u002F04-recursion-trees","Java Recursion and Trees",{"path":1889,"title":1890,"order":652,"module":633,"status":635},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F04-module-4-sockets-and-oop\u002F01-sockets-overview","Java Sockets: Overview",{"path":1892,"title":1893,"order":620,"module":633,"status":635},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F04-module-4-sockets-and-oop\u002F02-oop-intermediate","Java OOP Intermediate",{"path":1895,"title":1896,"order":376,"module":633,"status":635},"\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":1898,"title":1899,"order":13,"module":633,"status":635},"\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":1901,"title":1902,"order":620,"module":686,"status":635},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F06-module-6-milestone-2-prep\u002F02-prepare-milestone-2-2026","Preparing the Java Project Framework",{"path":1904,"title":1905,"order":652,"module":690,"status":635},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F06-module-6-milestone-2-prep\u002F03-gameserver-ready-check","GameServer: Ready Check",{"path":1907,"title":1908,"order":652,"module":690,"status":694},"\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":1910,"title":1911,"order":620,"module":690,"status":694},"\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":1913,"title":1914,"order":376,"module":690,"status":694},"\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":1916,"title":1917,"order":13,"module":690,"status":694},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F07-module-7-game-rooms-and-turns\u002F04-simultaneous-turns","Java Advanced Programming Milestone 2: Simultaneous Turns",{"path":1919,"title":1920,"order":171,"module":690,"status":694},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F07-module-7-game-rooms-and-turns\u002F05-individual-turns","Java Advanced Programming Milestone 2: Individual Turns",{"path":1922,"title":1923,"order":652,"module":771,"status":694},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F08-module-8-grids-cards-and-ui\u002F01-grid-integration","Java Advanced Programming Milestone 2: Grid Integration",{"path":1925,"title":1926,"order":620,"module":771,"status":694},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F08-module-8-grids-cards-and-ui\u002F02-card-integration","Java Advanced Programming Milestone 2: Cards Integration",{"path":1928,"title":1929,"order":376,"module":771,"status":694},"\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":1931,"title":1932,"order":13,"module":771,"status":694},"\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":1934,"title":1935,"order":171,"module":771,"status":694},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F08-module-8-grids-cards-and-ui\u002F05-java-ui-intro","Java Advanced Programming Java UI 2025",{"path":1937,"title":1938,"order":652,"module":777,"status":694},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F09-module-9-ui-integration\u002F01-ui-integration-2026","UI Integration 2026",{"path":1940,"title":1941,"order":620,"module":777,"status":694},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F09-module-9-ui-integration\u002F02-ui-drawing","UI Drawing",{"path":1943,"title":1944,"order":376,"module":777,"status":694},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F09-module-9-ui-integration\u002F03-baseline-ui-integration","Baseline UI Integration",{"path":1946,"title":1947,"order":13,"module":777,"status":694},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F09-module-9-ui-integration\u002F04-ndff-ui-integration","NDFF UI Integration",{"path":1949,"title":1950,"order":171,"module":777,"status":694},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F09-module-9-ui-integration\u002F05-equals-6-ui","Equals 6 UI",{"path":1952,"title":1953,"order":39,"module":777,"status":694},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F09-module-9-ui-integration\u002F06-popularity-mini-project","Popularity Mini Project",{"path":1955,"title":1956,"order":652,"module":652,"status":694},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F10-module-10-wrap-up-and-deployment\u002F01-milestone-3-wrapup","Milestone 3 Wrapup",{"path":1958,"title":1959,"order":620,"module":652,"status":694},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F10-module-10-wrap-up-and-deployment\u002F02-deploying-java-apps","Deploying Java Apps",{"path":1961,"title":1962,"order":376,"module":652,"status":694},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F10-module-10-wrap-up-and-deployment\u002F03-ndff-away-spectator","NDFF Away Spectator",{"path":1964,"title":1965,"order":771,"module":686,"status":635},"\u002Fjava-advanced-programming\u002F2e\u002Fprojects\u002Fbattleship","Battleship Project",{"path":1967,"title":1968,"order":619,"module":686,"status":635},"\u002Fjava-advanced-programming\u002F2e\u002Fprojects\u002Fdrawing","Drawing Project",{"path":1970,"title":1971,"order":342,"module":686,"status":635},"\u002Fjava-advanced-programming\u002F2e\u002Fprojects\u002Fgo-fish","Go Fish Project",{"path":1973,"title":1974,"order":633,"module":686,"status":635},"\u002Fjava-advanced-programming\u002F2e\u002Fprojects\u002Fhangman","Hangman Project",{"path":1976,"title":1977,"order":629,"module":686,"status":635},"\u002Fjava-advanced-programming\u002F2e\u002Fprojects","IT114 Project Choices",{"path":1979,"title":1980,"order":686,"module":686,"status":635},"\u002Fjava-advanced-programming\u002F2e\u002Fprojects\u002Frock-paper-scissors","Rock Paper Scissors Project",{"path":1982,"title":1983,"order":15,"module":686,"status":635},"\u002Fjava-advanced-programming\u002F2e\u002Fprojects\u002Fshared-requirements","IT114 Shared Project Requirements",{"path":1985,"title":1986,"order":690,"module":686,"status":635},"\u002Fjava-advanced-programming\u002F2e\u002Fprojects\u002Ftrivia","Trivia Project",{"path":1988,"title":1989,"order":629,"module":726,"status":635},"\u002Fjava-advanced-programming\u002F2e\u002Fsyllabus\u002Ffall-2026","IT114 - Advanced Programming for Information Technology",{"path":1991,"title":953,"order":652,"module":629,"status":635},"\u002Fjava-advanced-programming\u002F2e\u002Fworksheets\u002Fmodule-01-getting-started",{"path":1993,"title":1994,"order":620,"module":15,"status":635},"\u002Fjava-advanced-programming\u002F2e\u002Fworksheets\u002Fmodule-02-java-challenges","Module 2 Java Challenges",{"path":1996,"title":1997,"order":652,"module":629,"status":694},"\u002Fjava-advanced-programming\u002Fbook\u002Fmodules\u002F01-course-setup-and-workflow\u002F01-course-tools-and-workflow","Course Tools And Workflow",{"path":1999,"title":2000,"order":620,"module":629,"status":694},"\u002Fjava-advanced-programming\u002Fbook\u002Fmodules\u002F01-course-setup-and-workflow\u002F02-terminal-git-and-github","Terminal, Git, And GitHub Basics",{"path":2002,"title":2003,"order":376,"module":629,"status":694},"\u002Fjava-advanced-programming\u002Fbook\u002Fmodules\u002F01-course-setup-and-workflow\u002F03-java-development-environment","Java Development Environment",{"path":2005,"title":2006,"order":652,"module":15,"status":694},"\u002Fjava-advanced-programming\u002Fbook\u002Fmodules\u002F02-java-basics\u002F01-java-program-shape","The Shape Of A Java Program",{"path":2008,"title":2009,"order":620,"module":15,"status":694},"\u002Fjava-advanced-programming\u002Fbook\u002Fmodules\u002F02-java-basics\u002F02-values-types-and-expressions","Values, Types, And Expressions",{"path":2011,"title":2012,"order":376,"module":15,"status":694},"\u002Fjava-advanced-programming\u002Fbook\u002Fmodules\u002F02-java-basics\u002F03-conditions-loops-and-collections","Conditions, Loops, And Collections",{"path":2014,"title":2015,"order":652,"module":342,"status":694},"\u002Fjava-advanced-programming\u002Fbook\u002Fmodules\u002F03-java-input-io-and-oop\u002F01-user-input-and-output","User Input And Program Output",{"path":2017,"title":2018,"order":620,"module":342,"status":694},"\u002Fjava-advanced-programming\u002Fbook\u002Fmodules\u002F03-java-input-io-and-oop\u002F02-classes-objects-and-modifiers","Classes, Objects, And Modifiers",{"path":2020,"title":2021,"order":376,"module":342,"status":694},"\u002Fjava-advanced-programming\u002Fbook\u002Fmodules\u002F03-java-input-io-and-oop\u002F03-file-io-paths-and-exceptions","File I\u002FO, Paths, And Exceptions",{"path":2023,"title":2024,"order":13,"module":342,"status":694},"\u002Fjava-advanced-programming\u002Fbook\u002Fmodules\u002F03-java-input-io-and-oop\u002F04-recursion-and-trees","Recursion And Tree Thinking",{"path":2026,"title":2027,"order":652,"module":633,"status":694},"\u002Fjava-advanced-programming\u002Fbook\u002Fmodules\u002F04-sockets-and-oop\u002F01-sockets-client-server","Sockets And Client\u002FServer Thinking",{"path":2029,"title":2030,"order":620,"module":633,"status":694},"\u002Fjava-advanced-programming\u002Fbook\u002Fmodules\u002F04-sockets-and-oop\u002F02-server-socket-flow","The ServerSocket Flow",{"path":2032,"title":2033,"order":376,"module":633,"status":694},"\u002Fjava-advanced-programming\u002Fbook\u002Fmodules\u002F04-sockets-and-oop\u002F03-oop-for-socket-apps","OOP For Socket Applications",{"path":2035,"title":2036,"order":652,"module":619,"status":694},"\u002Fjava-advanced-programming\u002Fbook\u002Fmodules\u002F05-multi-client-sockets\u002F01-multi-client-server-shape","Multi-Client Server Shape",{"path":2038,"title":2039,"order":620,"module":619,"status":694},"\u002Fjava-advanced-programming\u002Fbook\u002Fmodules\u002F05-multi-client-sockets\u002F02-threads-shared-state-and-message-routing","Threads, Shared State, And Message Routing",{"path":2041,"title":2042,"order":376,"module":619,"status":694},"\u002Fjava-advanced-programming\u002Fbook\u002Fmodules\u002F05-multi-client-sockets\u002F03-debugging-socket-programs","Debugging Socket Programs",{"path":2044,"title":2045,"order":726,"module":726,"status":694},"\u002Fjava-advanced-programming\u002Fbook\u002Ftoc","Java Advanced Programming: Table of Contents",{"path":2047,"title":2048,"order":616,"module":616,"status":694},"\u002Fjava-advanced-programming\u002Fpresentations-revised\u002F00-revision-plan","Java Advanced Programming Revision Plan - Superseded Historical Baseline",{"path":2050,"title":2051,"order":616,"module":616,"status":694},"\u002Fjava-advanced-programming\u002Fpresentations-revised\u002F01-20-minute-recording-plan","Java Advanced Programming Recording Plan - Superseded Historical Baseline",{"path":2053,"title":1726,"order":652,"module":629,"status":694},"\u002Fjava-advanced-programming\u002Fpresentations\u002F01-module-1-course-setup\u002F01-basic-cli-commands",{"path":2055,"title":1729,"order":620,"module":629,"status":694},"\u002Fjava-advanced-programming\u002Fpresentations\u002F01-module-1-course-setup\u002F02-install-git-tools",{"path":2057,"title":1732,"order":376,"module":629,"status":694},"\u002Fjava-advanced-programming\u002Fpresentations\u002F01-module-1-course-setup\u002F03-setup-github-ssh",{"path":2059,"title":1735,"order":13,"module":629,"status":694},"\u002Fjava-advanced-programming\u002Fpresentations\u002F01-module-1-course-setup\u002F04-git-commands-prs",{"path":2061,"title":2062,"order":171,"module":629,"status":694},"\u002Fjava-advanced-programming\u002Fpresentations\u002F01-module-1-course-setup\u002F05-course-repo-setup","Course Repository Setup",{"path":2064,"title":2065,"order":39,"module":629,"status":694},"\u002Fjava-advanced-programming\u002Fpresentations\u002F01-module-1-course-setup\u002F06-java-environment-setup","Java Development Environment Setup",{"path":2067,"title":1866,"order":652,"module":15,"status":694},"\u002Fjava-advanced-programming\u002Fpresentations\u002F02-module-2-java-basics\u002F01-java-basics",{"path":2069,"title":1869,"order":620,"module":15,"status":694},"\u002Fjava-advanced-programming\u002Fpresentations\u002F02-module-2-java-basics\u002F02-flow-control",{"path":2071,"title":1872,"order":376,"module":15,"status":694},"\u002Fjava-advanced-programming\u002Fpresentations\u002F02-module-2-java-basics\u002F03-loops",{"path":2073,"title":1875,"order":13,"module":15,"status":694},"\u002Fjava-advanced-programming\u002Fpresentations\u002F02-module-2-java-basics\u002F04-collections",{"path":2075,"title":1878,"order":652,"module":342,"status":694},"\u002Fjava-advanced-programming\u002Fpresentations\u002F03-module-3-java-io-and-oop\u002F01-user-input",{"path":2077,"title":1881,"order":620,"module":342,"status":694},"\u002Fjava-advanced-programming\u002Fpresentations\u002F03-module-3-java-io-and-oop\u002F02-oop-modifiers",{"path":2079,"title":1884,"order":376,"module":342,"status":694},"\u002Fjava-advanced-programming\u002Fpresentations\u002F03-module-3-java-io-and-oop\u002F03-file-io",{"path":2081,"title":1887,"order":13,"module":342,"status":694},"\u002Fjava-advanced-programming\u002Fpresentations\u002F03-module-3-java-io-and-oop\u002F04-recursion-trees",{"path":2083,"title":1890,"order":652,"module":633,"status":694},"\u002Fjava-advanced-programming\u002Fpresentations\u002F04-module-4-sockets-and-oop\u002F01-sockets-overview",{"path":2085,"title":1893,"order":620,"module":633,"status":694},"\u002Fjava-advanced-programming\u002Fpresentations\u002F04-module-4-sockets-and-oop\u002F02-oop-intermediate",{"path":2087,"title":1896,"order":376,"module":633,"status":694},"\u002Fjava-advanced-programming\u002Fpresentations\u002F04-module-4-sockets-and-oop\u002F03-multi-client-chat-part-1",{"path":2089,"title":1899,"order":652,"module":619,"status":694},"\u002Fjava-advanced-programming\u002Fpresentations\u002F05-module-5-multi-client-sockets\u002F01-multi-client-chat-part-2",{"path":2091,"title":2092,"order":652,"module":686,"status":694},"\u002Fjava-advanced-programming\u002Fpresentations\u002F06-module-6-milestone-2-prep\u002F01-prepare-milestone-2-2025","Java Advanced Programming Preparing for Milestone2 2025",{"path":2094,"title":2095,"order":620,"module":686,"status":694},"\u002Fjava-advanced-programming\u002Fpresentations\u002F06-module-6-milestone-2-prep\u002F02-prepare-milestone-2-2026","Java Advanced Programming Preparing for Milestone 2",{"path":2097,"title":2098,"order":376,"module":686,"status":694},"\u002Fjava-advanced-programming\u002Fpresentations\u002F06-module-6-milestone-2-prep\u002F03-gameserver-ready-check","Java Advanced Programming Milestone 2: GameServer Ready Check",{"path":2100,"title":1908,"order":652,"module":690,"status":694},"\u002Fjava-advanced-programming\u002Fpresentations\u002F07-module-7-game-rooms-and-turns\u002F01-game-rooms-ready-check",{"path":2102,"title":1911,"order":620,"module":690,"status":694},"\u002Fjava-advanced-programming\u002Fpresentations\u002F07-module-7-game-rooms-and-turns\u002F02-round-robin-turns",{"path":2104,"title":1914,"order":376,"module":690,"status":694},"\u002Fjava-advanced-programming\u002Fpresentations\u002F07-module-7-game-rooms-and-turns\u002F03-phase-based-turns",{"path":2106,"title":1917,"order":13,"module":690,"status":694},"\u002Fjava-advanced-programming\u002Fpresentations\u002F07-module-7-game-rooms-and-turns\u002F04-simultaneous-turns",{"path":2108,"title":1920,"order":171,"module":690,"status":694},"\u002Fjava-advanced-programming\u002Fpresentations\u002F07-module-7-game-rooms-and-turns\u002F05-individual-turns",{"path":2110,"title":1923,"order":652,"module":771,"status":694},"\u002Fjava-advanced-programming\u002Fpresentations\u002F08-module-8-grids-cards-and-ui\u002F01-grid-integration",{"path":2112,"title":1926,"order":620,"module":771,"status":694},"\u002Fjava-advanced-programming\u002Fpresentations\u002F08-module-8-grids-cards-and-ui\u002F02-card-integration",{"path":2114,"title":1929,"order":376,"module":771,"status":694},"\u002Fjava-advanced-programming\u002Fpresentations\u002F08-module-8-grids-cards-and-ui\u002F03-equals-6-mini-project",{"path":2116,"title":1932,"order":13,"module":771,"status":694},"\u002Fjava-advanced-programming\u002Fpresentations\u002F08-module-8-grids-cards-and-ui\u002F04-nice-day-for-fishin",{"path":2118,"title":1935,"order":171,"module":771,"status":694},"\u002Fjava-advanced-programming\u002Fpresentations\u002F08-module-8-grids-cards-and-ui\u002F05-java-ui-intro",{"path":2120,"title":1938,"order":652,"module":777,"status":694},"\u002Fjava-advanced-programming\u002Fpresentations\u002F09-module-9-ui-integration\u002F01-ui-integration-2026",{"path":2122,"title":1941,"order":620,"module":777,"status":694},"\u002Fjava-advanced-programming\u002Fpresentations\u002F09-module-9-ui-integration\u002F02-ui-drawing",{"path":2124,"title":1944,"order":376,"module":777,"status":694},"\u002Fjava-advanced-programming\u002Fpresentations\u002F09-module-9-ui-integration\u002F03-baseline-ui-integration",{"path":2126,"title":1947,"order":13,"module":777,"status":694},"\u002Fjava-advanced-programming\u002Fpresentations\u002F09-module-9-ui-integration\u002F04-ndff-ui-integration",{"path":2128,"title":1950,"order":171,"module":777,"status":694},"\u002Fjava-advanced-programming\u002Fpresentations\u002F09-module-9-ui-integration\u002F05-equals-6-ui",{"path":2130,"title":1953,"order":39,"module":777,"status":694},"\u002Fjava-advanced-programming\u002Fpresentations\u002F09-module-9-ui-integration\u002F06-popularity-mini-project",{"path":2132,"title":1956,"order":652,"module":652,"status":694},"\u002Fjava-advanced-programming\u002Fpresentations\u002F10-module-10-wrap-up-and-deployment\u002F01-milestone-3-wrapup",{"path":2134,"title":1959,"order":620,"module":652,"status":694},"\u002Fjava-advanced-programming\u002Fpresentations\u002F10-module-10-wrap-up-and-deployment\u002F02-deploying-java-apps",{"path":2136,"title":1962,"order":376,"module":652,"status":694},"\u002Fjava-advanced-programming\u002Fpresentations\u002F10-module-10-wrap-up-and-deployment\u002F03-ndff-away-spectator",{"path":2138,"title":2139,"order":620,"module":15,"status":635},"\u002Fsystems-integration\u002F2e\u002Fpresentations\u002F01-required-architecture-overview","Required Architecture Overview",{"path":2141,"title":2142,"order":652,"module":629,"status":694},"\u002Fsystems-integration\u002F2e\u002Fpresentations\u002F02-team-workflow-and-project-evidence","Team Workflow And Project Evidence",{"path":2144,"title":2145,"order":376,"module":15,"status":635},"\u002Fsystems-integration\u002F2e\u002Fpresentations\u002F03-architecture-planning-and-vm-communication-practice","Architecture Planning And VM Communication Practice",{"path":2147,"title":2148,"order":13,"module":342,"status":694},"\u002Fsystems-integration\u002F2e\u002Fpresentations\u002F04-role-based-vm-baseline-and-centralized-logging","Role-Based VM Baseline And Logging System",{"path":2150,"title":2151,"order":171,"module":633,"status":635},"\u002Fsystems-integration\u002F2e\u002Fpresentations\u002F05-authentication-and-authorization","Authentication And Authorization Across VMs",{"path":2153,"title":2154,"order":39,"module":619,"status":635},"\u002Fsystems-integration\u002F2e\u002Fpresentations\u002F06-mvp-feature-work","MVP Feature Work",{"path":2156,"title":2157,"order":629,"module":726,"status":635},"\u002Fsystems-integration\u002F2e\u002Fsyllabus\u002Ffall-2026","IT490 - Systems Integration Syllabus",{"path":2159,"title":2160,"order":629,"module":726,"status":635},"\u002Fsystems-integration","Systems Integration",{"path":2162,"title":2163,"order":616,"module":616,"status":694},"\u002Fsystems-integration\u002Fpresentations-revised\u002F00-revision-plan","Systems Integration Revision Plan - Superseded Historical Baseline",{"path":2165,"title":2166,"order":616,"module":616,"status":694},"\u002Fsystems-integration\u002Fpresentations-revised\u002F01-20-minute-recording-plan","Systems Integration Recording Plan - Superseded Historical Baseline",{"path":2168,"title":2139,"order":652,"module":629,"status":635},"\u002Fsystems-integration\u002Fpresentations\u002F01-required-architecture-overview",{"path":2170,"title":2157,"order":629,"module":726,"status":635},"\u002Fsystems-integration\u002Fsyllabus\u002Fsummer-2026",{"path":2172,"title":2173,"order":616,"module":616,"status":616},"\u002Fsystems-integration\u002Fworksheets\u002Fit490-authentication-authorization-core-2026-draft","IT490 Authentication and Authorization Core Milestone (2026)",{"path":2175,"title":2176,"order":616,"module":616,"status":616},"\u002Fsystems-integration\u002Fworksheets\u002Fit490-centralized-logging-milestone-draft","IT490 Centralized Logging Milestone",{"path":2178,"title":2179,"order":616,"module":616,"status":616},"\u002Fsystems-integration\u002Fworksheets\u002Fit490-milestone-3-resiliency-2026-draft","IT490 Milestone 3 - Deployment, Promotion, And Recovery",{"path":2181,"title":2182,"order":616,"module":616,"status":616},"\u002Fsystems-integration\u002Fworksheets\u002Fit490-milestone-4-availability-2026-draft","IT490 Milestone 4 - Availability, Load Balancing, And Recovery",{"path":2184,"title":2185,"order":620,"module":726,"status":694},"\u002Fsystems-integration\u002Fworksheets\u002Fmeeting-minutes-template","IT490 Meeting Minutes Template",{"path":2187,"title":2188,"order":376,"module":726,"status":694},"\u002Fsystems-integration\u002Fworksheets\u002Fproject-changelog-template","IT490 Project Change Log Template",{"path":2190,"title":2191,"order":652,"module":726,"status":694},"\u002Fsystems-integration\u002Fworksheets\u002Fproject-proposal-template","IT490 Project Proposal Template",{"id":4,"title":5,"audience":6,"body":2193,"contentType":614,"course":615,"courseId":616,"description":617,"estimateBasis":618,"estimatedDiscussionMinutes":619,"estimatedLiveMinutes":620,"estimatedRecordingMinutes":621,"estimatedTitleSeconds":616,"estimatedTotalMinutes":622,"estimatedTraceMinutes":619,"extension":623,"meta":2600,"module":629,"navigation":630,"order":39,"path":631,"presentationRole":632,"promptAssist":625,"revision":633,"semester":616,"seo":2602,"status":635,"stem":636,"syllabus":616,"tags":2603,"updated":643,"videoDuration":616,"videoId":616,"videoLink":616,"videoTitle":616,"week":629,"__hash__":644},{"type":8,"value":2194,"toc":2580},[2195,2209,2225,2281,2299,2335,2365,2387,2411,2435,2451,2467,2481,2495,2515,2531,2566],[11,2196,2197,2199],{"estimated-seconds":13,"id":14,"level":15},[17,2198,20],{"id":19},[22,2200,2201,2203,2205,2207],{},[25,2202,27],{},[25,2204,30],{},[25,2206,33],{},[25,2208,36],{},[11,2210,2211,2213],{"estimated-seconds":39,"id":40,"level":15},[17,2212,44],{"id":43},[22,2214,2215,2217,2219,2221,2223],{},[25,2216,49],{},[25,2218,52],{},[25,2220,55],{},[25,2222,58],{},[25,2224,61],{},[11,2226,2227,2229],{"estimated-seconds":64,"id":65,"level":15},[17,2228,69],{"id":68},[71,2230,2231,2239],{},[74,2232,2233],{},[77,2234,2235,2237],{},[80,2236,82],{},[80,2238,85],{},[87,2240,2241,2249,2257,2265,2273],{},[77,2242,2243,2247],{},[92,2244,2245],{},[95,2246,97],{},[92,2248,100],{},[77,2250,2251,2255],{},[92,2252,2253],{},[95,2254,107],{},[92,2256,110],{},[77,2258,2259,2263],{},[92,2260,2261],{},[95,2262,117],{},[92,2264,120],{},[77,2266,2267,2271],{},[92,2268,2269],{},[95,2270,127],{},[92,2272,130],{},[77,2274,2275,2279],{},[92,2276,2277],{},[95,2278,137],{},[92,2280,140],{},[11,2282,2283,2285],{"estimated-seconds":143,"id":144,"level":15},[17,2284,148],{"id":147},[22,2286,2287,2289,2291,2293,2295,2297],{},[25,2288,153],{},[25,2290,156],{},[25,2292,159],{},[25,2294,162],{},[25,2296,165],{},[25,2298,168],{},[11,2300,2301,2303,2333],{"estimated-seconds":171,"id":172,"level":15},[17,2302,176],{"id":175},[71,2304,2305,2313],{},[74,2306,2307],{},[77,2308,2309,2311],{},[80,2310,185],{},[80,2312,188],{},[87,2314,2315,2321,2327],{},[77,2316,2317,2319],{},[92,2318,195],{},[92,2320,198],{},[77,2322,2323,2325],{},[92,2324,203],{},[92,2326,206],{},[77,2328,2329,2331],{},[92,2330,211],{},[92,2332,214],{},[216,2334,218],{},[11,2336,2337,2339,2363],{"estimated-seconds":221,"id":222,"level":15},[17,2338,226],{"id":225},[22,2340,2341,2347,2351,2355,2359],{},[25,2342,2343,234,2345,239],{},[95,2344,233],{},[236,2346,238],{},[25,2348,2349,245],{},[95,2350,244],{},[25,2352,2353,251],{},[95,2354,250],{},[25,2356,2357,257],{},[95,2358,256],{},[25,2360,2361,263],{},[95,2362,262],{},[216,2364,266],{},[11,2366,2367,2369,2371,2375,2377,2385],{"estimated-seconds":39,"id":269,"level":15},[17,2368,273],{"id":272},[216,2370,276],{},[278,2372,2373],{},[216,2374,282],{},[216,2376,285],{},[22,2378,2379,2381,2383],{},[25,2380,290],{},[25,2382,293],{},[25,2384,296],{},[216,2386,299],{},[11,2388,2389,2391],{"estimated-seconds":302,"id":303,"level":15},[17,2390,307],{"id":306},[303,2392,2393,2403],{},[311,2394,2395],{"v-slot:questions":313},[315,2396,2397,2399,2401],{},[25,2398,319],{},[25,2400,322],{},[25,2402,325],{},[311,2404,2405,2407,2409],{"v-slot:answers":313},[329,2406,331],{},[329,2408,334],{},[329,2410,337],{},[11,2412,2413,2415],{"estimated-seconds":340,"id":341,"level":342},[344,2414,347],{"id":346},[303,2416,2417,2427],{},[311,2418,2419],{"v-slot:questions":313},[315,2420,2421,2423,2425],{},[25,2422,356],{},[25,2424,359],{},[25,2426,362],{},[311,2428,2429,2431,2433],{"v-slot:answers":313},[329,2430,367],{},[329,2432,370],{},[329,2434,373],{},[11,2436,2437,2439,2441],{"estimated-seconds":376,"id":377,"level":15,"trace":378},[17,2438,382],{"id":381},[216,2440,385],{},[22,2442,2443,2445,2447,2449],{},[25,2444,390],{},[25,2446,393],{},[25,2448,396],{},[25,2450,399],{},[11,2452,2453,2455,2457,2461],{"estimated-seconds":402,"id":403,"level":342,"trace":378},[17,2454,407],{"id":406},[216,2456,410],{},[278,2458,2459],{},[216,2460,415],{},[22,2462,2463,2465],{},[25,2464,420],{},[25,2466,423],{},[11,2468,2469,2471,2473,2475],{"estimated-seconds":402,"id":426,"level":342,"trace":378},[17,2470,430],{"id":429},[216,2472,433],{},[435,2474],{"language":437,"src":438},[22,2476,2477,2479],{},[25,2478,443],{},[25,2480,446],{},[11,2482,2483,2485,2487,2489],{"estimated-seconds":402,"id":449,"level":342,"trace":378},[17,2484,453],{"id":452},[216,2486,456],{},[435,2488],{"language":459,"src":460},[22,2490,2491,2493],{},[25,2492,465],{},[25,2494,468],{},[11,2496,2497,2499,2501,2509],{"estimated-seconds":402,"id":471,"level":342,"trace":378},[17,2498,475],{"id":474},[216,2500,478],{},[278,2502,2503],{},[216,2504,2505,486,2507,490],{},[236,2506,485],{},[236,2508,489],{},[22,2510,2511,2513],{},[25,2512,495],{},[25,2514,498],{},[11,2516,2517,2519,2521,2525],{"estimated-seconds":402,"id":501,"level":342,"trace":378},[17,2518,505],{"id":504},[216,2520,508],{},[278,2522,2523],{},[216,2524,513],{},[22,2526,2527,2529],{},[25,2528,518],{},[25,2530,521],{},[11,2532,2533,2535,2549,2551],{"estimated-seconds":39,"id":524,"level":15},[17,2534,528],{"id":527},[22,2536,2537,2541,2545],{},[25,2538,2539,535],{},[95,2540,233],{},[25,2542,2543,540],{},[95,2544,250],{},[25,2546,2547,545],{},[95,2548,262],{},[216,2550,548],{},[22,2552,2553,2558,2562],{},[25,2554,2555],{},[554,2556,559],{"href":556,"rel":2557},[558],[25,2559,2560],{},[554,2561,565],{"href":564},[25,2563,2564],{},[554,2565,571],{"href":570},[11,2567,2568,2570],{"estimated-seconds":13,"id":574,"level":15},[17,2569,577],{"id":574},[22,2571,2572,2574,2576,2578],{},[25,2573,582],{},[25,2575,585],{},[25,2577,588],{},[25,2579,591],{},{"title":313,"searchDepth":593,"depth":593,"links":2581},[2582,2583,2584,2585,2586,2587,2588,2589,2592,2593,2594,2595,2596,2597,2598,2599],{"id":19,"depth":593,"text":20},{"id":43,"depth":593,"text":44},{"id":68,"depth":593,"text":69},{"id":147,"depth":593,"text":148},{"id":175,"depth":593,"text":176},{"id":225,"depth":593,"text":226},{"id":272,"depth":593,"text":273},{"id":306,"depth":593,"text":307,"children":2590},[2591],{"id":346,"depth":605,"text":347},{"id":381,"depth":593,"text":382},{"id":406,"depth":593,"text":407},{"id":429,"depth":593,"text":430},{"id":452,"depth":593,"text":453},{"id":474,"depth":593,"text":475},{"id":504,"depth":593,"text":505},{"id":527,"depth":593,"text":528},{"id":574,"depth":593,"text":577},{"requiresLessonBranchCheckpoint":625,"sourcePresentations":2601,"revisionStatus":628},[627],{"title":5,"description":617},[638,639,640,641,642],1793199208443]