[{"data":1,"prerenderedAt":2294},["ShallowReactive",2],{"content-page:\u002Fsystems-integration\u002F2e\u002Fpresentations\u002F02-team-workflow-and-project-evidence":3,"content-page-quiz:none":714,"content-navigation-index":741},{"id":4,"title":5,"audience":6,"body":7,"contentType":712,"course":713,"courseId":714,"description":715,"estimateBasis":716,"estimatedDiscussionMinutes":714,"estimatedLiveMinutes":714,"estimatedRecordingMinutes":717,"estimatedTitleSeconds":714,"estimatedTotalMinutes":714,"estimatedTraceMinutes":718,"extension":719,"meta":720,"module":724,"navigation":725,"order":726,"path":727,"presentationRole":728,"promptAssist":729,"revision":14,"semester":714,"seo":730,"status":731,"stem":732,"syllabus":714,"tags":733,"updated":739,"videoDuration":714,"videoId":714,"videoLink":714,"videoTitle":714,"week":724,"__hash__":740},"content\u002Fsystems-integration\u002F2e\u002Fpresentations\u002F02-team-workflow-and-project-evidence.md","Team Workflow And Project Evidence","student",{"type":8,"value":9,"toc":694},"minimark",[10,51,78,138,162,211,249,323,354,447,519,543,576,617,671],[11,12,15,20,36],"slide",{"id":13,"level":14},"outcome","2",[16,17,19],"h2",{"id":18},"overview","Overview",[21,22,23,27,30,33],"ul",{},[24,25,26],"li",{},"Issues, branches, and reviewed pull requests",[24,28,29],{},"Team communication and records",[24,31,32],{},"VM contacts and shared technical work",[24,34,35],{},"Contribution evidence and completion",[37,38,39,40,46,47],"p",{},"Prerequisite: finish ",[41,42,45],"a",{"href":43,"target":44},"\u002F2e\u002Fgeneral\u002Fpresentations\u002F03-github-setup-and-ssh","_blank","GitHub Setup And SSH"," and ",[41,48,50],{"href":49,"target":44},"\u002F2e\u002Fgeneral\u002Fpresentations\u002F04-local-git-workflow-and-course-repositories","Local Git Workflow And Course Repositories",[11,52,54,58,75],{"id":53,"level":14},"core-idea",[16,55,57],{"id":56},"the-workflow-is-part-of-the-project","The Workflow Is Part Of The Project",[21,59,60,63,66,69,72],{},[24,61,62],{},"The instructor provides one shared GitHub repository for each team",[24,64,65],{},"Final team work belongs in that repository, even when a team member uses a fork",[24,67,68],{},"Every task moves through an issue, a branch, a pull request, teammate review, and the team project board",[24,70,71],{},"GitHub is the source of truth for ownership, change history, review, and task status",[24,73,74],{},"A working feature without its required workflow evidence is incomplete course work",[37,76,77],{},"Follow team coordination and the first task trail below",[11,79,82,86,130],{"id":80,"level":81},"communication-boundaries","3",[16,83,85],{"id":84},"use-the-right-communication-space","Use The Right Communication Space",[87,88,89,102],"table",{},[90,91,92],"thead",{},[93,94,95,99],"tr",{},[96,97,98],"th",{},"Space",[96,100,101],{},"Use it for",[103,104,105,114,122],"tbody",{},[93,106,107,111],{},[108,109,110],"td",{},"Per-team Discord channel",[108,112,113],{},"Team coordination, status, blockers, and troubleshooting context",[93,115,116,119],{},[108,117,118],{},"General Discord channel",[108,120,121],{},"Course-wide questions and information useful to multiple teams",[93,123,124,127],{},[108,125,126],{},"Team repository",[108,128,129],{},"Requirements, ownership, decisions, changes, review, and durable project evidence",[21,131,132,135],{},[24,133,134],{},"Move important decisions and outcomes from chat into the repository so the team can find them later",[24,136,137],{},"Contact the instructor early when a team cannot resolve a conflict or blocker",[11,139,141,145],{"id":140,"level":81},"shared-responsibility",[16,142,144],{"id":143},"vm-ownership-does-not-create-a-silo","VM Ownership Does Not Create A Silo",[21,146,147,150,153,156,159],{},[24,148,149],{},"Each VM or service must have a documented point of contact",[24,151,152],{},"The point of contact tracks its purpose, health, updates, connections, and known problems",[24,154,155],{},"Technical domains remain shared across the team, including frontend, backend, messaging, database, operations, and related services",[24,157,158],{},"Each member must understand and demonstrate the domains their work touches",[24,160,161],{},"Team members may develop specialties, but they must communicate context and assist one another",[11,163,165,169,193],{"id":164,"level":81},"required-workflow",[16,166,168],{"id":167},"every-task-leaves-a-connected-trail","Every Task Leaves A Connected Trail",[170,171,172,175,178,181,184,187,190],"ol",{},[24,173,174],{},"Write one plain, scoped requirement in an issue",[24,176,177],{},"Assign clear ownership and place the issue on the project board",[24,179,180],{},"Create a task branch and make the change there",[24,182,183],{},"Open a pull request that links the issue and explains the evidence",[24,185,186],{},"Ask at least one teammate to review before merging",[24,188,189],{},"Record approval or requested changes in the review",[24,191,192],{},"Merge approved work, close the issue, and update the project board",[21,194,195],{},[24,196,197,198,202,203,206,207,210],{},"Common branch prefixes include ",[199,200,201],"code",{},"feature\u002F",", ",[199,204,205],{},"bugfix\u002F",", and ",[199,208,209],{},"chore\u002F","; choose a name that still identifies the task",[11,212,214,218,221,244],{"id":213,"level":81},"first-team-trail",[16,215,217],{"id":216},"complete-the-first-team-trail","Complete The First Team Trail",[37,219,220],{},"After the instructor shares the team repository:",[170,222,223,226,229,232,235,238,241],{},[24,224,225],{},"Create one bounded onboarding or documentation issue; do not invent a starter repository or project feature",[24,227,228],{},"Add the issue to the team project board or approved equivalent and set its current status",[24,230,231],{},"Assign one owner, create a task branch, and make only the change named by the issue",[24,233,234],{},"Open a pull request to the team branch, link the issue, summarize the change, and identify the evidence",[24,236,237],{},"Request review from another teammate; the author cannot supply the required peer review",[24,239,240],{},"Address or document requested changes, then merge only after approval",[24,242,243],{},"Confirm the issue, pull request, and board all show the completed state",[21,245,246],{},[24,247,248],{},"This handoff can happen asynchronously; use repository comments and the team Discord channel to coordinate timing",[11,250,252,256,318],{"id":251,"level":81},"first-team-evidence",[16,253,255],{"id":254},"save-evidence-from-first-use","Save Evidence From First Use",[87,257,258,268],{},[90,259,260],{},[93,261,262,265],{},[96,263,264],{},"Evidence",[96,266,267],{},"What another person should be able to verify",[103,269,270,278,286,294,302,310],{},[93,271,272,275],{},[108,273,274],{},"Issue URL",[108,276,277],{},"Title, context, acceptance criteria, assignee, and current state",[93,279,280,283],{},[108,281,282],{},"Board item",[108,284,285],{},"The same issue and an accurate workflow status",[93,287,288,291],{},[108,289,290],{},"Branch or focused commit",[108,292,293],{},"The bounded change belongs to the named owner and task",[93,295,296,299],{},[108,297,298],{},"Pull-request URL",[108,300,301],{},"Linked issue, summary, change, and relevant evidence",[93,303,304,307],{},[108,305,306],{},"Review record",[108,308,309],{},"A teammate approved or requested specific changes before merge",[93,311,312,315],{},[108,313,314],{},"Final cross-check",[108,316,317],{},"Issue, pull request, and board states agree",[21,319,320],{},[24,321,322],{},"Canvas controls any required submission format or screenshots; this deck defines the connected workflow evidence",[11,324,326,330,347],{"id":325,"level":81},"scoped-requirements",[16,327,329],{"id":328},"a-useful-issue-defines-done","A Useful Issue Defines Done",[21,331,332,335,338,341,344],{},[24,333,334],{},"State the requirement in plain language without prescribing an unapproved implementation",[24,336,337],{},"Keep the scope small enough that ownership and review are clear",[24,339,340],{},"Include a descriptive title, relevant context, acceptance criteria, and an assignee",[24,342,343],{},"Name the behavior or artifact that must be observable when the task is complete",[24,345,346],{},"Link related pull requests, decisions, and follow-up work as the task progresses",[37,348,349,353],{},[350,351,352],"strong",{},"Check:"," A teammate should be able to review the result without guessing what the issue meant",[11,355,357,361,367,439,444],{"id":356,"level":14},"worked-example",[16,358,360],{"id":359},"worked-example-document-a-service-check","Worked Example: Document A Service Check",[37,362,363,366],{},[350,364,365],{},"Plain requirement:"," The team needs current evidence that one assigned service is healthy and connected to the expected project boundary",[87,368,369,382],{},[90,370,371],{},[93,372,373,376,379],{},[96,374,375],{},"Workflow step",[96,377,378],{},"Example artifact",[96,380,381],{},"What it demonstrates",[103,383,384,395,406,417,428],{},[93,385,386,389,392],{},[108,387,388],{},"Issue",[108,390,391],{},"Scope, owner, acceptance criteria, VM or service",[108,393,394],{},"The team agreed on a bounded result",[93,396,397,400,403],{},[108,398,399],{},"Branch",[108,401,402],{},"Documentation or evidence change tied to the issue",[108,404,405],{},"The work is isolated and attributable",[93,407,408,411,414],{},[108,409,410],{},"Pull request",[108,412,413],{},"Linked issue, summary, and observable evidence",[108,415,416],{},"The proposed result is ready to inspect",[93,418,419,422,425],{},[108,420,421],{},"Review",[108,423,424],{},"Teammate approval or specific requested changes",[108,426,427],{},"Another person evaluated the requirement",[93,429,430,433,436],{},[108,431,432],{},"Project board",[108,434,435],{},"Current status through completion",[108,437,438],{},"Team progress matches repository state",[21,440,441],{},[24,442,443],{},"The team decides which approved health evidence and documentation format fit its system",[37,445,446],{},"Check the evidence and lasting team record below",[11,448,450,454,514],{"id":449,"level":81},"worked-example-check",[16,451,453],{"id":452},"check-the-evidence-not-just-the-activity","Check The Evidence, Not Just The Activity",[87,455,456,468],{},[90,457,458],{},[93,459,460,463,465],{},[96,461,462],{},"Claim",[96,464,264],{},[96,466,467],{},"Check",[103,469,470,481,492,503],{},[93,471,472,475,478],{},[108,473,474],{},"The service is healthy",[108,476,477],{},"A current, readable health observation tied to the named service",[108,479,480],{},"Does it show the expected state and context?",[93,482,483,486,489],{},[108,484,485],{},"The connection is understood",[108,487,488],{},"A diagram, note, log, or other approved artifact names the relevant boundary",[108,490,491],{},"Does it identify what connects without exposing secrets?",[93,493,494,497,500],{},[108,495,496],{},"The work was reviewed",[108,498,499],{},"The pull request contains a teammate's approval or requested changes",[108,501,502],{},"Did review happen before merge?",[93,504,505,508,511],{},[108,506,507],{},"The task is complete",[108,509,510],{},"Issue, pull request, and project-board state agree",[108,512,513],{},"Can a reviewer follow the trail without private explanation?",[21,515,516],{},[24,517,518],{},"One screenshot alone rarely proves ownership, review, and completion",[11,520,522,526],{"id":521,"level":81},"team-record",[16,523,525],{"id":524},"preserve-the-team-record","Preserve The Team Record",[21,527,528,531,534,537,540],{},[24,529,530],{},"Keep meeting minutes, decisions, architecture diagrams, server notes, schedules, and milestone evidence in the team repository",[24,532,533],{},"Rotate meeting-note responsibility so the record does not depend on one person",[24,535,536],{},"Record who is the point of contact for each VM or service and when that responsibility changes",[24,538,539],{},"Update issues and the project board when scope, ownership, or status changes",[24,541,542],{},"Keep relevant Discord outcomes in durable notes rather than relying on chat history alone",[11,544,546,550,556,570],{"id":545,"level":14},"check",[16,547,549],{"id":548},"troubleshoot-an-invisible-contribution","Troubleshoot An Invisible Contribution",[37,551,552,555],{},[350,553,554],{},"Symptom:"," A teammate says the task is finished, but the project board still shows it in progress and no reviewer can find an approved change",[170,557,558,561,564,567],{},[24,559,560],{},"Inspect the assigned issue for scope, acceptance criteria, updates, and a linked pull request",[24,562,563],{},"Inspect the pull request for the correct branch, observable evidence, and teammate review",[24,565,566],{},"Compare the issue, pull request, and project-board states",[24,568,569],{},"Check team notes or Discord context for a decision that was never recorded in the repository",[37,571,572,575],{},[350,573,574],{},"Next action:"," Repair the missing workflow evidence before treating the task as complete; do not recreate or merge another member's work without a documented team decision",[11,577,579,582],{"id":578,"level":14},"knowledge-check",[16,580,581],{"id":578},"Knowledge Check",[578,583,584,602],{},[585,586,588],"template",{"v-slot:questions":587},"",[170,589,590,593,596,599],{},[24,591,592],{},"What is an acceptance criterion?",[24,594,595],{},"What does a VM point of contact maintain?",[24,597,598],{},"Who must review a team pull request before merge?",[24,600,601],{},"Which records should agree when a task is complete?",[585,603,604,608,611,614],{"v-slot:answers":587},[605,606,607],"knowledge-answer",{},"An observable condition that must be met for the task to be complete",[605,609,610],{},"The VM's purpose, health, updates, connections, and known problems",[605,612,613],{},"At least one other teammate, with approval recorded before merge",[605,615,616],{},"The linked issue, pull request, and project-board item should show matching final states",[11,618,620,624,644,647],{"id":619,"level":14},"review-resources",[16,621,623],{"id":622},"key-terms-and-further-learning","Key Terms And Further Learning",[21,625,626,632,638],{},[24,627,628,631],{},[350,629,630],{},"Issue:"," A scoped task with an owner and observable acceptance criteria",[24,633,634,637],{},[350,635,636],{},"Pull request:"," A proposed change linked to the issue and reviewed by a teammate",[24,639,640,643],{},[350,641,642],{},"Project board:"," The team’s visible record of task status and progress",[37,645,646],{},"Further Learning:",[21,648,649,657,664],{},[24,650,651],{},[41,652,656],{"href":653,"target":44,"rel":654},"https:\u002F\u002Fdocs.github.com\u002Fen\u002Fissues\u002Ftracking-your-work-with-issues\u002Flearning-about-issues\u002Fabout-issues",[655],"nofollow","GitHub Issues",[24,658,659],{},[41,660,663],{"href":661,"target":44,"rel":662},"https:\u002F\u002Fdocs.github.com\u002Fen\u002Fissues\u002Fplanning-and-tracking-with-projects\u002Flearning-about-projects\u002Fquickstart-for-projects",[655],"GitHub Projects",[24,665,666],{},[41,667,670],{"href":668,"target":44,"rel":669},"https:\u002F\u002Fdocs.github.com\u002Fen\u002Fpull-requests\u002Fget-started\u002Fabout-pull-requests",[655],"GitHub pull requests",[11,672,674,677],{"id":673,"level":14},"summary",[16,675,676],{"id":673},"Summary",[21,678,679,682,685,688,691],{},[24,680,681],{},"Use the instructor-provided team repository as the durable source of truth",[24,683,684],{},"Connect every task through a scoped issue, branch, pull request, teammate review, and project-board status",[24,686,687],{},"Use the team Discord channel for coordination, the general channel for course-wide communication, and the repository for lasting decisions and evidence",[24,689,690],{},"Document a point of contact for each VM or service while keeping technical domains shared",[24,692,693],{},"Complete work is observable, attributable, reviewed, and understandable without a private explanation",{"title":587,"searchDepth":695,"depth":695,"links":696},2,[697,698,699,700,701,702,703,704,705,706,707,708,709,710,711],{"id":18,"depth":695,"text":19},{"id":56,"depth":695,"text":57},{"id":84,"depth":695,"text":85},{"id":143,"depth":695,"text":144},{"id":167,"depth":695,"text":168},{"id":216,"depth":695,"text":217},{"id":254,"depth":695,"text":255},{"id":328,"depth":695,"text":329},{"id":359,"depth":695,"text":360},{"id":452,"depth":695,"text":453},{"id":524,"depth":695,"text":525},{"id":548,"depth":695,"text":549},{"id":578,"depth":695,"text":581},{"id":622,"depth":695,"text":623},{"id":673,"depth":695,"text":676},"presentation","Systems Integration",null,"Coordinate shared project work and produce evidence that connects each requirement to an approved change","Planned, not rehearsed. After the General Git prerequisites, keep this whole 27-minute deck in the first Module 1 online planning session, with 43 minutes for the first team trail and 10 for coordination\u002Frecovery. Use the second session for group formation, repository handoffs, and unresolved onboarding work, retaining recovery room. Peer review is asynchronous; elapsed waiting is not recording time.","27","0","md",{"sourcePresentations":721,"revisionStatus":723},[722],"C:\u002Fprojects\u002FEtherealLab\u002Fethereallab-doc-server\u002Fdocuments\u002FIT490\u002Fteam-guide.adoc","reviewed","1",true,"10","\u002Fsystems-integration\u002F2e\u002Fpresentations\u002F02-team-workflow-and-project-evidence","Core",false,{"title":5,"description":715},"draft","systems-integration\u002F2e\u002Fpresentations\u002F02-team-workflow-and-project-evidence",[734,735,736,737,738],"systems-integration","teamwork","github","project-management","project-evidence","2026-09-28T08:00:25Z","xXfkpI9B0xfhN0pECk0n1OAiZDqK7URiCOQpy_oSSH4",[742,745,749,753,756,759,762,765,769,772,776,779,783,787,791,794,797,801,805,808,812,816,819,823,826,829,832,836,839,842,845,847,849,851,853,855,857,859,862,865,868,872,875,878,881,884,887,890,893,896,899,902,905,909,912,915,918,921,923,925,929,933,936,938,941,944,947,950,953,956,959,962,966,970,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013,1016,1019,1022,1025,1028,1031,1034,1037,1040,1043,1046,1049,1052,1055,1058,1061,1065,1068,1071,1074,1077,1080,1083,1086,1089,1092,1095,1098,1101,1104,1107,1110,1113,1116,1119,1122,1125,1128,1131,1134,1137,1140,1143,1146,1149,1152,1155,1158,1161,1164,1167,1170,1173,1176,1179,1182,1185,1188,1191,1194,1197,1200,1203,1206,1209,1212,1215,1218,1221,1224,1227,1230,1233,1236,1239,1242,1245,1248,1251,1254,1257,1260,1263,1266,1269,1272,1275,1278,1281,1284,1287,1290,1293,1296,1299,1302,1305,1308,1311,1314,1317,1320,1323,1326,1329,1332,1335,1338,1341,1344,1347,1350,1353,1356,1359,1362,1365,1368,1371,1374,1377,1380,1383,1386,1389,1392,1395,1398,1401,1404,1407,1410,1413,1416,1419,1423,1426,1429,1432,1435,1438,1441,1444,1447,1450,1453,1456,1459,1462,1465,1468,1471,1474,1477,1480,1483,1486,1489,1492,1495,1498,1501,1504,1507,1510,1513,1516,1519,1522,1525,1528,1531,1534,1537,1540,1543,1546,1549,1552,1555,1558,1561,1564,1567,1570,1573,1576,1579,1582,1585,1588,1591,1594,1597,1600,1603,1606,1609,1612,1615,1618,1621,1624,1627,1630,1633,1636,1639,1642,1645,1648,1651,1654,1657,1660,1663,1666,1669,1672,1675,1678,1681,1684,1687,1690,1693,1696,1699,1702,1705,1708,1711,1714,1717,1720,1723,1726,1729,1732,1735,1738,1741,1744,1747,1750,1753,1756,1759,1762,1765,1768,1771,1774,1777,1780,1783,1786,1789,1792,1795,1798,1801,1804,1808,1811,1814,1817,1820,1823,1826,1828,1831,1834,1837,1840,1843,1845,1847,1849,1852,1854,1856,1858,1860,1862,1864,1866,1868,1870,1872,1874,1876,1879,1881,1883,1885,1887,1889,1891,1893,1895,1897,1899,1901,1903,1905,1907,1909,1913,1917,1921,1924,1928,1932,1935,1938,1941,1944,1947,1950,1954,1957,1960,1963,1966,1969,1972,1975,1978,1981,1984,1987,1990,1993,1996,1999,2002,2005,2008,2011,2014,2017,2020,2023,2026,2029,2032,2035,2038,2041,2044,2047,2050,2053,2056,2059,2062,2065,2068,2071,2074,2077,2080,2083,2086,2089,2092,2095,2097,2100,2103,2106,2109,2112,2115,2118,2121,2124,2127,2130,2133,2136,2139,2142,2145,2148,2151,2154,2157,2159,2161,2163,2165,2168,2171,2173,2175,2177,2179,2181,2183,2185,2187,2189,2191,2193,2195,2198,2201,2204,2206,2208,2210,2212,2214,2216,2218,2220,2222,2224,2226,2228,2230,2232,2234,2236,2238,2240,2242,2245,2246,2249,2252,2255,2258,2261,2263,2266,2269,2271,2273,2276,2279,2282,2285,2288,2291],{"path":743,"title":744,"order":714,"module":714,"status":714},"\u002Fabout","About Content Version 3",{"path":746,"title":747,"order":726,"module":724,"status":748},"\u002Fgame-architecture-and-design\u002F2e\u002Fpresentations\u002F01-introduction\u002F01-what-is-a-game","What is a Game?","published",{"path":750,"title":751,"order":752,"module":724,"status":748},"\u002Fgame-architecture-and-design\u002F2e\u002Fpresentations\u002F01-introduction\u002F02-what-is-gameplay","What is Gameplay?","20",{"path":754,"title":755,"order":726,"module":14,"status":748},"\u002Fgame-architecture-and-design\u002F2e\u002Fpresentations\u002F02-design-journal-and-treatment\u002F01-first-concept","First Concept, Journal, and Treatments",{"path":757,"title":758,"order":752,"module":14,"status":748},"\u002Fgame-architecture-and-design\u002F2e\u002Fpresentations\u002F02-design-journal-and-treatment\u002F02-concept-workshop","Concept Workshop: Pitch, Feedback, and Selection",{"path":760,"title":761,"order":726,"module":81,"status":748},"\u002Fgame-architecture-and-design\u002F2e\u002Fpresentations\u002F03-game-balance\u002F01-game-balance","Game Balance",{"path":763,"title":764,"order":752,"module":81,"status":748},"\u002Fgame-architecture-and-design\u002F2e\u002Fpresentations\u002F03-game-balance\u002F02-case-study-evaluation","Case Study Evaluation",{"path":766,"title":767,"order":726,"module":768,"status":748},"\u002Fgame-architecture-and-design\u002F2e\u002Fpresentations\u002F04-look-and-feel\u002F01-color-theory","Game Design: Color Theory","4",{"path":770,"title":771,"order":752,"module":768,"status":748},"\u002Fgame-architecture-and-design\u002F2e\u002Fpresentations\u002F04-look-and-feel\u002F02-look-and-feel","Game Design - Look and Feel",{"path":773,"title":774,"order":726,"module":775,"status":748},"\u002Fgame-architecture-and-design\u002F2e\u002Fpresentations\u002F05-game-mechanics\u002F01-game-mechanics","Game Mechanics","5",{"path":777,"title":778,"order":752,"module":775,"status":748},"\u002Fgame-architecture-and-design\u002F2e\u002Fpresentations\u002F05-game-mechanics\u002F02-decks","Technical: Decks and Cards",{"path":780,"title":781,"order":782,"module":775,"status":748},"\u002Fgame-architecture-and-design\u002F2e\u002Fpresentations\u002F05-game-mechanics\u002F03-boards-and-movement","Boards and Movement","30",{"path":784,"title":785,"order":726,"module":786,"status":748},"\u002Fgame-architecture-and-design\u002F2e\u002Fpresentations\u002F06-depth-complexity-and-randomness\u002F01-depth-vs-complexity-and-randomness","Depth, Complexity, And Randomness","6",{"path":788,"title":789,"order":726,"module":790,"status":748},"\u002Fgame-architecture-and-design\u002F2e\u002Fpresentations\u002F07-making-your-first-game\u002F01-planning-and-management","Planning And Managing Your Game","7",{"path":792,"title":793,"order":726,"module":726,"status":731},"\u002Fgame-architecture-and-design\u002F2e\u002Fpresentations\u002F10-game-architecture\u002F01-concepts-and-design","Game Architecture: Concepts And Design",{"path":795,"title":796,"order":752,"module":726,"status":731},"\u002Fgame-architecture-and-design\u002F2e\u002Fpresentations\u002F10-game-architecture\u002F02-features-of-a-game-engine","Game Engine Features And Browser Feasibility",{"path":798,"title":799,"order":726,"module":800,"status":731},"\u002Fgame-architecture-and-design\u002F2e\u002Fpresentations\u002F11-entity-based-systems\u002F01-ecs","Entity-Based Systems","11",{"path":802,"title":803,"order":726,"module":804,"status":731},"\u002Fgame-architecture-and-design\u002F2e\u002Fpresentations\u002F12-level-mechanics-and-user-interfaces\u002F01-spatial-rules-levels-and-interface","Spatial Rules, Levels, And Interface","12",{"path":806,"title":807,"order":752,"module":804,"status":731},"\u002Fgame-architecture-and-design\u002F2e\u002Fpresentations\u002F12-level-mechanics-and-user-interfaces\u002F02-digital-prototype-presentation","Digital Prototype Presentation Deck",{"path":809,"title":810,"order":726,"module":811,"status":731},"\u002Fgame-architecture-and-design\u002F2e\u002Fpresentations\u002F13-actor-representations-and-artificial-intelligence\u002F01-actors-behavior-and-ai","Actors, Behavior, And AI","13",{"path":813,"title":814,"order":726,"module":815,"status":731},"\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":817,"title":818,"order":752,"module":815,"status":731},"\u002Fgame-architecture-and-design\u002F2e\u002Fpresentations\u002F14-particles-physics-and-digital-prototype-studio\u002F02-recorded-project-showcase","Recorded Project Showcase",{"path":820,"title":821,"order":726,"module":822,"status":731},"\u002Fgame-architecture-and-design\u002F2e\u002Fpresentations\u002F15-finale\u002F01-final-evaluation-and-postmortem","Final Evaluation And Postmortem","15",{"path":824,"title":825,"order":724,"module":718,"status":748},"\u002Fgame-architecture-and-design\u002F2e\u002Fsyllabus\u002Ffall-2026","Course Syllabus: IT265 - Game Architecture and Design",{"path":827,"title":828,"order":726,"module":14,"status":748},"\u002Fgame-architecture-and-design\u002F2e\u002Fworksheets\u002Fmodule-02-design-journal","Module 2 Design And Development Journal",{"path":830,"title":831,"order":752,"module":14,"status":748},"\u002Fgame-architecture-and-design\u002F2e\u002Fworksheets\u002Fmodule-02-one-page-treatment","Module 2 One-Page Treatment",{"path":833,"title":834,"order":835,"module":790,"status":748},"\u002Fgame-architecture-and-design\u002F2e\u002Fworksheets\u002Fmodule-07-game-design-treatment","Full Game Design Treatment","70",{"path":837,"title":838,"order":724,"module":718,"status":731},"\u002Fgame-architecture-and-design","Game Architecture and Design",{"path":840,"title":841,"order":714,"module":714,"status":731},"\u002Fgame-architecture-and-design\u002Fpresentations-revised\u002F00-revision-plan","Game Architecture And Design Revision Plan - Superseded Historical Baseline",{"path":843,"title":844,"order":714,"module":714,"status":731},"\u002Fgame-architecture-and-design\u002Fpresentations-revised\u002F01-20-minute-recording-plan","Game Architecture And Design Recording Plan - Superseded Historical Baseline",{"path":846,"title":747,"order":726,"module":724,"status":731},"\u002Fgame-architecture-and-design\u002Fpresentations\u002F01-introduction\u002F01-what-is-a-game",{"path":848,"title":751,"order":752,"module":724,"status":731},"\u002Fgame-architecture-and-design\u002Fpresentations\u002F01-introduction\u002F02-what-is-gameplay",{"path":850,"title":761,"order":726,"module":14,"status":731},"\u002Fgame-architecture-and-design\u002Fpresentations\u002F02-game-balance\u002F01-game-balance",{"path":852,"title":767,"order":726,"module":81,"status":731},"\u002Fgame-architecture-and-design\u002Fpresentations\u002F03-look-and-feel\u002F01-color-theory",{"path":854,"title":771,"order":752,"module":81,"status":731},"\u002Fgame-architecture-and-design\u002Fpresentations\u002F03-look-and-feel\u002F02-look-and-feel",{"path":856,"title":774,"order":726,"module":768,"status":731},"\u002Fgame-architecture-and-design\u002Fpresentations\u002F04-game-mechanics\u002F01-game-mechanics",{"path":858,"title":778,"order":752,"module":768,"status":731},"\u002Fgame-architecture-and-design\u002Fpresentations\u002F04-game-mechanics\u002F02-decks",{"path":860,"title":861,"order":726,"module":775,"status":731},"\u002Fgame-architecture-and-design\u002Fpresentations\u002F05-depth-complexity-and-randomness\u002F01-depth-vs-complexity-and-randomness","Depth vs Complexity and Randomness",{"path":863,"title":864,"order":726,"module":786,"status":731},"\u002Fgame-architecture-and-design\u002Fpresentations\u002F06-first-game-planning\u002F01-first-concept","First Concept: Updated Lesson",{"path":866,"title":867,"order":752,"module":786,"status":731},"\u002Fgame-architecture-and-design\u002Fpresentations\u002F06-first-game-planning\u002F02-planning-and-management","Planning and Management",{"path":869,"title":870,"order":726,"module":871,"status":731},"\u002Fgame-architecture-and-design\u002Fpresentations\u002F08-game-architecture\u002F01-concepts-and-design","Game Architecture: Concepts and Design","8",{"path":873,"title":874,"order":752,"module":871,"status":731},"\u002Fgame-architecture-and-design\u002Fpresentations\u002F08-game-architecture\u002F02-features-of-a-game-engine","Game Architecture: Features of a Game Engine",{"path":876,"title":799,"order":726,"module":877,"status":731},"\u002Fgame-architecture-and-design\u002Fpresentations\u002F09-entity-based-systems\u002F01-ecs","9",{"path":879,"title":880,"order":726,"module":726,"status":731},"\u002Fgame-architecture-and-design\u002Fpresentations\u002F10-level-mechanics\u002F01-level-mechanics","Game Design: Introduction to Level Mechanics",{"path":882,"title":883,"order":752,"module":726,"status":731},"\u002Fgame-architecture-and-design\u002Fpresentations\u002F10-level-mechanics\u002F02-grids","Technical: Square vs Hex Grids in Board Games",{"path":885,"title":886,"order":726,"module":800,"status":731},"\u002Fgame-architecture-and-design\u002Fpresentations\u002F11-user-interfaces\u002F01-user-interfaces","Game Design: User Interfaces",{"path":888,"title":889,"order":726,"module":804,"status":731},"\u002Fgame-architecture-and-design\u002Fpresentations\u002F12-actor-representations\u002F01-actors","Game Design: Actor Representations",{"path":891,"title":892,"order":726,"module":811,"status":731},"\u002Fgame-architecture-and-design\u002Fpresentations\u002F13-artificial-intelligence\u002F01-ai","Game Design: AI",{"path":894,"title":895,"order":726,"module":815,"status":731},"\u002Fgame-architecture-and-design\u002Fpresentations\u002F14-particles-and-physics\u002F01-particles-and-physics","IT265: Particle Systems and Physics Engine",{"path":897,"title":898,"order":724,"module":718,"status":731},"\u002Fgame-architecture-and-design\u002Fsyllabus\u002Fspring-2026","Course Syllabus: IT265 - Game Architecture",{"path":900,"title":901,"order":726,"module":718,"status":731},"\u002Fgame-architecture-and-design\u002Fworksheets\u002Fcase-study-1-atari-worksheet","Case Study 1 - Atari",{"path":903,"title":904,"order":752,"module":718,"status":731},"\u002Fgame-architecture-and-design\u002Fworksheets\u002Fit265-case-study-color-theory-worksheet","IT265 Case Study - Color Theory",{"path":906,"title":907,"order":908,"module":718,"status":731},"\u002Fgame-architecture-and-design\u002Fworksheets\u002Fit265-case-study-personal-choice-worksheet","IT265 Case Study - Personal Choice","40",{"path":910,"title":911,"order":782,"module":718,"status":731},"\u002Fgame-architecture-and-design\u002Fworksheets\u002Fit265-design-treatment-checkpoint-worksheet","IT265 Design Treatment Checkpoint",{"path":913,"title":914,"order":718,"module":724,"status":748},"\u002Fgeneral\u002F2e\u002Fpresentations\u002F00-learn-courses-platform-and-discord","Learn Courses Platform And Discord",{"path":916,"title":917,"order":726,"module":724,"status":748},"\u002Fgeneral\u002F2e\u002Fpresentations\u002F01-git-and-terminal-setup","Git And Terminal Setup",{"path":919,"title":920,"order":752,"module":724,"status":748},"\u002Fgeneral\u002F2e\u002Fpresentations\u002F02-cli-foundations","CLI Foundations",{"path":922,"title":45,"order":782,"module":724,"status":748},"\u002Fgeneral\u002F2e\u002Fpresentations\u002F03-github-setup-and-ssh",{"path":924,"title":50,"order":908,"module":724,"status":748},"\u002Fgeneral\u002F2e\u002Fpresentations\u002F04-local-git-workflow-and-course-repositories",{"path":926,"title":927,"order":928,"module":724,"status":748},"\u002Fgeneral\u002F2e\u002Fpresentations\u002F05-vscode-setup-and-course-extensions","VS Code Setup And Course Extensions","50",{"path":930,"title":931,"order":932,"module":724,"status":748},"\u002Fgeneral\u002F2e\u002Fpresentations\u002F06-trace-learning-journal","TRACE Learning Journal Foundations","60",{"path":934,"title":935,"order":714,"module":714,"status":714},"\u002Fgeneral\u002Fbasic-cli","Basic Command Line",{"path":937,"title":935,"order":726,"module":724,"status":714},"\u002Fgeneral\u002Fbasic-command-line",{"path":939,"title":940,"order":714,"module":714,"status":748},"\u002F","Ethereal Lab Course Materials",{"path":942,"title":943,"order":726,"module":724,"status":731},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F01-git-github-and-course-workflow\u002F01-basic-cli-commands","IT202 Setup Path And CLI Readiness",{"path":945,"title":946,"order":752,"module":724,"status":731},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F01-git-github-and-course-workflow\u002F02-install-git-tools","IT202 Git And Terminal Handoff",{"path":948,"title":949,"order":782,"module":724,"status":731},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F01-git-github-and-course-workflow\u002F03-setup-github-ssh","IT202 Repository And SSH Extension",{"path":951,"title":952,"order":908,"module":724,"status":731},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F01-git-github-and-course-workflow\u002F04-git-commands-prs","IT202 Git Workflow Handoff",{"path":954,"title":955,"order":928,"module":724,"status":748},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F01-git-github-and-course-workflow\u002F05-setup-local-development-environment","Standalone PHP Setup",{"path":957,"title":958,"order":932,"module":724,"status":748},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F01-git-github-and-course-workflow\u002F06-add-instructor-template-to-your-repository","Add Instructor Template To Your Repository",{"path":960,"title":961,"order":835,"module":724,"status":748},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F01-git-github-and-course-workflow\u002F07-qa-prod-branches","QA And Prod Branches",{"path":963,"title":964,"order":965,"module":724,"status":748},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F01-git-github-and-course-workflow\u002F08-render-setup","Render Setup","80",{"path":967,"title":968,"order":969,"module":724,"status":748},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F01-git-github-and-course-workflow\u002F09-local-ubuntu-web-server-virtualbox","Local Ubuntu Web Server With VirtualBox Or UTM","90",{"path":971,"title":972,"order":973,"module":724,"status":731},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F01-git-github-and-course-workflow\u002F10-local-ubuntu-web-server-vmware","Local Ubuntu Web Server With VMware","100",{"path":975,"title":976,"order":726,"module":14,"status":748},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F02-php-and-javascript-basics\u002F01-compare-php-and-javascript","Compare PHP And JavaScript",{"path":978,"title":979,"order":752,"module":14,"status":748},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F02-php-and-javascript-basics\u002F02-conditions-loops-functions","Use Conditions Loops And Functions",{"path":981,"title":982,"order":726,"module":81,"status":748},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F03-html-forms-css-and-dom\u002F01-intro-to-html","Intro To HTML",{"path":984,"title":985,"order":752,"module":81,"status":748},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F03-html-forms-css-and-dom\u002F02-intro-to-forms-and-get-post","Intro To Forms And GET\u002FPOST",{"path":987,"title":988,"order":782,"module":81,"status":748},"\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":990,"title":991,"order":726,"module":768,"status":748},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F04-databases-and-user-accounts\u002F01-intro-to-sql","Intro To SQL",{"path":993,"title":994,"order":752,"module":768,"status":748},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F04-databases-and-user-accounts\u002F02-project-database-setup","Project Database Setup",{"path":996,"title":997,"order":782,"module":768,"status":748},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F04-databases-and-user-accounts\u002F03-user-registration","User Registration",{"path":999,"title":1000,"order":908,"module":768,"status":748},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F04-databases-and-user-accounts\u002F04-user-login","User Login",{"path":1002,"title":1003,"order":726,"module":775,"status":731},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F05-validation-and-user-profiles\u002F01-intro-to-regex","Intro To Regex",{"path":1005,"title":1006,"order":752,"module":775,"status":731},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F05-validation-and-user-profiles\u002F02-project-shared-helpers","Project Shared Helpers",{"path":1008,"title":1009,"order":782,"module":775,"status":731},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F05-validation-and-user-profiles\u002F03-flash-messages-and-redirect-feedback","User Feedback After Redirects",{"path":1011,"title":1012,"order":908,"module":775,"status":731},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F05-validation-and-user-profiles\u002F04-user-profile","User Profile",{"path":1014,"title":1015,"order":726,"module":786,"status":731},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F06-roles-and-crud-pages\u002F01-user-roles-authorization","User Roles Authorization",{"path":1017,"title":1018,"order":752,"module":786,"status":731},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F06-roles-and-crud-pages\u002F02-user-login-enhancement","User Login Enhancement",{"path":1020,"title":1021,"order":782,"module":786,"status":731},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F06-roles-and-crud-pages\u002F03-dynamic-content","Dynamic Content",{"path":1023,"title":1024,"order":726,"module":790,"status":731},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F07-api-data-and-database-helpers\u002F01-working-with-api-data","Working With API Data",{"path":1026,"title":1027,"order":752,"module":790,"status":731},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F07-api-data-and-database-helpers\u002F02-api-integration","API Integration",{"path":1029,"title":1030,"order":782,"module":790,"status":731},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F07-api-data-and-database-helpers\u002F03-database-utility-functions","Database Utility Functions",{"path":1032,"title":1033,"order":726,"module":871,"status":731},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F08-reusable-components-jquery-and-ajax\u002F01-milestone-2-bootstrap-and-reusability","Milestone 2 Bootstrap And Reusability",{"path":1035,"title":1036,"order":752,"module":871,"status":731},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F08-reusable-components-jquery-and-ajax\u002F02-jquery-brief-intro","jQuery Brief Intro",{"path":1038,"title":1039,"order":782,"module":871,"status":731},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F08-reusable-components-jquery-and-ajax\u002F03-intro-to-ajax","Intro To AJAX",{"path":1041,"title":1042,"order":726,"module":877,"status":731},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F09-relational-data-search-and-pagination\u002F01-user-associations","Add User Associations",{"path":1044,"title":1045,"order":752,"module":877,"status":731},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F09-relational-data-search-and-pagination\u002F02-association-views-and-pagination","Add Association Views And Pagination",{"path":1047,"title":1048,"order":726,"module":726,"status":731},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F10-association-assignment-and-security\u002F01-association-assignment-and-public-profiles","Association Management And Public Profiles",{"path":1050,"title":1051,"order":752,"module":726,"status":731},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F10-association-assignment-and-security\u002F02-reusable-csrf-protection","Reusable CSRF Protection",{"path":1053,"title":1054,"order":724,"module":718,"status":748},"\u002Finternet-applications\u002F2e\u002Fsyllabus\u002Ffall-2026","IT202 - Internet Applications Syllabus",{"path":1056,"title":1057,"order":726,"module":724,"status":748},"\u002Finternet-applications\u002F2e\u002Fworksheets\u002Fmodule-01-getting-started","Module 1 Getting Started",{"path":1059,"title":1060,"order":752,"module":14,"status":748},"\u002Finternet-applications\u002F2e\u002Fworksheets\u002Fmodule-02-php-challenges","Module 2 PHP Challenge Scenarios",{"path":1062,"title":1063,"order":908,"module":726,"status":1064},"\u002Finternet-applications\u002Fassignments\u002Ffinal-project-submission","Final Project Submission","review",{"path":1066,"title":1067,"order":714,"module":714,"status":714},"\u002Finternet-applications\u002Fassignments\u002Fmilestones\u002F01-account-access-and-profile-system","Milestone 1: Account, Access, And Profile System",{"path":1069,"title":1070,"order":752,"module":871,"status":1064},"\u002Finternet-applications\u002Fassignments\u002Fmilestones\u002F02-api-data-and-project-crud","Milestone 2: API Data And Project CRUD",{"path":1072,"title":1073,"order":782,"module":877,"status":1064},"\u002Finternet-applications\u002Fassignments\u002Fmilestones\u002F03-user-associations-search-and-summary","Milestone 3: User Associations, Search, And Summary Views",{"path":1075,"title":1076,"order":775,"module":768,"status":748},"\u002Finternet-applications\u002Fassignments\u002Fproject-proposal","IT 202 Project Proposal",{"path":1078,"title":1079,"order":714,"module":714,"status":714},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F01-course-workflow-files-and-web-server\u002F01-what-this-course-is-building","What Internet Applications Build",{"path":1081,"title":1082,"order":714,"module":714,"status":714},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F01-course-workflow-files-and-web-server\u002F02-files-folders-and-project-structure","Files, Folders, And Project Structure",{"path":1084,"title":1085,"order":714,"module":714,"status":714},"\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":1087,"title":1088,"order":714,"module":714,"status":714},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F01-course-workflow-files-and-web-server\u002F02b-install-git-and-terminal-tools","Install Git And Terminal Tools",{"path":1090,"title":1091,"order":714,"module":714,"status":714},"\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":1093,"title":1094,"order":714,"module":714,"status":714},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F01-course-workflow-files-and-web-server\u002F03a-local-development-environment","Set Up A Local Development Environment",{"path":1096,"title":1097,"order":714,"module":714,"status":714},"\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":1099,"title":1100,"order":714,"module":714,"status":714},"\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":1102,"title":1103,"order":714,"module":714,"status":714},"\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":1105,"title":1106,"order":714,"module":714,"status":714},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F01-course-workflow-files-and-web-server\u002F07-git-recovery-and-common-mistakes","Git Recovery And Common Mistakes",{"path":1108,"title":1109,"order":714,"module":714,"status":714},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F01-course-workflow-files-and-web-server\u002F08-installing-apache-and-php","Installing Apache, PHP, And MySQL",{"path":1111,"title":1112,"order":714,"module":714,"status":714},"\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":1114,"title":1115,"order":714,"module":714,"status":714},"\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":1117,"title":1118,"order":714,"module":714,"status":714},"\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":1120,"title":1121,"order":714,"module":714,"status":714},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F01-course-workflow-files-and-web-server\u002F12-local-qa-and-production-environments","Local, QA, And Production Environments",{"path":1123,"title":1124,"order":714,"module":714,"status":714},"\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":1126,"title":1127,"order":714,"module":714,"status":714},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F02-programming-fundamentals-in-php-and-javascript\u002F02-displaying-output-with-php","Displaying Output With PHP",{"path":1129,"title":1130,"order":714,"module":714,"status":714},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F02-programming-fundamentals-in-php-and-javascript\u002F03-displaying-output-with-javascript","Displaying Output With JavaScript",{"path":1132,"title":1133,"order":714,"module":714,"status":714},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F02-programming-fundamentals-in-php-and-javascript\u002F04-variables-storing-and-naming-values","Variables: Storing And Naming Values",{"path":1135,"title":1136,"order":714,"module":714,"status":714},"\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":1138,"title":1139,"order":714,"module":714,"status":714},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F02-programming-fundamentals-in-php-and-javascript\u002F06-arrays-storing-lists-of-values","Arrays: Storing Lists Of Values",{"path":1141,"title":1142,"order":714,"module":714,"status":714},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F02-programming-fundamentals-in-php-and-javascript\u002F07-conditional-statements-making-decisions","Conditional Statements: Making Decisions",{"path":1144,"title":1145,"order":714,"module":714,"status":714},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F02-programming-fundamentals-in-php-and-javascript\u002F08-loops-repeating-actions","Loops: Repeating Actions",{"path":1147,"title":1148,"order":714,"module":714,"status":714},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F02-programming-fundamentals-in-php-and-javascript\u002F09-functions-reusable-blocks-of-logic","Functions: Reusable Blocks Of Logic",{"path":1150,"title":1151,"order":714,"module":714,"status":714},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F02-programming-fundamentals-in-php-and-javascript\u002F10-reading-and-debugging-error-messages","Reading And Debugging Error Messages",{"path":1153,"title":1154,"order":714,"module":714,"status":714},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F03-html-forms-css-and-the-dom\u002F01-html-structure-and-meaning","HTML: Structure And Meaning",{"path":1156,"title":1157,"order":714,"module":714,"status":714},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F03-html-forms-css-and-the-dom\u002F02-writing-a-valid-html-document","Writing A Valid HTML Document",{"path":1159,"title":1160,"order":714,"module":714,"status":714},"\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":1162,"title":1163,"order":714,"module":714,"status":714},"\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":1165,"title":1166,"order":714,"module":714,"status":714},"\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":1168,"title":1169,"order":714,"module":714,"status":714},"\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":1171,"title":1172,"order":714,"module":714,"status":714},"\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":1174,"title":1175,"order":714,"module":714,"status":714},"\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":1177,"title":1178,"order":714,"module":714,"status":714},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F03-html-forms-css-and-the-dom\u002F09-page-layout-with-flexbox","Page Layout With Flexbox",{"path":1180,"title":1181,"order":714,"module":714,"status":714},"\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":1183,"title":1184,"order":714,"module":714,"status":714},"\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":1186,"title":1187,"order":714,"module":714,"status":714},"\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":1189,"title":1190,"order":714,"module":714,"status":714},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F03-html-forms-css-and-the-dom\u002F12-basic-web-accessibility-habits","Basic Web Accessibility Habits",{"path":1192,"title":1193,"order":714,"module":714,"status":714},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F04-databases-and-user-accounts\u002F01-why-web-applications-need-a-database","Why Web Applications Need A Database",{"path":1195,"title":1196,"order":714,"module":714,"status":714},"\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":1198,"title":1199,"order":714,"module":714,"status":714},"\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":1201,"title":1202,"order":714,"module":714,"status":714},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F04-databases-and-user-accounts\u002F04-creating-tables-with-sql-scripts","Creating Tables With SQL Scripts",{"path":1204,"title":1205,"order":714,"module":714,"status":714},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F04-databases-and-user-accounts\u002F05-connecting-php-to-mysql-with-pdo","Connecting PHP To MySQL With PDO",{"path":1207,"title":1208,"order":714,"module":714,"status":714},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F04-databases-and-user-accounts\u002F06-parameterized-queries-and-sql-injection-prevention","Parameterized Queries And SQL Injection Prevention",{"path":1210,"title":1211,"order":714,"module":714,"status":714},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F04-databases-and-user-accounts\u002F07-building-a-registration-page","Building A Registration Page",{"path":1213,"title":1214,"order":714,"module":714,"status":714},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F04-databases-and-user-accounts\u002F08-hashing-passwords-with-password-hash","Hashing Passwords With password_hash()",{"path":1216,"title":1217,"order":714,"module":714,"status":714},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F04-databases-and-user-accounts\u002F09-building-a-login-page","Building A Login Page",{"path":1219,"title":1220,"order":714,"module":714,"status":714},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F04-databases-and-user-accounts\u002F10-sessions-remembering-the-logged-in-user","Sessions: Remembering The Logged-In User",{"path":1222,"title":1223,"order":714,"module":714,"status":714},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F04-databases-and-user-accounts\u002F11-cookies-persistent-client-side-state","Cookies: Persistent Client-Side State",{"path":1225,"title":1226,"order":714,"module":714,"status":714},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F04-databases-and-user-accounts\u002F12-navigation-that-responds-to-login-state","Navigation That Responds To Login State",{"path":1228,"title":1229,"order":714,"module":714,"status":714},"\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":1231,"title":1232,"order":714,"module":714,"status":714},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F05-input-validation-security-and-user-profiles\u002F02-sanitizing-and-escaping-user-input","Sanitizing And Escaping User Input",{"path":1234,"title":1235,"order":714,"module":714,"status":714},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F05-input-validation-security-and-user-profiles\u002F03-required-fields-and-length-rules","Required Fields And Length Rules",{"path":1237,"title":1238,"order":714,"module":714,"status":714},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F05-input-validation-security-and-user-profiles\u002F04-regular-expressions-for-pattern-matching","Regular Expressions For Pattern Matching",{"path":1240,"title":1241,"order":714,"module":714,"status":714},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F05-input-validation-security-and-user-profiles\u002F05-server-side-validation-in-php","Server-Side Validation In PHP",{"path":1243,"title":1244,"order":714,"module":714,"status":714},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F05-input-validation-security-and-user-profiles\u002F06-cross-site-scripting-xss-prevention","Cross-Site Scripting (XSS) Prevention",{"path":1246,"title":1247,"order":714,"module":714,"status":714},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F05-input-validation-security-and-user-profiles\u002F07-flash-messages-and-persistent-feedback","Flash Messages And Persistent Feedback",{"path":1249,"title":1250,"order":714,"module":714,"status":714},"\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":1252,"title":1253,"order":714,"module":714,"status":714},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F05-input-validation-security-and-user-profiles\u002F09-building-a-profile-edit-page","Building A Profile Edit Page",{"path":1255,"title":1256,"order":714,"module":714,"status":714},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F05-input-validation-security-and-user-profiles\u002F10-debugging-account-and-authentication-problems","Debugging Account And Authentication Problems",{"path":1258,"title":1259,"order":714,"module":714,"status":714},"\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":1261,"title":1262,"order":714,"module":714,"status":714},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F06-roles-permissions-and-crud-pages\u002F01-role-based-access-control","Role-Based Access Control",{"path":1264,"title":1265,"order":714,"module":714,"status":714},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F06-roles-permissions-and-crud-pages\u002F02-storing-roles-in-the-database","Storing Roles In The Database",{"path":1267,"title":1268,"order":714,"module":714,"status":714},"\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":1270,"title":1271,"order":714,"module":714,"status":714},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F06-roles-permissions-and-crud-pages\u002F04-safe-redirects-after-login-and-logout","Safe Redirects After Login And Logout",{"path":1273,"title":1274,"order":714,"module":714,"status":714},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F06-roles-permissions-and-crud-pages\u002F05-listing-records-from-the-database","Listing Records From The Database",{"path":1276,"title":1277,"order":714,"module":714,"status":714},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F06-roles-permissions-and-crud-pages\u002F06-creating-new-records-with-a-form","Creating New Records With A Form",{"path":1279,"title":1280,"order":714,"module":714,"status":714},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F06-roles-permissions-and-crud-pages\u002F07-editing-existing-records","Editing Existing Records",{"path":1282,"title":1283,"order":714,"module":714,"status":714},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F06-roles-permissions-and-crud-pages\u002F08-deleting-records-safely","Deleting Records Safely",{"path":1285,"title":1286,"order":714,"module":714,"status":714},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F06-roles-permissions-and-crud-pages\u002F09-ownership-linking-records-to-users","Ownership: Linking Records To Users",{"path":1288,"title":1289,"order":714,"module":714,"status":714},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F06-roles-permissions-and-crud-pages\u002F10-first-project-milestone-checklist","First Project Milestone Checklist",{"path":1291,"title":1292,"order":714,"module":714,"status":714},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F06-roles-permissions-and-crud-pages\u002F11-organizing-growing-php-applications","Organizing Growing PHP Applications",{"path":1294,"title":1295,"order":714,"module":714,"status":714},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F06-roles-permissions-and-crud-pages\u002F12-reading-a-growing-php-application","Reading A Growing PHP Application",{"path":1297,"title":1298,"order":714,"module":714,"status":714},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F07-asynchronous-requests-json-and-external-apis\u002F01-what-asynchronous-requests-ajax-solve","What Asynchronous Requests (AJAX) Solve",{"path":1300,"title":1301,"order":714,"module":714,"status":714},"\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":1303,"title":1304,"order":714,"module":714,"status":714},"\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":1306,"title":1307,"order":714,"module":714,"status":714},"\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":1309,"title":1310,"order":714,"module":714,"status":714},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F07-asynchronous-requests-json-and-external-apis\u002F05-handling-fetch-responses-and-errors","Handling Fetch Responses And Errors",{"path":1312,"title":1313,"order":714,"module":714,"status":714},"\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":1315,"title":1316,"order":714,"module":714,"status":714},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F07-asynchronous-requests-json-and-external-apis\u002F07-introduction-to-rest-apis","Introduction To REST APIs",{"path":1318,"title":1319,"order":714,"module":714,"status":714},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F07-asynchronous-requests-json-and-external-apis\u002F08-reading-api-documentation","Reading API Documentation",{"path":1321,"title":1322,"order":714,"module":714,"status":714},"\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":1324,"title":1325,"order":714,"module":714,"status":714},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F07-asynchronous-requests-json-and-external-apis\u002F10-storing-and-caching-api-responses","Storing And Caching API Responses",{"path":1327,"title":1328,"order":714,"module":714,"status":714},"\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":1330,"title":1331,"order":714,"module":714,"status":714},"\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":1333,"title":1334,"order":714,"module":714,"status":714},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F08-dynamic-interfaces-and-project-data\u002F01-jquery-simplified-dom-and-event-work","jQuery: Simplified DOM And Event Work",{"path":1336,"title":1337,"order":714,"module":714,"status":714},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F08-dynamic-interfaces-and-project-data\u002F02-selecting-elements-with-jquery","Selecting Elements With jQuery",{"path":1339,"title":1340,"order":714,"module":714,"status":714},"\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":1342,"title":1343,"order":714,"module":714,"status":714},"\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":1345,"title":1346,"order":714,"module":714,"status":714},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F08-dynamic-interfaces-and-project-data\u002F05-sending-ajax-requests-with-jquery","Sending AJAX Requests With jQuery",{"path":1348,"title":1349,"order":714,"module":714,"status":714},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F08-dynamic-interfaces-and-project-data\u002F06-saving-external-api-data-through-php","Saving External API Data Through PHP",{"path":1351,"title":1352,"order":714,"module":714,"status":714},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F08-dynamic-interfaces-and-project-data\u002F07-saving-user-created-records","Saving User-Created Records",{"path":1354,"title":1355,"order":714,"module":714,"status":714},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F08-dynamic-interfaces-and-project-data\u002F08-building-a-project-listing-page","Building A Project Listing Page",{"path":1357,"title":1358,"order":714,"module":714,"status":714},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F08-dynamic-interfaces-and-project-data\u002F09-inline-editing-and-detail-views","Inline Editing And Detail Views",{"path":1360,"title":1361,"order":714,"module":714,"status":714},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F08-dynamic-interfaces-and-project-data\u002F10-second-project-milestone-checklist","Second Project Milestone Checklist",{"path":1363,"title":1364,"order":714,"module":714,"status":714},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F09-relational-data-search-and-pagination\u002F01-foreign-keys-and-referential-integrity","Foreign Keys And Referential Integrity",{"path":1366,"title":1367,"order":714,"module":714,"status":714},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F09-relational-data-search-and-pagination\u002F02-joining-tables-inner-join-left-join","Joining Tables: INNER JOIN, LEFT JOIN",{"path":1369,"title":1370,"order":714,"module":714,"status":714},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F09-relational-data-search-and-pagination\u002F03-user-owned-records-and-access-enforcement","User-Owned Records And Access Enforcement",{"path":1372,"title":1373,"order":714,"module":714,"status":714},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F09-relational-data-search-and-pagination\u002F04-connecting-api-data-to-user-records","Connecting API Data To User Records",{"path":1375,"title":1376,"order":714,"module":714,"status":714},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F09-relational-data-search-and-pagination\u002F05-searching-and-filtering-with-sql","Searching And Filtering With SQL",{"path":1378,"title":1379,"order":714,"module":714,"status":714},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F09-relational-data-search-and-pagination\u002F06-pagination-displaying-records-in-pages","Pagination: Displaying Records In Pages",{"path":1381,"title":1382,"order":714,"module":714,"status":714},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F09-relational-data-search-and-pagination\u002F07-aggregate-functions-count-sum-avg","Aggregate Functions: COUNT, SUM, AVG",{"path":1384,"title":1385,"order":714,"module":714,"status":714},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F09-relational-data-search-and-pagination\u002F08-simple-analytics-and-summary-views","Simple Analytics And Summary Views",{"path":1387,"title":1388,"order":714,"module":714,"status":714},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F09-relational-data-search-and-pagination\u002F09-third-project-milestone-checklist","Third Project Milestone Checklist",{"path":1390,"title":1391,"order":714,"module":714,"status":714},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F10-final-integration-testing-and-deployment\u002F01-public-pages-and-unauthenticated-views","Public Pages And Unauthenticated Views",{"path":1393,"title":1394,"order":714,"module":714,"status":714},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F10-final-integration-testing-and-deployment\u002F02-user-profile-and-activity-pages","User Profile And Activity Pages",{"path":1396,"title":1397,"order":714,"module":714,"status":714},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F10-final-integration-testing-and-deployment\u002F03-refreshing-and-expiring-external-api-data","Refreshing And Expiring External API Data",{"path":1399,"title":1400,"order":714,"module":714,"status":714},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F10-final-integration-testing-and-deployment\u002F04-application-wide-security-audit","Application-Wide Security Audit",{"path":1402,"title":1403,"order":714,"module":714,"status":714},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F10-final-integration-testing-and-deployment\u002F05-cross-site-request-forgery-csrf-protection","Cross-Site Request Forgery (CSRF) Protection",{"path":1405,"title":1406,"order":714,"module":714,"status":714},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F10-final-integration-testing-and-deployment\u002F06-qa-testing-and-collecting-evidence","QA Testing And Collecting Evidence",{"path":1408,"title":1409,"order":714,"module":714,"status":714},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F10-final-integration-testing-and-deployment\u002F07-production-environment-checklist","Production Environment Checklist",{"path":1411,"title":1412,"order":714,"module":714,"status":714},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F10-final-integration-testing-and-deployment\u002F08-writing-a-project-readme","Writing A Project README",{"path":1414,"title":1415,"order":714,"module":714,"status":714},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F10-final-integration-testing-and-deployment\u002F09-final-presentation-and-code-walkthrough","Final Presentation And Code Walkthrough",{"path":1417,"title":1418,"order":714,"module":714,"status":714},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F10-final-integration-testing-and-deployment\u002F10-configuration-drift-and-secrets-checks","Configuration Drift And Secrets Checks",{"path":1420,"title":1421,"order":714,"module":714,"status":1422},"\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":1424,"title":1425,"order":714,"module":714,"status":1422},"\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":1427,"title":1428,"order":714,"module":714,"status":1422},"\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":1430,"title":1431,"order":714,"module":714,"status":1422},"\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":1433,"title":1434,"order":714,"module":714,"status":1422},"\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":1436,"title":1437,"order":714,"module":714,"status":1422},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F01-course-workflow-files-and-web-server\u002F03a-local-development-environment","Quiz - Set Up A Local Development Environment",{"path":1439,"title":1440,"order":714,"module":714,"status":1422},"\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":1442,"title":1443,"order":714,"module":714,"status":1422},"\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":1445,"title":1446,"order":714,"module":714,"status":1422},"\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":1448,"title":1449,"order":714,"module":714,"status":1422},"\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":1451,"title":1452,"order":714,"module":714,"status":1422},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F01-course-workflow-files-and-web-server\u002F08-installing-apache-and-php","Quiz - Installing Apache, PHP, And MySQL",{"path":1454,"title":1455,"order":714,"module":714,"status":1422},"\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":1457,"title":1458,"order":714,"module":714,"status":1422},"\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":1460,"title":1461,"order":714,"module":714,"status":714},"\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":1463,"title":1464,"order":714,"module":714,"status":1422},"\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":1466,"title":1467,"order":714,"module":714,"status":1422},"\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":1469,"title":1470,"order":714,"module":714,"status":1422},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F02-programming-fundamentals-in-php-and-javascript\u002F02-displaying-output-with-php","Quiz - Displaying Output With PHP",{"path":1472,"title":1473,"order":714,"module":714,"status":1422},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F02-programming-fundamentals-in-php-and-javascript\u002F03-displaying-output-with-javascript","Quiz - Displaying Output With JavaScript",{"path":1475,"title":1476,"order":714,"module":714,"status":714},"\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":1478,"title":1479,"order":714,"module":714,"status":714},"\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":1481,"title":1482,"order":714,"module":714,"status":1422},"\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":1484,"title":1485,"order":714,"module":714,"status":714},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F02-programming-fundamentals-in-php-and-javascript\u002F07-conditional-statements-making-decisions","Quiz - Conditional Statements: Making Decisions",{"path":1487,"title":1488,"order":714,"module":714,"status":714},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F02-programming-fundamentals-in-php-and-javascript\u002F08-loops-repeating-actions","Quiz - Loops: Repeating Actions",{"path":1490,"title":1491,"order":714,"module":714,"status":714},"\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":1493,"title":1494,"order":714,"module":714,"status":1422},"\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":1496,"title":1497,"order":714,"module":714,"status":714},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F03-html-forms-css-and-the-dom\u002F01-html-structure-and-meaning","Quiz - HTML: Structure And Meaning",{"path":1499,"title":1500,"order":714,"module":714,"status":1422},"\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":1502,"title":1503,"order":714,"module":714,"status":1422},"\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":1505,"title":1506,"order":714,"module":714,"status":714},"\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":1508,"title":1509,"order":714,"module":714,"status":1422},"\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":1511,"title":1512,"order":714,"module":714,"status":1422},"\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":1514,"title":1515,"order":714,"module":714,"status":714},"\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":1517,"title":1518,"order":714,"module":714,"status":714},"\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":1520,"title":1521,"order":714,"module":714,"status":1422},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F03-html-forms-css-and-the-dom\u002F09-page-layout-with-flexbox","Quiz - Page Layout With Flexbox",{"path":1523,"title":1524,"order":714,"module":714,"status":1422},"\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":1526,"title":1527,"order":714,"module":714,"status":1422},"\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":1529,"title":1530,"order":714,"module":714,"status":1422},"\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":1532,"title":1533,"order":714,"module":714,"status":1422},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F03-html-forms-css-and-the-dom\u002F12-basic-web-accessibility-habits","Quiz - Basic Web Accessibility Habits",{"path":1535,"title":1536,"order":714,"module":714,"status":1422},"\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":1538,"title":1539,"order":714,"module":714,"status":714},"\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":1541,"title":1542,"order":714,"module":714,"status":714},"\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":1544,"title":1545,"order":714,"module":714,"status":1422},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F04-databases-and-user-accounts\u002F04-creating-tables-with-sql-scripts","Quiz - Creating Tables With SQL Scripts",{"path":1547,"title":1548,"order":714,"module":714,"status":1422},"\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":1550,"title":1551,"order":714,"module":714,"status":1422},"\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":1553,"title":1554,"order":714,"module":714,"status":1422},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F04-databases-and-user-accounts\u002F07-building-a-registration-page","Quiz - Building A Registration Page",{"path":1556,"title":1557,"order":714,"module":714,"status":1422},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F04-databases-and-user-accounts\u002F08-hashing-passwords-with-password-hash","Quiz - Hashing Passwords With password_hash()",{"path":1559,"title":1560,"order":714,"module":714,"status":1422},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F04-databases-and-user-accounts\u002F09-building-a-login-page","Quiz - Building A Login Page",{"path":1562,"title":1563,"order":714,"module":714,"status":714},"\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":1565,"title":1566,"order":714,"module":714,"status":714},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F04-databases-and-user-accounts\u002F11-cookies-persistent-client-side-state","Quiz - Cookies: Persistent Client-Side State",{"path":1568,"title":1569,"order":714,"module":714,"status":1422},"\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":1571,"title":1572,"order":714,"module":714,"status":1422},"\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":1574,"title":1575,"order":714,"module":714,"status":1422},"\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":1577,"title":1578,"order":714,"module":714,"status":1422},"\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":1580,"title":1581,"order":714,"module":714,"status":1422},"\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":1583,"title":1584,"order":714,"module":714,"status":1422},"\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":1586,"title":1587,"order":714,"module":714,"status":1422},"\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":1589,"title":1590,"order":714,"module":714,"status":1422},"\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":1592,"title":1593,"order":714,"module":714,"status":1422},"\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":1595,"title":1596,"order":714,"module":714,"status":1422},"\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":1598,"title":1599,"order":714,"module":714,"status":1422},"\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":1601,"title":1602,"order":714,"module":714,"status":714},"\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":1604,"title":1605,"order":714,"module":714,"status":1422},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F06-roles-permissions-and-crud-pages\u002F01-role-based-access-control","Quiz - Role-Based Access Control",{"path":1607,"title":1608,"order":714,"module":714,"status":1422},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F06-roles-permissions-and-crud-pages\u002F02-storing-roles-in-the-database","Quiz - Storing Roles In The Database",{"path":1610,"title":1611,"order":714,"module":714,"status":1422},"\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":1613,"title":1614,"order":714,"module":714,"status":1422},"\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":1616,"title":1617,"order":714,"module":714,"status":1422},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F06-roles-permissions-and-crud-pages\u002F05-listing-records-from-the-database","Quiz - Listing Records From The Database",{"path":1619,"title":1620,"order":714,"module":714,"status":1422},"\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":1622,"title":1623,"order":714,"module":714,"status":1422},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F06-roles-permissions-and-crud-pages\u002F07-editing-existing-records","Quiz - Editing Existing Records",{"path":1625,"title":1626,"order":714,"module":714,"status":1422},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F06-roles-permissions-and-crud-pages\u002F08-deleting-records-safely","Quiz - Deleting Records Safely",{"path":1628,"title":1629,"order":714,"module":714,"status":714},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F06-roles-permissions-and-crud-pages\u002F09-ownership-linking-records-to-users","Quiz - Ownership: Linking Records To Users",{"path":1631,"title":1632,"order":714,"module":714,"status":1422},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F06-roles-permissions-and-crud-pages\u002F10-first-project-milestone-checklist","Quiz - First Project Milestone Checklist",{"path":1634,"title":1635,"order":714,"module":714,"status":1422},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F06-roles-permissions-and-crud-pages\u002F11-organizing-growing-php-applications","Quiz - Organizing Growing PHP Applications",{"path":1637,"title":1638,"order":714,"module":714,"status":1422},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F06-roles-permissions-and-crud-pages\u002F12-reading-a-growing-php-application","Quiz - Reading A Growing PHP Application",{"path":1640,"title":1641,"order":714,"module":714,"status":1422},"\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":1643,"title":1644,"order":714,"module":714,"status":1422},"\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":1646,"title":1647,"order":714,"module":714,"status":1422},"\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":1649,"title":1650,"order":714,"module":714,"status":1422},"\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":1652,"title":1653,"order":714,"module":714,"status":1422},"\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":1655,"title":1656,"order":714,"module":714,"status":1422},"\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":1658,"title":1659,"order":714,"module":714,"status":1422},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F07-asynchronous-requests-json-and-external-apis\u002F07-introduction-to-rest-apis","Quiz - Introduction To REST APIs",{"path":1661,"title":1662,"order":714,"module":714,"status":1422},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F07-asynchronous-requests-json-and-external-apis\u002F08-reading-api-documentation","Quiz - Reading API Documentation",{"path":1664,"title":1665,"order":714,"module":714,"status":1422},"\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":1667,"title":1668,"order":714,"module":714,"status":1422},"\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":1670,"title":1671,"order":714,"module":714,"status":1422},"\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":1673,"title":1674,"order":714,"module":714,"status":1422},"\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":1676,"title":1677,"order":714,"module":714,"status":714},"\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":1679,"title":1680,"order":714,"module":714,"status":1422},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F08-dynamic-interfaces-and-project-data\u002F02-selecting-elements-with-jquery","Quiz - Selecting Elements With jQuery",{"path":1682,"title":1683,"order":714,"module":714,"status":714},"\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":1685,"title":1686,"order":714,"module":714,"status":1422},"\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":1688,"title":1689,"order":714,"module":714,"status":1422},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F08-dynamic-interfaces-and-project-data\u002F05-sending-ajax-requests-with-jquery","Quiz - Sending AJAX Requests With jQuery",{"path":1691,"title":1692,"order":714,"module":714,"status":1422},"\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":1694,"title":1695,"order":714,"module":714,"status":1422},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F08-dynamic-interfaces-and-project-data\u002F07-saving-user-created-records","Quiz - Saving User-Created Records",{"path":1697,"title":1698,"order":714,"module":714,"status":1422},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F08-dynamic-interfaces-and-project-data\u002F08-building-a-project-listing-page","Quiz - Building A Project Listing Page",{"path":1700,"title":1701,"order":714,"module":714,"status":1422},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F08-dynamic-interfaces-and-project-data\u002F09-inline-editing-and-detail-views","Quiz - Inline Editing And Detail Views",{"path":1703,"title":1704,"order":714,"module":714,"status":1422},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F08-dynamic-interfaces-and-project-data\u002F10-second-project-milestone-checklist","Quiz - Second Project Milestone Checklist",{"path":1706,"title":1707,"order":714,"module":714,"status":1422},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F09-relational-data-search-and-pagination\u002F01-foreign-keys-and-referential-integrity","Quiz - Foreign Keys And Referential Integrity",{"path":1709,"title":1710,"order":714,"module":714,"status":1422},"\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":1712,"title":1713,"order":714,"module":714,"status":1422},"\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":1715,"title":1716,"order":714,"module":714,"status":1422},"\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":1718,"title":1719,"order":714,"module":714,"status":1422},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F09-relational-data-search-and-pagination\u002F05-searching-and-filtering-with-sql","Quiz - Searching And Filtering With SQL",{"path":1721,"title":1722,"order":714,"module":714,"status":714},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F09-relational-data-search-and-pagination\u002F06-pagination-displaying-records-in-pages","Quiz - Pagination: Displaying Records In Pages",{"path":1724,"title":1725,"order":714,"module":714,"status":714},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F09-relational-data-search-and-pagination\u002F07-aggregate-functions-count-sum-avg","Quiz - Aggregate Functions: COUNT, SUM, AVG",{"path":1727,"title":1728,"order":714,"module":714,"status":1422},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F09-relational-data-search-and-pagination\u002F08-simple-analytics-and-summary-views","Quiz - Simple Analytics And Summary Views",{"path":1730,"title":1731,"order":714,"module":714,"status":1422},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F09-relational-data-search-and-pagination\u002F09-third-project-milestone-checklist","Quiz - Third Project Milestone Checklist",{"path":1733,"title":1734,"order":714,"module":714,"status":1422},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F10-final-integration-testing-and-deployment\u002F01-public-pages-and-unauthenticated-views","Quiz - Public Pages And Unauthenticated Views",{"path":1736,"title":1737,"order":714,"module":714,"status":1422},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F10-final-integration-testing-and-deployment\u002F02-user-profile-and-activity-pages","Quiz - User Profile And Activity Pages",{"path":1739,"title":1740,"order":714,"module":714,"status":1422},"\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":1742,"title":1743,"order":714,"module":714,"status":1422},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F10-final-integration-testing-and-deployment\u002F04-application-wide-security-audit","Quiz - Application-Wide Security Audit",{"path":1745,"title":1746,"order":714,"module":714,"status":1422},"\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":1748,"title":1749,"order":714,"module":714,"status":1422},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F10-final-integration-testing-and-deployment\u002F06-qa-testing-and-collecting-evidence","Quiz - QA Testing And Collecting Evidence",{"path":1751,"title":1752,"order":714,"module":714,"status":1422},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F10-final-integration-testing-and-deployment\u002F07-production-environment-checklist","Quiz - Production Environment Checklist",{"path":1754,"title":1755,"order":714,"module":714,"status":1422},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F10-final-integration-testing-and-deployment\u002F08-writing-a-project-readme","Quiz - Writing A Project README",{"path":1757,"title":1758,"order":714,"module":714,"status":1422},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F10-final-integration-testing-and-deployment\u002F09-final-presentation-and-code-walkthrough","Quiz - Final Presentation And Code Walkthrough",{"path":1760,"title":1761,"order":714,"module":714,"status":1422},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F10-final-integration-testing-and-deployment\u002F10-configuration-drift-and-secrets-checks","Quiz - Configuration Drift And Secrets Checks",{"path":1763,"title":1764,"order":724,"module":718,"status":731},"\u002Finternet-applications\u002Fbook\u002Freference\u002Fa-command-line-basics","Command Line Basics",{"path":1766,"title":1767,"order":14,"module":718,"status":731},"\u002Finternet-applications\u002Fbook\u002Freference\u002Fb-git-and-github-recovery","Git And GitHub Recovery",{"path":1769,"title":1770,"order":81,"module":718,"status":731},"\u002Finternet-applications\u002Fbook\u002Freference\u002Fc-apache-and-php-troubleshooting","Apache And PHP Troubleshooting",{"path":1772,"title":1773,"order":768,"module":718,"status":731},"\u002Finternet-applications\u002Fbook\u002Freference\u002Fd-mysql-troubleshooting","MySQL Troubleshooting",{"path":1775,"title":1776,"order":775,"module":718,"status":731},"\u002Finternet-applications\u002Fbook\u002Freference\u002Fe-http-request-and-response-reference","HTTP Request And Response Reference",{"path":1778,"title":1779,"order":786,"module":718,"status":731},"\u002Finternet-applications\u002Fbook\u002Freference\u002Ff-common-security-mistakes","Common Security Mistakes",{"path":1781,"title":1782,"order":790,"module":718,"status":731},"\u002Finternet-applications\u002Fbook\u002Freference\u002Fg-ai-collaboration-and-disclosure","AI Collaboration And Disclosure",{"path":1784,"title":1785,"order":718,"module":718,"status":731},"\u002Finternet-applications\u002Fbook\u002Ftoc","Internet Applications: Table of Contents",{"path":1787,"title":1788,"order":726,"module":724,"status":731},"\u002Finternet-applications\u002Flabs\u002F01-git-recovery-and-submission-evidence","Lab 1: Git Recovery And Submission Evidence",{"path":1790,"title":1791,"order":752,"module":14,"status":731},"\u002Finternet-applications\u002Flabs\u002F02-php-output-and-error-reading","Lab 2: PHP Output And Error Reading",{"path":1793,"title":1794,"order":782,"module":81,"status":731},"\u002Finternet-applications\u002Flabs\u002F03-form-methods-and-sticky-values","Lab 3: Form Methods And Sticky Values",{"path":1796,"title":1797,"order":908,"module":768,"status":731},"\u002Finternet-applications\u002Flabs\u002F04-pdo-query-and-sql-evidence","Lab 4: PDO Query And SQL Evidence",{"path":1799,"title":1800,"order":928,"module":775,"status":731},"\u002Finternet-applications\u002Flabs\u002F05-validation-debugging-and-friendly-errors","Lab 5: Validation, Debugging, And Friendly Errors",{"path":1802,"title":1803,"order":932,"module":786,"status":731},"\u002Finternet-applications\u002Flabs\u002F06-role-protected-crud-check","Lab 6: Role-Protected CRUD Check",{"path":1805,"title":1806,"order":1807,"module":786,"status":731},"\u002Finternet-applications\u002Flabs\u002F06a-relative-paths-includes-and-feature-trace","Lab 6A: Relative Paths, Includes, And Feature Tracing","61",{"path":1809,"title":1810,"order":835,"module":790,"status":731},"\u002Finternet-applications\u002Flabs\u002F07-json-endpoint-and-fetch-check","Lab 7: JSON Endpoint And Fetch Check",{"path":1812,"title":1813,"order":965,"module":871,"status":731},"\u002Finternet-applications\u002Flabs\u002F08-jquery-ajax-interface-check","Lab 8: jQuery AJAX Interface Check",{"path":1815,"title":1816,"order":969,"module":877,"status":731},"\u002Finternet-applications\u002Flabs\u002F09-search-pagination-and-summary-check","Lab 9: Search, Pagination, And Summary Check",{"path":1818,"title":1819,"order":973,"module":726,"status":731},"\u002Finternet-applications\u002Flabs\u002F10-final-security-and-readme-check","Lab 10: Final Security And README Check",{"path":1821,"title":1822,"order":714,"module":714,"status":731},"\u002Finternet-applications\u002Fpresentations-revised\u002F00-revision-plan","Internet Applications Revision Plan - Superseded Historical Baseline",{"path":1824,"title":1825,"order":714,"module":714,"status":731},"\u002Finternet-applications\u002Fpresentations-revised\u002F01-20-minute-recording-plan","Internet Applications Recording Plan - Superseded Historical Baseline",{"path":1827,"title":914,"order":718,"module":724,"status":748},"\u002Finternet-applications\u002Fpresentations\u002F01-git-github-and-course-workflow\u002F00-learn-courses-and-discord",{"path":1829,"title":1830,"order":726,"module":724,"status":748},"\u002Finternet-applications\u002Fpresentations\u002F01-git-github-and-course-workflow\u002F01-basic-cli-commands","Basic CLI Commands",{"path":1832,"title":1833,"order":752,"module":724,"status":748},"\u002Finternet-applications\u002Fpresentations\u002F01-git-github-and-course-workflow\u002F02-install-git-tools","Git Tools",{"path":1835,"title":1836,"order":782,"module":724,"status":748},"\u002Finternet-applications\u002Fpresentations\u002F01-git-github-and-course-workflow\u002F03-setup-github-ssh","Set Up GitHub SSH",{"path":1838,"title":1839,"order":908,"module":724,"status":748},"\u002Finternet-applications\u002Fpresentations\u002F01-git-github-and-course-workflow\u002F04-git-commands-prs","Git Commands And Pull Requests",{"path":1841,"title":1842,"order":928,"module":724,"status":748},"\u002Finternet-applications\u002Fpresentations\u002F01-git-github-and-course-workflow\u002F05-setup-local-development-environment","Local Development Environment Setup",{"path":1844,"title":958,"order":932,"module":724,"status":748},"\u002Finternet-applications\u002Fpresentations\u002F01-git-github-and-course-workflow\u002F06-add-instructor-template-to-your-repository",{"path":1846,"title":961,"order":835,"module":724,"status":748},"\u002Finternet-applications\u002Fpresentations\u002F01-git-github-and-course-workflow\u002F07-qa-prod-branches",{"path":1848,"title":964,"order":965,"module":724,"status":748},"\u002Finternet-applications\u002Fpresentations\u002F01-git-github-and-course-workflow\u002F08-render-setup",{"path":1850,"title":1851,"order":969,"module":724,"status":748},"\u002Finternet-applications\u002Fpresentations\u002F01-git-github-and-course-workflow\u002F09-local-ubuntu-web-server-virtualbox","Local Ubuntu Web Server With VirtualBox",{"path":1853,"title":972,"order":973,"module":724,"status":731},"\u002Finternet-applications\u002Fpresentations\u002F01-git-github-and-course-workflow\u002F10-local-ubuntu-web-server-vmware",{"path":1855,"title":976,"order":726,"module":14,"status":748},"\u002Finternet-applications\u002Fpresentations\u002F02-php-and-javascript-basics\u002F01-compare-php-and-javascript",{"path":1857,"title":979,"order":752,"module":14,"status":748},"\u002Finternet-applications\u002Fpresentations\u002F02-php-and-javascript-basics\u002F02-conditions-loops-functions",{"path":1859,"title":982,"order":726,"module":81,"status":748},"\u002Finternet-applications\u002Fpresentations\u002F03-html-forms-css-and-dom\u002F01-intro-to-html",{"path":1861,"title":985,"order":752,"module":81,"status":748},"\u002Finternet-applications\u002Fpresentations\u002F03-html-forms-css-and-dom\u002F02-intro-to-forms-and-get-post",{"path":1863,"title":988,"order":782,"module":81,"status":748},"\u002Finternet-applications\u002Fpresentations\u002F03-html-forms-css-and-dom\u002F03-understanding-css-js-selectors-and-dom-updates",{"path":1865,"title":991,"order":726,"module":768,"status":748},"\u002Finternet-applications\u002Fpresentations\u002F04-databases-and-user-accounts\u002F01-intro-to-sql",{"path":1867,"title":994,"order":752,"module":768,"status":748},"\u002Finternet-applications\u002Fpresentations\u002F04-databases-and-user-accounts\u002F02-project-database-setup",{"path":1869,"title":997,"order":782,"module":768,"status":748},"\u002Finternet-applications\u002Fpresentations\u002F04-databases-and-user-accounts\u002F03-user-registration",{"path":1871,"title":1000,"order":908,"module":768,"status":748},"\u002Finternet-applications\u002Fpresentations\u002F04-databases-and-user-accounts\u002F04-user-login",{"path":1873,"title":1003,"order":726,"module":775,"status":748},"\u002Finternet-applications\u002Fpresentations\u002F05-validation-and-user-profiles\u002F01-intro-to-regex",{"path":1875,"title":1006,"order":752,"module":775,"status":748},"\u002Finternet-applications\u002Fpresentations\u002F05-validation-and-user-profiles\u002F02-project-shared-helpers",{"path":1877,"title":1878,"order":782,"module":775,"status":748},"\u002Finternet-applications\u002Fpresentations\u002F05-validation-and-user-profiles\u002F03-flash-messages-and-redirect-feedback","Flash Messages And Redirect Feedback",{"path":1880,"title":1012,"order":908,"module":775,"status":748},"\u002Finternet-applications\u002Fpresentations\u002F05-validation-and-user-profiles\u002F04-user-profile",{"path":1882,"title":1015,"order":726,"module":786,"status":748},"\u002Finternet-applications\u002Fpresentations\u002F06-roles-and-crud-pages\u002F01-user-roles-authorization",{"path":1884,"title":1018,"order":752,"module":786,"status":748},"\u002Finternet-applications\u002Fpresentations\u002F06-roles-and-crud-pages\u002F02-user-login-enhancement",{"path":1886,"title":1021,"order":782,"module":786,"status":748},"\u002Finternet-applications\u002Fpresentations\u002F06-roles-and-crud-pages\u002F03-dynamic-content",{"path":1888,"title":1024,"order":726,"module":790,"status":748},"\u002Finternet-applications\u002Fpresentations\u002F07-api-data-and-database-helpers\u002F01-working-with-api-data",{"path":1890,"title":1027,"order":752,"module":790,"status":748},"\u002Finternet-applications\u002Fpresentations\u002F07-api-data-and-database-helpers\u002F02-api-integration",{"path":1892,"title":1030,"order":782,"module":790,"status":748},"\u002Finternet-applications\u002Fpresentations\u002F07-api-data-and-database-helpers\u002F03-database-utility-functions",{"path":1894,"title":1033,"order":726,"module":871,"status":748},"\u002Finternet-applications\u002Fpresentations\u002F08-reusable-components-jquery-and-ajax\u002F01-milestone-2-bootstrap-and-reusability",{"path":1896,"title":1036,"order":752,"module":871,"status":748},"\u002Finternet-applications\u002Fpresentations\u002F08-reusable-components-jquery-and-ajax\u002F02-jquery-brief-intro",{"path":1898,"title":1039,"order":782,"module":871,"status":748},"\u002Finternet-applications\u002Fpresentations\u002F08-reusable-components-jquery-and-ajax\u002F03-intro-to-ajax",{"path":1900,"title":1042,"order":726,"module":877,"status":748},"\u002Finternet-applications\u002Fpresentations\u002F09-relational-data-search-and-pagination\u002F01-user-associations",{"path":1902,"title":1045,"order":752,"module":877,"status":748},"\u002Finternet-applications\u002Fpresentations\u002F09-relational-data-search-and-pagination\u002F02-association-views-and-pagination",{"path":1904,"title":1048,"order":726,"module":726,"status":748},"\u002Finternet-applications\u002Fpresentations\u002F10-association-assignment-and-security\u002F01-association-assignment-and-public-profiles",{"path":1906,"title":1051,"order":752,"module":726,"status":748},"\u002Finternet-applications\u002Fpresentations\u002F10-association-assignment-and-security\u002F02-reusable-csrf-protection",{"path":1908,"title":1054,"order":724,"module":718,"status":748},"\u002Finternet-applications\u002Fsyllabus\u002Fsummer-2026",{"path":1910,"title":1911,"order":1912,"module":726,"status":731},"\u002Finternet-applications\u002Fworksheets\u002Ffinal-project-submission-worksheet","Final Project Submission Worksheet","110",{"path":1914,"title":1915,"order":1916,"module":786,"status":731},"\u002Finternet-applications\u002Fworksheets\u002Flegacy-milestone-01-worksheet","Legacy Milestone 1 Worksheet","118",{"path":1918,"title":1919,"order":1920,"module":786,"status":731},"\u002Finternet-applications\u002Fworksheets\u002Flegacy-multi-dimension-php-problems-worksheet","Legacy Multi-Dimension PHP Problems Worksheet","119",{"path":1922,"title":1923,"order":1912,"module":786,"status":731},"\u002Finternet-applications\u002Fworksheets\u002Fmilestone-01-account-access-and-profile-worksheet","IT202 Milestone 1 - 2026",{"path":1925,"title":1926,"order":1927,"module":871,"status":731},"\u002Finternet-applications\u002Fworksheets\u002Fmilestone-02-api-data-and-crud-worksheet","IT202 Milestone 2 - 2026","120",{"path":1929,"title":1930,"order":1931,"module":877,"status":731},"\u002Finternet-applications\u002Fworksheets\u002Fmilestone-03-user-associations-worksheet","IT202 Milestone 3 - 2026","130",{"path":1933,"title":1934,"order":726,"module":724,"status":731},"\u002Finternet-applications\u002Fworksheets\u002Fmodule-01-git-and-local-server-worksheet","Module 1 Worksheet: Git, GitHub, And Local Server Evidence",{"path":1936,"title":1937,"order":752,"module":14,"status":731},"\u002Finternet-applications\u002Fworksheets\u002Fmodule-02-php-and-debugging-worksheet","Module 2 Worksheet: PHP Challenge Scenarios",{"path":1939,"title":1940,"order":782,"module":81,"status":731},"\u002Finternet-applications\u002Fworksheets\u002Fmodule-03-forms-css-and-dom-worksheet","Module 3 Worksheet: HTML, CSS, JS Challenges",{"path":1942,"title":1943,"order":908,"module":768,"status":731},"\u002Finternet-applications\u002Fworksheets\u002Fmodule-04-database-auth-and-sessions-worksheet","Module 4 Worksheet: SQL Todo Challenge",{"path":1945,"title":1946,"order":928,"module":775,"status":731},"\u002Finternet-applications\u002Fworksheets\u002Fmodule-05-validation-and-debugging-worksheet","Module 5 Worksheet: Validation And Debugging Evidence",{"path":1948,"title":1949,"order":932,"module":786,"status":731},"\u002Finternet-applications\u002Fworksheets\u002Fmodule-06-authorization-and-crud-worksheet","Module 6 Worksheet: Authorization And CRUD Evidence",{"path":1951,"title":1952,"order":1953,"module":786,"status":731},"\u002Finternet-applications\u002Fworksheets\u002Fmodule-06-multi-dimensional-php-arrays-worksheet","Module 06 Worksheet: Multi-Dimensional PHP Arrays","62",{"path":1955,"title":1956,"order":835,"module":790,"status":731},"\u002Finternet-applications\u002Fworksheets\u002Fmodule-07-api-testing-worksheet","Module 07 Worksheet: Project API Testing",{"path":1958,"title":1959,"order":965,"module":871,"status":731},"\u002Finternet-applications\u002Fworksheets\u002Fmodule-08-jquery-and-dynamic-ui-worksheet","Module 8 Worksheet: jQuery And Dynamic UI Evidence",{"path":1961,"title":1962,"order":969,"module":877,"status":731},"\u002Finternet-applications\u002Fworksheets\u002Fmodule-09-search-pagination-and-summary-worksheet","Module 9 Worksheet: Search, Pagination, And Summary Evidence",{"path":1964,"title":1965,"order":973,"module":726,"status":731},"\u002Finternet-applications\u002Fworksheets\u002Fmodule-10-final-project-readiness-worksheet","Module 10 Worksheet: Final Project Readiness Evidence",{"path":1967,"title":1968,"order":932,"module":724,"status":731},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F01-module-1-course-setup\u002F06-java-environment-setup","IT114 Java Environment Setup",{"path":1970,"title":1971,"order":726,"module":14,"status":748},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F02-module-2-java-basics\u002F01-java-basics","Java Basics",{"path":1973,"title":1974,"order":752,"module":14,"status":748},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F02-module-2-java-basics\u002F02-flow-control","Java Flow Control",{"path":1976,"title":1977,"order":782,"module":14,"status":748},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F02-module-2-java-basics\u002F03-loops","Java Loops",{"path":1979,"title":1980,"order":908,"module":14,"status":748},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F02-module-2-java-basics\u002F04-collections","Java Arrays, Queue, Stack, ArrayList",{"path":1982,"title":1983,"order":726,"module":81,"status":748},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F03-module-3-java-io-and-oop\u002F01-user-input","Java User Input",{"path":1985,"title":1986,"order":752,"module":81,"status":748},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F03-module-3-java-io-and-oop\u002F02-oop-modifiers","Java Intro to OOP - Modifiers",{"path":1988,"title":1989,"order":782,"module":81,"status":748},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F03-module-3-java-io-and-oop\u002F03-file-io","Java File I\u002FO",{"path":1991,"title":1992,"order":908,"module":81,"status":748},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F03-module-3-java-io-and-oop\u002F04-recursion-trees","Java Recursion and Trees",{"path":1994,"title":1995,"order":726,"module":768,"status":748},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F04-module-4-sockets-and-oop\u002F01-sockets-overview","Java Sockets: Overview",{"path":1997,"title":1998,"order":752,"module":768,"status":748},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F04-module-4-sockets-and-oop\u002F02-oop-intermediate","Java OOP Intermediate",{"path":2000,"title":2001,"order":782,"module":768,"status":748},"\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":2003,"title":2004,"order":908,"module":768,"status":748},"\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":2006,"title":2007,"order":752,"module":786,"status":748},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F06-module-6-milestone-2-prep\u002F02-prepare-milestone-2-2026","Preparing the Java Project Framework",{"path":2009,"title":2010,"order":726,"module":790,"status":748},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F06-module-6-milestone-2-prep\u002F03-gameserver-ready-check","GameServer: Ready Check",{"path":2012,"title":2013,"order":726,"module":790,"status":731},"\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":2015,"title":2016,"order":752,"module":790,"status":731},"\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":2018,"title":2019,"order":782,"module":790,"status":731},"\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":2021,"title":2022,"order":908,"module":790,"status":731},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F07-module-7-game-rooms-and-turns\u002F04-simultaneous-turns","Java Advanced Programming Milestone 2: Simultaneous Turns",{"path":2024,"title":2025,"order":928,"module":790,"status":731},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F07-module-7-game-rooms-and-turns\u002F05-individual-turns","Java Advanced Programming Milestone 2: Individual Turns",{"path":2027,"title":2028,"order":726,"module":871,"status":731},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F08-module-8-grids-cards-and-ui\u002F01-grid-integration","Java Advanced Programming Milestone 2: Grid Integration",{"path":2030,"title":2031,"order":752,"module":871,"status":731},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F08-module-8-grids-cards-and-ui\u002F02-card-integration","Java Advanced Programming Milestone 2: Cards Integration",{"path":2033,"title":2034,"order":782,"module":871,"status":731},"\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":2036,"title":2037,"order":908,"module":871,"status":731},"\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":2039,"title":2040,"order":928,"module":871,"status":731},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F08-module-8-grids-cards-and-ui\u002F05-java-ui-intro","Java Advanced Programming Java UI 2025",{"path":2042,"title":2043,"order":726,"module":877,"status":731},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F09-module-9-ui-integration\u002F01-ui-integration-2026","UI Integration 2026",{"path":2045,"title":2046,"order":752,"module":877,"status":731},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F09-module-9-ui-integration\u002F02-ui-drawing","UI Drawing",{"path":2048,"title":2049,"order":782,"module":877,"status":731},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F09-module-9-ui-integration\u002F03-baseline-ui-integration","Baseline UI Integration",{"path":2051,"title":2052,"order":908,"module":877,"status":731},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F09-module-9-ui-integration\u002F04-ndff-ui-integration","NDFF UI Integration",{"path":2054,"title":2055,"order":928,"module":877,"status":731},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F09-module-9-ui-integration\u002F05-equals-6-ui","Equals 6 UI",{"path":2057,"title":2058,"order":932,"module":877,"status":731},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F09-module-9-ui-integration\u002F06-popularity-mini-project","Popularity Mini Project",{"path":2060,"title":2061,"order":726,"module":726,"status":731},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F10-module-10-wrap-up-and-deployment\u002F01-milestone-3-wrapup","Milestone 3 Wrapup",{"path":2063,"title":2064,"order":752,"module":726,"status":731},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F10-module-10-wrap-up-and-deployment\u002F02-deploying-java-apps","Deploying Java Apps",{"path":2066,"title":2067,"order":782,"module":726,"status":731},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F10-module-10-wrap-up-and-deployment\u002F03-ndff-away-spectator","NDFF Away Spectator",{"path":2069,"title":2070,"order":871,"module":786,"status":748},"\u002Fjava-advanced-programming\u002F2e\u002Fprojects\u002Fbattleship","Battleship Project",{"path":2072,"title":2073,"order":775,"module":786,"status":748},"\u002Fjava-advanced-programming\u002F2e\u002Fprojects\u002Fdrawing","Drawing Project",{"path":2075,"title":2076,"order":81,"module":786,"status":748},"\u002Fjava-advanced-programming\u002F2e\u002Fprojects\u002Fgo-fish","Go Fish Project",{"path":2078,"title":2079,"order":768,"module":786,"status":748},"\u002Fjava-advanced-programming\u002F2e\u002Fprojects\u002Fhangman","Hangman Project",{"path":2081,"title":2082,"order":724,"module":786,"status":748},"\u002Fjava-advanced-programming\u002F2e\u002Fprojects","IT114 Project Choices",{"path":2084,"title":2085,"order":786,"module":786,"status":748},"\u002Fjava-advanced-programming\u002F2e\u002Fprojects\u002Frock-paper-scissors","Rock Paper Scissors Project",{"path":2087,"title":2088,"order":14,"module":786,"status":748},"\u002Fjava-advanced-programming\u002F2e\u002Fprojects\u002Fshared-requirements","IT114 Shared Project Requirements",{"path":2090,"title":2091,"order":790,"module":786,"status":748},"\u002Fjava-advanced-programming\u002F2e\u002Fprojects\u002Ftrivia","Trivia Project",{"path":2093,"title":2094,"order":724,"module":718,"status":748},"\u002Fjava-advanced-programming\u002F2e\u002Fsyllabus\u002Ffall-2026","IT114 - Advanced Programming for Information Technology",{"path":2096,"title":1057,"order":726,"module":724,"status":748},"\u002Fjava-advanced-programming\u002F2e\u002Fworksheets\u002Fmodule-01-getting-started",{"path":2098,"title":2099,"order":752,"module":14,"status":748},"\u002Fjava-advanced-programming\u002F2e\u002Fworksheets\u002Fmodule-02-java-challenges","Module 2 Java Challenges",{"path":2101,"title":2102,"order":726,"module":724,"status":731},"\u002Fjava-advanced-programming\u002Fbook\u002Fmodules\u002F01-course-setup-and-workflow\u002F01-course-tools-and-workflow","Course Tools And Workflow",{"path":2104,"title":2105,"order":752,"module":724,"status":731},"\u002Fjava-advanced-programming\u002Fbook\u002Fmodules\u002F01-course-setup-and-workflow\u002F02-terminal-git-and-github","Terminal, Git, And GitHub Basics",{"path":2107,"title":2108,"order":782,"module":724,"status":731},"\u002Fjava-advanced-programming\u002Fbook\u002Fmodules\u002F01-course-setup-and-workflow\u002F03-java-development-environment","Java Development Environment",{"path":2110,"title":2111,"order":726,"module":14,"status":731},"\u002Fjava-advanced-programming\u002Fbook\u002Fmodules\u002F02-java-basics\u002F01-java-program-shape","The Shape Of A Java Program",{"path":2113,"title":2114,"order":752,"module":14,"status":731},"\u002Fjava-advanced-programming\u002Fbook\u002Fmodules\u002F02-java-basics\u002F02-values-types-and-expressions","Values, Types, And Expressions",{"path":2116,"title":2117,"order":782,"module":14,"status":731},"\u002Fjava-advanced-programming\u002Fbook\u002Fmodules\u002F02-java-basics\u002F03-conditions-loops-and-collections","Conditions, Loops, And Collections",{"path":2119,"title":2120,"order":726,"module":81,"status":731},"\u002Fjava-advanced-programming\u002Fbook\u002Fmodules\u002F03-java-input-io-and-oop\u002F01-user-input-and-output","User Input And Program Output",{"path":2122,"title":2123,"order":752,"module":81,"status":731},"\u002Fjava-advanced-programming\u002Fbook\u002Fmodules\u002F03-java-input-io-and-oop\u002F02-classes-objects-and-modifiers","Classes, Objects, And Modifiers",{"path":2125,"title":2126,"order":782,"module":81,"status":731},"\u002Fjava-advanced-programming\u002Fbook\u002Fmodules\u002F03-java-input-io-and-oop\u002F03-file-io-paths-and-exceptions","File I\u002FO, Paths, And Exceptions",{"path":2128,"title":2129,"order":908,"module":81,"status":731},"\u002Fjava-advanced-programming\u002Fbook\u002Fmodules\u002F03-java-input-io-and-oop\u002F04-recursion-and-trees","Recursion And Tree Thinking",{"path":2131,"title":2132,"order":726,"module":768,"status":731},"\u002Fjava-advanced-programming\u002Fbook\u002Fmodules\u002F04-sockets-and-oop\u002F01-sockets-client-server","Sockets And Client\u002FServer Thinking",{"path":2134,"title":2135,"order":752,"module":768,"status":731},"\u002Fjava-advanced-programming\u002Fbook\u002Fmodules\u002F04-sockets-and-oop\u002F02-server-socket-flow","The ServerSocket Flow",{"path":2137,"title":2138,"order":782,"module":768,"status":731},"\u002Fjava-advanced-programming\u002Fbook\u002Fmodules\u002F04-sockets-and-oop\u002F03-oop-for-socket-apps","OOP For Socket Applications",{"path":2140,"title":2141,"order":726,"module":775,"status":731},"\u002Fjava-advanced-programming\u002Fbook\u002Fmodules\u002F05-multi-client-sockets\u002F01-multi-client-server-shape","Multi-Client Server Shape",{"path":2143,"title":2144,"order":752,"module":775,"status":731},"\u002Fjava-advanced-programming\u002Fbook\u002Fmodules\u002F05-multi-client-sockets\u002F02-threads-shared-state-and-message-routing","Threads, Shared State, And Message Routing",{"path":2146,"title":2147,"order":782,"module":775,"status":731},"\u002Fjava-advanced-programming\u002Fbook\u002Fmodules\u002F05-multi-client-sockets\u002F03-debugging-socket-programs","Debugging Socket Programs",{"path":2149,"title":2150,"order":718,"module":718,"status":731},"\u002Fjava-advanced-programming\u002Fbook\u002Ftoc","Java Advanced Programming: Table of Contents",{"path":2152,"title":2153,"order":714,"module":714,"status":731},"\u002Fjava-advanced-programming\u002Fpresentations-revised\u002F00-revision-plan","Java Advanced Programming Revision Plan - Superseded Historical Baseline",{"path":2155,"title":2156,"order":714,"module":714,"status":731},"\u002Fjava-advanced-programming\u002Fpresentations-revised\u002F01-20-minute-recording-plan","Java Advanced Programming Recording Plan - Superseded Historical Baseline",{"path":2158,"title":1830,"order":726,"module":724,"status":731},"\u002Fjava-advanced-programming\u002Fpresentations\u002F01-module-1-course-setup\u002F01-basic-cli-commands",{"path":2160,"title":1833,"order":752,"module":724,"status":731},"\u002Fjava-advanced-programming\u002Fpresentations\u002F01-module-1-course-setup\u002F02-install-git-tools",{"path":2162,"title":1836,"order":782,"module":724,"status":731},"\u002Fjava-advanced-programming\u002Fpresentations\u002F01-module-1-course-setup\u002F03-setup-github-ssh",{"path":2164,"title":1839,"order":908,"module":724,"status":731},"\u002Fjava-advanced-programming\u002Fpresentations\u002F01-module-1-course-setup\u002F04-git-commands-prs",{"path":2166,"title":2167,"order":928,"module":724,"status":731},"\u002Fjava-advanced-programming\u002Fpresentations\u002F01-module-1-course-setup\u002F05-course-repo-setup","Course Repository Setup",{"path":2169,"title":2170,"order":932,"module":724,"status":731},"\u002Fjava-advanced-programming\u002Fpresentations\u002F01-module-1-course-setup\u002F06-java-environment-setup","Java Development Environment Setup",{"path":2172,"title":1971,"order":726,"module":14,"status":731},"\u002Fjava-advanced-programming\u002Fpresentations\u002F02-module-2-java-basics\u002F01-java-basics",{"path":2174,"title":1974,"order":752,"module":14,"status":731},"\u002Fjava-advanced-programming\u002Fpresentations\u002F02-module-2-java-basics\u002F02-flow-control",{"path":2176,"title":1977,"order":782,"module":14,"status":731},"\u002Fjava-advanced-programming\u002Fpresentations\u002F02-module-2-java-basics\u002F03-loops",{"path":2178,"title":1980,"order":908,"module":14,"status":731},"\u002Fjava-advanced-programming\u002Fpresentations\u002F02-module-2-java-basics\u002F04-collections",{"path":2180,"title":1983,"order":726,"module":81,"status":731},"\u002Fjava-advanced-programming\u002Fpresentations\u002F03-module-3-java-io-and-oop\u002F01-user-input",{"path":2182,"title":1986,"order":752,"module":81,"status":731},"\u002Fjava-advanced-programming\u002Fpresentations\u002F03-module-3-java-io-and-oop\u002F02-oop-modifiers",{"path":2184,"title":1989,"order":782,"module":81,"status":731},"\u002Fjava-advanced-programming\u002Fpresentations\u002F03-module-3-java-io-and-oop\u002F03-file-io",{"path":2186,"title":1992,"order":908,"module":81,"status":731},"\u002Fjava-advanced-programming\u002Fpresentations\u002F03-module-3-java-io-and-oop\u002F04-recursion-trees",{"path":2188,"title":1995,"order":726,"module":768,"status":731},"\u002Fjava-advanced-programming\u002Fpresentations\u002F04-module-4-sockets-and-oop\u002F01-sockets-overview",{"path":2190,"title":1998,"order":752,"module":768,"status":731},"\u002Fjava-advanced-programming\u002Fpresentations\u002F04-module-4-sockets-and-oop\u002F02-oop-intermediate",{"path":2192,"title":2001,"order":782,"module":768,"status":731},"\u002Fjava-advanced-programming\u002Fpresentations\u002F04-module-4-sockets-and-oop\u002F03-multi-client-chat-part-1",{"path":2194,"title":2004,"order":726,"module":775,"status":731},"\u002Fjava-advanced-programming\u002Fpresentations\u002F05-module-5-multi-client-sockets\u002F01-multi-client-chat-part-2",{"path":2196,"title":2197,"order":726,"module":786,"status":731},"\u002Fjava-advanced-programming\u002Fpresentations\u002F06-module-6-milestone-2-prep\u002F01-prepare-milestone-2-2025","Java Advanced Programming Preparing for Milestone2 2025",{"path":2199,"title":2200,"order":752,"module":786,"status":731},"\u002Fjava-advanced-programming\u002Fpresentations\u002F06-module-6-milestone-2-prep\u002F02-prepare-milestone-2-2026","Java Advanced Programming Preparing for Milestone 2",{"path":2202,"title":2203,"order":782,"module":786,"status":731},"\u002Fjava-advanced-programming\u002Fpresentations\u002F06-module-6-milestone-2-prep\u002F03-gameserver-ready-check","Java Advanced Programming Milestone 2: GameServer Ready Check",{"path":2205,"title":2013,"order":726,"module":790,"status":731},"\u002Fjava-advanced-programming\u002Fpresentations\u002F07-module-7-game-rooms-and-turns\u002F01-game-rooms-ready-check",{"path":2207,"title":2016,"order":752,"module":790,"status":731},"\u002Fjava-advanced-programming\u002Fpresentations\u002F07-module-7-game-rooms-and-turns\u002F02-round-robin-turns",{"path":2209,"title":2019,"order":782,"module":790,"status":731},"\u002Fjava-advanced-programming\u002Fpresentations\u002F07-module-7-game-rooms-and-turns\u002F03-phase-based-turns",{"path":2211,"title":2022,"order":908,"module":790,"status":731},"\u002Fjava-advanced-programming\u002Fpresentations\u002F07-module-7-game-rooms-and-turns\u002F04-simultaneous-turns",{"path":2213,"title":2025,"order":928,"module":790,"status":731},"\u002Fjava-advanced-programming\u002Fpresentations\u002F07-module-7-game-rooms-and-turns\u002F05-individual-turns",{"path":2215,"title":2028,"order":726,"module":871,"status":731},"\u002Fjava-advanced-programming\u002Fpresentations\u002F08-module-8-grids-cards-and-ui\u002F01-grid-integration",{"path":2217,"title":2031,"order":752,"module":871,"status":731},"\u002Fjava-advanced-programming\u002Fpresentations\u002F08-module-8-grids-cards-and-ui\u002F02-card-integration",{"path":2219,"title":2034,"order":782,"module":871,"status":731},"\u002Fjava-advanced-programming\u002Fpresentations\u002F08-module-8-grids-cards-and-ui\u002F03-equals-6-mini-project",{"path":2221,"title":2037,"order":908,"module":871,"status":731},"\u002Fjava-advanced-programming\u002Fpresentations\u002F08-module-8-grids-cards-and-ui\u002F04-nice-day-for-fishin",{"path":2223,"title":2040,"order":928,"module":871,"status":731},"\u002Fjava-advanced-programming\u002Fpresentations\u002F08-module-8-grids-cards-and-ui\u002F05-java-ui-intro",{"path":2225,"title":2043,"order":726,"module":877,"status":731},"\u002Fjava-advanced-programming\u002Fpresentations\u002F09-module-9-ui-integration\u002F01-ui-integration-2026",{"path":2227,"title":2046,"order":752,"module":877,"status":731},"\u002Fjava-advanced-programming\u002Fpresentations\u002F09-module-9-ui-integration\u002F02-ui-drawing",{"path":2229,"title":2049,"order":782,"module":877,"status":731},"\u002Fjava-advanced-programming\u002Fpresentations\u002F09-module-9-ui-integration\u002F03-baseline-ui-integration",{"path":2231,"title":2052,"order":908,"module":877,"status":731},"\u002Fjava-advanced-programming\u002Fpresentations\u002F09-module-9-ui-integration\u002F04-ndff-ui-integration",{"path":2233,"title":2055,"order":928,"module":877,"status":731},"\u002Fjava-advanced-programming\u002Fpresentations\u002F09-module-9-ui-integration\u002F05-equals-6-ui",{"path":2235,"title":2058,"order":932,"module":877,"status":731},"\u002Fjava-advanced-programming\u002Fpresentations\u002F09-module-9-ui-integration\u002F06-popularity-mini-project",{"path":2237,"title":2061,"order":726,"module":726,"status":731},"\u002Fjava-advanced-programming\u002Fpresentations\u002F10-module-10-wrap-up-and-deployment\u002F01-milestone-3-wrapup",{"path":2239,"title":2064,"order":752,"module":726,"status":731},"\u002Fjava-advanced-programming\u002Fpresentations\u002F10-module-10-wrap-up-and-deployment\u002F02-deploying-java-apps",{"path":2241,"title":2067,"order":782,"module":726,"status":731},"\u002Fjava-advanced-programming\u002Fpresentations\u002F10-module-10-wrap-up-and-deployment\u002F03-ndff-away-spectator",{"path":2243,"title":2244,"order":752,"module":14,"status":748},"\u002Fsystems-integration\u002F2e\u002Fpresentations\u002F01-required-architecture-overview","Required Architecture Overview",{"path":727,"title":5,"order":726,"module":724,"status":731},{"path":2247,"title":2248,"order":782,"module":14,"status":748},"\u002Fsystems-integration\u002F2e\u002Fpresentations\u002F03-architecture-planning-and-vm-communication-practice","Architecture Planning And VM Communication Practice",{"path":2250,"title":2251,"order":908,"module":81,"status":731},"\u002Fsystems-integration\u002F2e\u002Fpresentations\u002F04-role-based-vm-baseline-and-centralized-logging","Role-Based VM Baseline And Logging System",{"path":2253,"title":2254,"order":928,"module":768,"status":748},"\u002Fsystems-integration\u002F2e\u002Fpresentations\u002F05-authentication-and-authorization","Authentication And Authorization Across VMs",{"path":2256,"title":2257,"order":932,"module":775,"status":748},"\u002Fsystems-integration\u002F2e\u002Fpresentations\u002F06-mvp-feature-work","MVP Feature Work",{"path":2259,"title":2260,"order":724,"module":718,"status":748},"\u002Fsystems-integration\u002F2e\u002Fsyllabus\u002Ffall-2026","IT490 - Systems Integration Syllabus",{"path":2262,"title":713,"order":724,"module":718,"status":748},"\u002Fsystems-integration",{"path":2264,"title":2265,"order":714,"module":714,"status":731},"\u002Fsystems-integration\u002Fpresentations-revised\u002F00-revision-plan","Systems Integration Revision Plan - Superseded Historical Baseline",{"path":2267,"title":2268,"order":714,"module":714,"status":731},"\u002Fsystems-integration\u002Fpresentations-revised\u002F01-20-minute-recording-plan","Systems Integration Recording Plan - Superseded Historical Baseline",{"path":2270,"title":2244,"order":726,"module":724,"status":748},"\u002Fsystems-integration\u002Fpresentations\u002F01-required-architecture-overview",{"path":2272,"title":2260,"order":724,"module":718,"status":748},"\u002Fsystems-integration\u002Fsyllabus\u002Fsummer-2026",{"path":2274,"title":2275,"order":714,"module":714,"status":714},"\u002Fsystems-integration\u002Fworksheets\u002Fit490-authentication-authorization-core-2026-draft","IT490 Authentication and Authorization Core Milestone (2026)",{"path":2277,"title":2278,"order":714,"module":714,"status":714},"\u002Fsystems-integration\u002Fworksheets\u002Fit490-centralized-logging-milestone-draft","IT490 Centralized Logging Milestone",{"path":2280,"title":2281,"order":714,"module":714,"status":714},"\u002Fsystems-integration\u002Fworksheets\u002Fit490-milestone-3-resiliency-2026-draft","IT490 Milestone 3 - Deployment, Promotion, And Recovery",{"path":2283,"title":2284,"order":714,"module":714,"status":714},"\u002Fsystems-integration\u002Fworksheets\u002Fit490-milestone-4-availability-2026-draft","IT490 Milestone 4 - Availability, Load Balancing, And Recovery",{"path":2286,"title":2287,"order":752,"module":718,"status":731},"\u002Fsystems-integration\u002Fworksheets\u002Fmeeting-minutes-template","IT490 Meeting Minutes Template",{"path":2289,"title":2290,"order":782,"module":718,"status":731},"\u002Fsystems-integration\u002Fworksheets\u002Fproject-changelog-template","IT490 Project Change Log Template",{"path":2292,"title":2293,"order":726,"module":718,"status":731},"\u002Fsystems-integration\u002Fworksheets\u002Fproject-proposal-template","IT490 Project Proposal Template",1793199206465]