[{"data":1,"prerenderedAt":2267},["ShallowReactive",2],{"content-page:\u002Fgeneral\u002F2e\u002Fpresentations\u002F03-github-setup-and-ssh":3,"content-page-quiz:none":681,"content-navigation-index":712},{"id":4,"title":5,"audience":6,"body":7,"contentType":679,"course":680,"courseId":681,"description":682,"estimateBasis":683,"estimatedDiscussionMinutes":684,"estimatedLiveMinutes":685,"estimatedRecordingMinutes":686,"estimatedTitleSeconds":681,"estimatedTotalMinutes":687,"estimatedTraceMinutes":681,"extension":688,"meta":689,"module":695,"navigation":696,"order":697,"path":698,"presentationRole":699,"promptAssist":690,"revision":700,"semester":681,"seo":701,"status":702,"stem":703,"syllabus":681,"tags":704,"updated":710,"videoDuration":681,"videoId":681,"videoLink":681,"videoTitle":681,"week":695,"__hash__":711},"content\u002Fgeneral\u002F2e\u002Fpresentations\u002F03-github-setup-and-ssh.md","GitHub Setup And SSH","student",{"type":8,"value":9,"toc":659},"minimark",[10,33,67,134,208,241,267,303,364,421,442,499,539,593,640],[11,12,15,20],"slide",{"id":13,"level":14},"outcome","2",[16,17,19],"h2",{"id":18},"objectives","Objectives",[21,22,23,27,30],"ul",{},[24,25,26],"li",{},"Explain the difference between local Git and GitHub",[24,28,29],{},"Connect GitHub with an SSH key without sharing private credentials",[24,31,32],{},"Name a personal course repository consistently",[11,34,36,40],{"id":35,"level":14},"core-idea",[16,37,39],{"id":38},"git-and-github-have-different-jobs","Git And GitHub Have Different Jobs",[21,41,42,45,48,51,54,57],{},[24,43,44],{},"Git records file history, commits, and branches on your computer",[24,46,47],{},"GitHub hosts a remote copy of the repository and its pull-request discussion",[24,49,50],{},"An SSH key lets Git authenticate to GitHub without entering a password or access token for each push",[24,52,53],{},"Your GitHub username identifies the account; your assigned UCID identifies course work and may be different",[24,55,56],{},"Never upload, email, or paste a private SSH key",[24,58,59,66],{},[60,61,65],"a",{"href":62,"rel":63},"https:\u002F\u002Fgithub.com\u002F",[64],"nofollow","Create a GitHub account or sign in"," before continuing to the next slide",[11,68,70,74,78,83],{"id":69,"level":14},"repository-name",[16,71,73],{"id":72},"name-the-repository","Name The Repository",[75,76,77],"p",{},"Use this lower-case pattern:",[79,80],"code-snippet",{"language":81,"src":82},"text","\u002Fgenerated-snippets\u002Fgeneral\u002F2e\u002Fpresentations\u002F03-github-setup-and-ssh\u002Fname-the-repository-01.txt",[21,84,85,92,112,131],{},[24,86,87,91],{},[88,89,90],"code",{},"ucid",": your assigned NJIT UCID, written in lower case",[24,93,94,97,98,101,102,101,105,108,109],{},[88,95,96],{},"course",": a course ID such as ",[88,99,100],{},"it202",", ",[88,103,104],{},"it114",[88,106,107],{},"it490",", or ",[88,110,111],{},"it265",[24,113,114,115,118,119,122,123,126,127,130],{},"Term codes: ",[88,116,117],{},"s"," spring, ",[88,120,121],{},"m"," summer, ",[88,124,125],{},"f"," fall, ",[88,128,129],{},"w"," winter",[24,132,133],{},"The example is a pattern; replace it with your own UCID, enrolled course, and term",[11,135,138,142],{"id":136,"level":137},"repository-create","3",[16,139,141],{"id":140},"create-it-on-github","Create It On GitHub",[143,144,148,198],"two-col",{"gap":145,"left-width":146,"right-width":147},"lg","0.9fr","1.1fr",[149,150,152,195],"template",{"v-slot:left":151},"",[153,154,155,162,168,171,177,183,189],"ol",{},[24,156,157,158,161],{},"In GitHub, open the ",[88,159,160],{},"+"," menu in the upper-right corner",[24,163,164,165],{},"Choose ",[88,166,167],{},"New repository",[24,169,170],{},"Choose your personal account as the owner",[24,172,173,174],{},"Enter the repository name in this format: ",[88,175,176],{},"\u003Cucid>-\u003Ccourse>-\u003Csection>-\u003Cterm>\u003Cyear>",[24,178,179,180],{},"Set the repository visibility to ",[88,181,182],{},"Private",[24,184,185,186],{},"Turn on ",[88,187,188],{},"Add README",[24,190,191,192],{},"Select ",[88,193,194],{},"Create repository",[75,196,197],{},"Use the course-specific setup before adding starter files or choosing an initial branch.",[149,199,200],{"v-slot:right":151},[75,201,202],{},[203,204],"img",{"alt":205,"src":206,"variant":207},"GitHub new repository form","\u002Fimages\u002Finternet-applications\u002Fgithub-ssh\u002Fnew-repo.png","sidecar-screenshot",[11,209,211,215,219],{"id":210,"level":14},"worked-example",[16,212,214],{"id":213},"connect-with-ssh","Connect With SSH",[79,216],{"language":217,"src":218},"bash","\u002Fgenerated-snippets\u002Fgeneral\u002F2e\u002Fpresentations\u002F03-github-setup-and-ssh\u002Fconnect-with-ssh-02.sh",[21,220,221,228,231,238],{},[24,222,223,224,227],{},"Add the displayed public key, ending in ",[88,225,226],{},".pub",", to your GitHub account",[24,229,230],{},"Keep the matching private key on your computer",[24,232,233,234,237],{},"Use the named ",[88,235,236],{},"github_key"," pair so this setup does not overwrite or reuse another SSH key",[24,239,240],{},"Follow the slides below to add the public key to GitHub before testing the connection",[11,242,244,249,259],{"id":243,"level":137},"ssh-github-settings",[245,246,248],"h3",{"id":247},"github-open-settings","GitHub: Open Settings",[153,250,251,254],{},[24,252,253],{},"In GitHub, open your profile menu in the upper-right corner",[24,255,191,256],{},[88,257,258],{},"Settings",[75,260,261],{},[203,262],{"alt":263,"src":264,"variant":265,"max-height":266},"GitHub profile menu with Settings highlighted","\u002Fimages\u002Finternet-applications\u002Fgithub-ssh\u002Fssh-key-01-gh-menu.png","slide-screenshot","54vh",[11,268,270,274,288,297],{"id":269,"level":137},"ssh-github-keys",[245,271,273],{"id":272},"github-open-ssh-and-gpg-keys","GitHub: Open SSH And GPG Keys",[153,275,276,283],{},[24,277,278,279,282],{},"In the Settings sidebar, find the ",[88,280,281],{},"Access"," section",[24,284,191,285],{},[88,286,287],{},"SSH and GPG keys",[75,289,290,291,296],{},"You can also open ",[60,292,295],{"href":293,"rel":294},"https:\u002F\u002Fgithub.com\u002Fsettings\u002Fkeys",[64],"github.com\u002Fsettings\u002Fkeys"," after signing in.",[75,298,299],{},[203,300],{"alt":301,"src":302,"variant":265,"max-height":266},"GitHub Settings sidebar with SSH and GPG keys highlighted","\u002Fimages\u002Finternet-applications\u002Fgithub-ssh\u002Fssh-key-02-gh-ssh-link.png",[11,304,306,310],{"id":305,"level":137},"ssh-github-add-key",[245,307,309],{"id":308},"github-add-the-public-key","GitHub: Add The Public Key",[143,311,312,356],{"gap":145,"left-width":146,"right-width":147},[149,313,314,350],{"v-slot:left":151},[153,315,316,321,327,334,345],{},[24,317,191,318],{},[88,319,320],{},"New SSH key",[24,322,323,324],{},"Give the key a title that identifies this computer, such as ",[88,325,326],{},"Personal laptop",[24,328,329,330,333],{},"Keep ",[88,331,332],{},"Authentication Key"," selected",[24,335,336,337,340,341,344],{},"Copy the complete output from ",[88,338,339],{},"cat ~\u002F.ssh\u002Fgithub_key.pub"," into the ",[88,342,343],{},"Key"," field",[24,346,191,347],{},[88,348,349],{},"Add SSH key",[75,351,352,353,355],{},"Never paste the private ",[88,354,236],{}," file into GitHub.",[149,357,358],{"v-slot:right":151},[75,359,360],{},[203,361],{"alt":362,"src":363,"variant":207},"GitHub Add new SSH key form","\u002Fimages\u002Finternet-applications\u002Fgithub-ssh\u002Fssh-key-03-add-new-key.png",[11,365,367,371,374,404],{"id":366,"level":14},"ssh-agent",[245,368,370],{"id":369},"start-the-ssh-agent-and-add-the-key","Start The SSH Agent And Add The Key",[79,372],{"language":217,"src":373},"\u002Fgenerated-snippets\u002Fgeneral\u002F2e\u002Fpresentations\u002F03-github-setup-and-ssh\u002Fstart-the-ssh-agent-and--03.sh",[21,375,376,382,391,397],{},[24,377,378,381],{},[88,379,380],{},"eval \"$(ssh-agent -s)\""," starts the SSH agent for the current terminal",[24,383,384,387,388,390],{},[88,385,386],{},"ssh-add"," makes the private ",[88,389,236],{}," available to Git",[24,392,393,396],{},[88,394,395],{},"ssh-add -l"," confirms that the agent has loaded the key",[24,398,399,400,403],{},"The ",[88,401,402],{},"~"," path starts from the home directory, so it avoids problems with spaces in the full folder path",[405,406,408],"admonition",{"type":407},"note",[75,409,410,411,413,414,417,418,420],{},"If ",[88,412,380],{}," fails in Git Bash, run ",[88,415,416],{},"exec ssh-agent bash",", then repeat the ",[88,419,386],{}," commands.",[11,422,424,428,431],{"id":423,"level":14},"ssh-test",[245,425,427],{"id":426},"test-the-github-connection","Test The GitHub Connection",[79,429],{"language":217,"src":430},"\u002Fgenerated-snippets\u002Fgeneral\u002F2e\u002Fpresentations\u002F03-github-setup-and-ssh\u002Ftest-the-github-connecti-04.sh",[21,432,433,436,439],{},[24,434,435],{},"Run this only after the public key has been added to GitHub",[24,437,438],{},"A successful test identifies the GitHub account that accepted the key",[24,440,441],{},"If the account is unexpected, stop and correct the account or key before cloning or pushing",[11,443,445,449],{"id":444,"level":14},"check",[16,446,448],{"id":447},"common-troubleshooting","Common Troubleshooting",[450,451,452,465],"table",{},[453,454,455],"thead",{},[456,457,458,462],"tr",{},[459,460,461],"th",{},"Problem",[459,463,464],{},"Solution",[466,467,468,483,491],"tbody",{},[456,469,470,476],{},[471,472,473],"td",{},[88,474,475],{},"Permission denied (publickey)",[471,477,478,479,482],{},"Run ",[88,480,481],{},"ssh -T git@github.com",", then confirm the public key belongs to the signed-in GitHub account",[456,484,485,488],{},[471,486,487],{},"Wrong GitHub account",[471,489,490],{},"Inspect the account shown by the SSH test before cloning or pushing",[456,492,493,496],{},[471,494,495],{},"A repository already exists",[471,497,498],{},"Open the existing repository rather than creating another similarly named copy",[11,500,502,506],{"id":501,"level":14},"knowledge-check",[16,503,505],{"id":504},"knowledge-check-12","Knowledge Check 1\u002F2",[501,507,508,525],{},[149,509,510],{"v-slot:questions":151},[153,511,512,515,518],{},[24,513,514],{},"What does local Git record?",[24,516,517],{},"What does GitHub provide for a repository?",[24,519,520,521,524],{},"What is the correct repository name for UCID ",[88,522,523],{},"ab123",", IT000, section 001, fall 2026?",[149,526,527,531,534],{"v-slot:answers":151},[528,529,530],"knowledge-answer",{},"File history, commits, and branches on the local computer",[528,532,533],{},"A remote repository and pull-request discussion",[528,535,536],{},[88,537,538],{},"ab123-it000-001-f2026",[11,540,542,546],{"id":541,"level":137},"knowledge-check-2",[16,543,545],{"id":544},"knowledge-check-22","Knowledge Check 2\u002F2",[501,547,548,574],{},[149,549,550],{"v-slot:questions":151},[153,551,552,555,558,568],{},[24,553,554],{},"Which SSH key is safe to add to GitHub?",[24,556,557],{},"Which command verifies the GitHub account connection?",[24,559,560,561,563,564,567],{},"Why use a named ",[88,562,236],{}," pair instead of the default ",[88,565,566],{},"id_ed25519"," name?",[24,569,570,571,573],{},"What does ",[88,572,395],{}," confirm?",[149,575,576,581,585,588],{"v-slot:answers":151},[528,577,578,579],{},"The public key ending in ",[88,580,226],{},[528,582,583],{},[88,584,481],{},[528,586,587],{},"It avoids accidentally reusing or overwriting another SSH key",[528,589,590,591],{},"That the SSH agent has loaded ",[88,592,236],{},[11,594,596,600,621,624],{"id":595,"level":14},"review-resources",[16,597,599],{"id":598},"key-terms-and-further-learning","Key Terms And Further Learning",[21,601,602,609,615],{},[24,603,604,608],{},[605,606,607],"strong",{},"Remote repository:"," A GitHub copy used to share and review repository history.",[24,610,611,614],{},[605,612,613],{},"SSH public key:"," The shareable half of a key pair that GitHub uses to recognize the account.",[24,616,617,620],{},[605,618,619],{},"SSH private key:"," The secret half that stays on the student’s computer.",[75,622,623],{},"Further Learning:",[21,625,626,633],{},[24,627,628],{},[60,629,632],{"href":630,"rel":631},"https:\u002F\u002Fdocs.github.com\u002Fen\u002Fauthentication\u002Fconnecting-to-github-with-ssh",[64],"GitHub: connect with SSH",[24,634,635],{},[60,636,639],{"href":637,"rel":638},"https:\u002F\u002Fdocs.github.com\u002Fen\u002Fauthentication\u002Fconnecting-to-github-with-ssh\u002Ftesting-your-ssh-connection",[64],"GitHub: test SSH connection",[11,641,643,646],{"id":642,"level":14},"summary",[16,644,645],{"id":642},"Summary",[21,647,648,651,656],{},[24,649,650],{},"Git records local history; GitHub hosts and reviews remote history",[24,652,653,654],{},"Use a private repository named ",[88,655,176],{},[24,657,658],{},"Add only the SSH public key to GitHub and verify the connection",{"title":151,"searchDepth":660,"depth":660,"links":661},2,[662,663,664,665,666,674,675,676,677,678],{"id":18,"depth":660,"text":19},{"id":38,"depth":660,"text":39},{"id":72,"depth":660,"text":73},{"id":140,"depth":660,"text":141},{"id":213,"depth":660,"text":214,"children":667},[668,670,671,672,673],{"id":247,"depth":669,"text":248},3,{"id":272,"depth":669,"text":273},{"id":308,"depth":669,"text":309},{"id":369,"depth":669,"text":370},{"id":426,"depth":669,"text":427},{"id":447,"depth":660,"text":448},{"id":504,"depth":660,"text":505},{"id":544,"depth":660,"text":545},{"id":598,"depth":660,"text":599},{"id":642,"depth":660,"text":645},"presentation","general",null,"Set up a GitHub account connection with SSH and create a clearly named personal course repository.","Focused shared introduction to GitHub account boundaries, SSH authentication, and personal repository naming.","5","33","18","38","md",{"requiresLessonBranchCheckpoint":690,"sourcePresentations":691,"revisionStatus":694},false,[692,693],"internet-applications\u002F2e\u002Fpresentations\u002F01-git-github-and-course-workflow\u002F03-setup-github-ssh.md","java-advanced-programming\u002F2e\u002Fpresentations\u002F01-module-1-course-setup\u002F03-setup-github-ssh.md","reviewed","1",true,"30","\u002Fgeneral\u002F2e\u002Fpresentations\u002F03-github-setup-and-ssh","Core","15",{"title":5,"description":682},"published","general\u002F2e\u002Fpresentations\u002F03-github-setup-and-ssh",[705,706,707,708,709],"github","ssh","repository","shared-foundations","second-edition","2026-09-24","m_OBgudWCE0LS4sa3ZIVuZZVT5Z4Xm7qxnWk24v0p_w",[713,716,720,724,727,730,733,736,740,743,746,749,752,756,760,764,767,771,775,778,782,786,789,792,796,799,802,806,809,812,815,817,819,821,823,825,827,829,832,835,838,842,845,848,851,854,857,860,863,866,869,872,875,879,882,885,888,891,892,895,899,903,906,908,911,914,917,920,923,926,929,932,936,940,944,947,950,953,956,959,962,965,968,971,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013,1016,1019,1022,1025,1028,1031,1035,1038,1041,1044,1047,1050,1053,1056,1059,1062,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,1393,1396,1399,1402,1405,1408,1411,1414,1417,1420,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,1778,1781,1784,1787,1790,1793,1796,1798,1801,1804,1807,1810,1813,1815,1817,1819,1822,1824,1826,1828,1830,1832,1834,1836,1838,1840,1842,1844,1846,1849,1851,1853,1855,1857,1859,1861,1863,1865,1867,1869,1871,1873,1875,1877,1879,1883,1887,1891,1894,1898,1902,1905,1908,1911,1914,1917,1920,1924,1927,1930,1933,1936,1939,1942,1945,1948,1951,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,2067,2070,2073,2076,2079,2082,2085,2088,2091,2094,2097,2100,2103,2106,2109,2112,2115,2118,2121,2124,2127,2129,2131,2133,2135,2138,2141,2143,2145,2147,2149,2151,2153,2155,2157,2159,2161,2163,2165,2168,2171,2174,2176,2178,2180,2182,2184,2186,2188,2190,2192,2194,2196,2198,2200,2202,2204,2206,2208,2210,2212,2215,2218,2221,2224,2227,2230,2233,2236,2239,2242,2244,2246,2249,2252,2255,2258,2261,2264],{"path":714,"title":715,"order":681,"module":681,"status":681},"\u002Fabout","About Content Version 3",{"path":717,"title":718,"order":719,"module":695,"status":702},"\u002Fgame-architecture-and-design\u002F2e\u002Fpresentations\u002F01-introduction\u002F01-what-is-a-game","What is a Game?","10",{"path":721,"title":722,"order":723,"module":695,"status":702},"\u002Fgame-architecture-and-design\u002F2e\u002Fpresentations\u002F01-introduction\u002F02-what-is-gameplay","What is Gameplay?","20",{"path":725,"title":726,"order":719,"module":14,"status":702},"\u002Fgame-architecture-and-design\u002F2e\u002Fpresentations\u002F02-design-journal-and-treatment\u002F01-first-concept","First Concept, Journal, and Treatments",{"path":728,"title":729,"order":723,"module":14,"status":702},"\u002Fgame-architecture-and-design\u002F2e\u002Fpresentations\u002F02-design-journal-and-treatment\u002F02-concept-workshop","Concept Workshop: Pitch, Feedback, and Selection",{"path":731,"title":732,"order":719,"module":137,"status":702},"\u002Fgame-architecture-and-design\u002F2e\u002Fpresentations\u002F03-game-balance\u002F01-game-balance","Game Balance",{"path":734,"title":735,"order":723,"module":137,"status":702},"\u002Fgame-architecture-and-design\u002F2e\u002Fpresentations\u002F03-game-balance\u002F02-case-study-evaluation","Case Study Evaluation",{"path":737,"title":738,"order":719,"module":739,"status":702},"\u002Fgame-architecture-and-design\u002F2e\u002Fpresentations\u002F04-look-and-feel\u002F01-color-theory","Game Design: Color Theory","4",{"path":741,"title":742,"order":723,"module":739,"status":702},"\u002Fgame-architecture-and-design\u002F2e\u002Fpresentations\u002F04-look-and-feel\u002F02-look-and-feel","Game Design - Look and Feel",{"path":744,"title":745,"order":719,"module":684,"status":702},"\u002Fgame-architecture-and-design\u002F2e\u002Fpresentations\u002F05-game-mechanics\u002F01-game-mechanics","Game Mechanics",{"path":747,"title":748,"order":723,"module":684,"status":702},"\u002Fgame-architecture-and-design\u002F2e\u002Fpresentations\u002F05-game-mechanics\u002F02-decks","Technical: Decks and Cards",{"path":750,"title":751,"order":697,"module":684,"status":702},"\u002Fgame-architecture-and-design\u002F2e\u002Fpresentations\u002F05-game-mechanics\u002F03-boards-and-movement","Boards and Movement",{"path":753,"title":754,"order":719,"module":755,"status":702},"\u002Fgame-architecture-and-design\u002F2e\u002Fpresentations\u002F06-depth-complexity-and-randomness\u002F01-depth-vs-complexity-and-randomness","Depth, Complexity, And Randomness","6",{"path":757,"title":758,"order":719,"module":759,"status":702},"\u002Fgame-architecture-and-design\u002F2e\u002Fpresentations\u002F07-making-your-first-game\u002F01-planning-and-management","Planning And Managing Your Game","7",{"path":761,"title":762,"order":719,"module":719,"status":763},"\u002Fgame-architecture-and-design\u002F2e\u002Fpresentations\u002F10-game-architecture\u002F01-concepts-and-design","Game Architecture: Concepts And Design","draft",{"path":765,"title":766,"order":723,"module":719,"status":763},"\u002Fgame-architecture-and-design\u002F2e\u002Fpresentations\u002F10-game-architecture\u002F02-features-of-a-game-engine","Game Engine Features And Browser Feasibility",{"path":768,"title":769,"order":719,"module":770,"status":763},"\u002Fgame-architecture-and-design\u002F2e\u002Fpresentations\u002F11-entity-based-systems\u002F01-ecs","Entity-Based Systems","11",{"path":772,"title":773,"order":719,"module":774,"status":763},"\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":776,"title":777,"order":723,"module":774,"status":763},"\u002Fgame-architecture-and-design\u002F2e\u002Fpresentations\u002F12-level-mechanics-and-user-interfaces\u002F02-digital-prototype-presentation","Digital Prototype Presentation Deck",{"path":779,"title":780,"order":719,"module":781,"status":763},"\u002Fgame-architecture-and-design\u002F2e\u002Fpresentations\u002F13-actor-representations-and-artificial-intelligence\u002F01-actors-behavior-and-ai","Actors, Behavior, And AI","13",{"path":783,"title":784,"order":719,"module":785,"status":763},"\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":787,"title":788,"order":723,"module":785,"status":763},"\u002Fgame-architecture-and-design\u002F2e\u002Fpresentations\u002F14-particles-physics-and-digital-prototype-studio\u002F02-recorded-project-showcase","Recorded Project Showcase",{"path":790,"title":791,"order":719,"module":700,"status":763},"\u002Fgame-architecture-and-design\u002F2e\u002Fpresentations\u002F15-finale\u002F01-final-evaluation-and-postmortem","Final Evaluation And Postmortem",{"path":793,"title":794,"order":695,"module":795,"status":702},"\u002Fgame-architecture-and-design\u002F2e\u002Fsyllabus\u002Ffall-2026","Course Syllabus: IT265 - Game Architecture and Design","0",{"path":797,"title":798,"order":719,"module":14,"status":702},"\u002Fgame-architecture-and-design\u002F2e\u002Fworksheets\u002Fmodule-02-design-journal","Module 2 Design And Development Journal",{"path":800,"title":801,"order":723,"module":14,"status":702},"\u002Fgame-architecture-and-design\u002F2e\u002Fworksheets\u002Fmodule-02-one-page-treatment","Module 2 One-Page Treatment",{"path":803,"title":804,"order":805,"module":759,"status":702},"\u002Fgame-architecture-and-design\u002F2e\u002Fworksheets\u002Fmodule-07-game-design-treatment","Full Game Design Treatment","70",{"path":807,"title":808,"order":695,"module":795,"status":763},"\u002Fgame-architecture-and-design","Game Architecture and Design",{"path":810,"title":811,"order":681,"module":681,"status":763},"\u002Fgame-architecture-and-design\u002Fpresentations-revised\u002F00-revision-plan","Game Architecture And Design Revision Plan - Superseded Historical Baseline",{"path":813,"title":814,"order":681,"module":681,"status":763},"\u002Fgame-architecture-and-design\u002Fpresentations-revised\u002F01-20-minute-recording-plan","Game Architecture And Design Recording Plan - Superseded Historical Baseline",{"path":816,"title":718,"order":719,"module":695,"status":763},"\u002Fgame-architecture-and-design\u002Fpresentations\u002F01-introduction\u002F01-what-is-a-game",{"path":818,"title":722,"order":723,"module":695,"status":763},"\u002Fgame-architecture-and-design\u002Fpresentations\u002F01-introduction\u002F02-what-is-gameplay",{"path":820,"title":732,"order":719,"module":14,"status":763},"\u002Fgame-architecture-and-design\u002Fpresentations\u002F02-game-balance\u002F01-game-balance",{"path":822,"title":738,"order":719,"module":137,"status":763},"\u002Fgame-architecture-and-design\u002Fpresentations\u002F03-look-and-feel\u002F01-color-theory",{"path":824,"title":742,"order":723,"module":137,"status":763},"\u002Fgame-architecture-and-design\u002Fpresentations\u002F03-look-and-feel\u002F02-look-and-feel",{"path":826,"title":745,"order":719,"module":739,"status":763},"\u002Fgame-architecture-and-design\u002Fpresentations\u002F04-game-mechanics\u002F01-game-mechanics",{"path":828,"title":748,"order":723,"module":739,"status":763},"\u002Fgame-architecture-and-design\u002Fpresentations\u002F04-game-mechanics\u002F02-decks",{"path":830,"title":831,"order":719,"module":684,"status":763},"\u002Fgame-architecture-and-design\u002Fpresentations\u002F05-depth-complexity-and-randomness\u002F01-depth-vs-complexity-and-randomness","Depth vs Complexity and Randomness",{"path":833,"title":834,"order":719,"module":755,"status":763},"\u002Fgame-architecture-and-design\u002Fpresentations\u002F06-first-game-planning\u002F01-first-concept","First Concept: Updated Lesson",{"path":836,"title":837,"order":723,"module":755,"status":763},"\u002Fgame-architecture-and-design\u002Fpresentations\u002F06-first-game-planning\u002F02-planning-and-management","Planning and Management",{"path":839,"title":840,"order":719,"module":841,"status":763},"\u002Fgame-architecture-and-design\u002Fpresentations\u002F08-game-architecture\u002F01-concepts-and-design","Game Architecture: Concepts and Design","8",{"path":843,"title":844,"order":723,"module":841,"status":763},"\u002Fgame-architecture-and-design\u002Fpresentations\u002F08-game-architecture\u002F02-features-of-a-game-engine","Game Architecture: Features of a Game Engine",{"path":846,"title":769,"order":719,"module":847,"status":763},"\u002Fgame-architecture-and-design\u002Fpresentations\u002F09-entity-based-systems\u002F01-ecs","9",{"path":849,"title":850,"order":719,"module":719,"status":763},"\u002Fgame-architecture-and-design\u002Fpresentations\u002F10-level-mechanics\u002F01-level-mechanics","Game Design: Introduction to Level Mechanics",{"path":852,"title":853,"order":723,"module":719,"status":763},"\u002Fgame-architecture-and-design\u002Fpresentations\u002F10-level-mechanics\u002F02-grids","Technical: Square vs Hex Grids in Board Games",{"path":855,"title":856,"order":719,"module":770,"status":763},"\u002Fgame-architecture-and-design\u002Fpresentations\u002F11-user-interfaces\u002F01-user-interfaces","Game Design: User Interfaces",{"path":858,"title":859,"order":719,"module":774,"status":763},"\u002Fgame-architecture-and-design\u002Fpresentations\u002F12-actor-representations\u002F01-actors","Game Design: Actor Representations",{"path":861,"title":862,"order":719,"module":781,"status":763},"\u002Fgame-architecture-and-design\u002Fpresentations\u002F13-artificial-intelligence\u002F01-ai","Game Design: AI",{"path":864,"title":865,"order":719,"module":785,"status":763},"\u002Fgame-architecture-and-design\u002Fpresentations\u002F14-particles-and-physics\u002F01-particles-and-physics","IT265: Particle Systems and Physics Engine",{"path":867,"title":868,"order":695,"module":795,"status":763},"\u002Fgame-architecture-and-design\u002Fsyllabus\u002Fspring-2026","Course Syllabus: IT265 - Game Architecture",{"path":870,"title":871,"order":719,"module":795,"status":763},"\u002Fgame-architecture-and-design\u002Fworksheets\u002Fcase-study-1-atari-worksheet","Case Study 1 - Atari",{"path":873,"title":874,"order":723,"module":795,"status":763},"\u002Fgame-architecture-and-design\u002Fworksheets\u002Fit265-case-study-color-theory-worksheet","IT265 Case Study - Color Theory",{"path":876,"title":877,"order":878,"module":795,"status":763},"\u002Fgame-architecture-and-design\u002Fworksheets\u002Fit265-case-study-personal-choice-worksheet","IT265 Case Study - Personal Choice","40",{"path":880,"title":881,"order":697,"module":795,"status":763},"\u002Fgame-architecture-and-design\u002Fworksheets\u002Fit265-design-treatment-checkpoint-worksheet","IT265 Design Treatment Checkpoint",{"path":883,"title":884,"order":795,"module":695,"status":702},"\u002Fgeneral\u002F2e\u002Fpresentations\u002F00-learn-courses-platform-and-discord","Learn Courses Platform And Discord",{"path":886,"title":887,"order":719,"module":695,"status":702},"\u002Fgeneral\u002F2e\u002Fpresentations\u002F01-git-and-terminal-setup","Git And Terminal Setup",{"path":889,"title":890,"order":723,"module":695,"status":702},"\u002Fgeneral\u002F2e\u002Fpresentations\u002F02-cli-foundations","CLI Foundations",{"path":698,"title":5,"order":697,"module":695,"status":702},{"path":893,"title":894,"order":878,"module":695,"status":702},"\u002Fgeneral\u002F2e\u002Fpresentations\u002F04-local-git-workflow-and-course-repositories","Local Git Workflow And Course Repositories",{"path":896,"title":897,"order":898,"module":695,"status":702},"\u002Fgeneral\u002F2e\u002Fpresentations\u002F05-vscode-setup-and-course-extensions","VS Code Setup And Course Extensions","50",{"path":900,"title":901,"order":902,"module":695,"status":702},"\u002Fgeneral\u002F2e\u002Fpresentations\u002F06-trace-learning-journal","TRACE Learning Journal Foundations","60",{"path":904,"title":905,"order":681,"module":681,"status":681},"\u002Fgeneral\u002Fbasic-cli","Basic Command Line",{"path":907,"title":905,"order":719,"module":695,"status":681},"\u002Fgeneral\u002Fbasic-command-line",{"path":909,"title":910,"order":681,"module":681,"status":702},"\u002F","Ethereal Lab Course Materials",{"path":912,"title":913,"order":719,"module":695,"status":763},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F01-git-github-and-course-workflow\u002F01-basic-cli-commands","IT202 Setup Path And CLI Readiness",{"path":915,"title":916,"order":723,"module":695,"status":763},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F01-git-github-and-course-workflow\u002F02-install-git-tools","IT202 Git And Terminal Handoff",{"path":918,"title":919,"order":697,"module":695,"status":763},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F01-git-github-and-course-workflow\u002F03-setup-github-ssh","IT202 Repository And SSH Extension",{"path":921,"title":922,"order":878,"module":695,"status":763},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F01-git-github-and-course-workflow\u002F04-git-commands-prs","IT202 Git Workflow Handoff",{"path":924,"title":925,"order":898,"module":695,"status":702},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F01-git-github-and-course-workflow\u002F05-setup-local-development-environment","Standalone PHP Setup",{"path":927,"title":928,"order":902,"module":695,"status":702},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F01-git-github-and-course-workflow\u002F06-add-instructor-template-to-your-repository","Add Instructor Template To Your Repository",{"path":930,"title":931,"order":805,"module":695,"status":702},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F01-git-github-and-course-workflow\u002F07-qa-prod-branches","QA And Prod Branches",{"path":933,"title":934,"order":935,"module":695,"status":702},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F01-git-github-and-course-workflow\u002F08-render-setup","Render Setup","80",{"path":937,"title":938,"order":939,"module":695,"status":702},"\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":941,"title":942,"order":943,"module":695,"status":763},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F01-git-github-and-course-workflow\u002F10-local-ubuntu-web-server-vmware","Local Ubuntu Web Server With VMware","100",{"path":945,"title":946,"order":719,"module":14,"status":702},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F02-php-and-javascript-basics\u002F01-compare-php-and-javascript","Compare PHP And JavaScript",{"path":948,"title":949,"order":723,"module":14,"status":702},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F02-php-and-javascript-basics\u002F02-conditions-loops-functions","Use Conditions Loops And Functions",{"path":951,"title":952,"order":719,"module":137,"status":702},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F03-html-forms-css-and-dom\u002F01-intro-to-html","Intro To HTML",{"path":954,"title":955,"order":723,"module":137,"status":702},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F03-html-forms-css-and-dom\u002F02-intro-to-forms-and-get-post","Intro To Forms And GET\u002FPOST",{"path":957,"title":958,"order":697,"module":137,"status":702},"\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":960,"title":961,"order":719,"module":739,"status":702},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F04-databases-and-user-accounts\u002F01-intro-to-sql","Intro To SQL",{"path":963,"title":964,"order":723,"module":739,"status":702},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F04-databases-and-user-accounts\u002F02-project-database-setup","Project Database Setup",{"path":966,"title":967,"order":697,"module":739,"status":702},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F04-databases-and-user-accounts\u002F03-user-registration","User Registration",{"path":969,"title":970,"order":878,"module":739,"status":702},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F04-databases-and-user-accounts\u002F04-user-login","User Login",{"path":972,"title":973,"order":719,"module":684,"status":763},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F05-validation-and-user-profiles\u002F01-intro-to-regex","Intro To Regex",{"path":975,"title":976,"order":723,"module":684,"status":763},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F05-validation-and-user-profiles\u002F02-project-shared-helpers","Project Shared Helpers",{"path":978,"title":979,"order":697,"module":684,"status":763},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F05-validation-and-user-profiles\u002F03-flash-messages-and-redirect-feedback","User Feedback After Redirects",{"path":981,"title":982,"order":878,"module":684,"status":763},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F05-validation-and-user-profiles\u002F04-user-profile","User Profile",{"path":984,"title":985,"order":719,"module":755,"status":763},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F06-roles-and-crud-pages\u002F01-user-roles-authorization","User Roles Authorization",{"path":987,"title":988,"order":723,"module":755,"status":763},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F06-roles-and-crud-pages\u002F02-user-login-enhancement","User Login Enhancement",{"path":990,"title":991,"order":697,"module":755,"status":763},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F06-roles-and-crud-pages\u002F03-dynamic-content","Dynamic Content",{"path":993,"title":994,"order":719,"module":759,"status":763},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F07-api-data-and-database-helpers\u002F01-working-with-api-data","Working With API Data",{"path":996,"title":997,"order":723,"module":759,"status":763},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F07-api-data-and-database-helpers\u002F02-api-integration","API Integration",{"path":999,"title":1000,"order":697,"module":759,"status":763},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F07-api-data-and-database-helpers\u002F03-database-utility-functions","Database Utility Functions",{"path":1002,"title":1003,"order":719,"module":841,"status":763},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F08-reusable-components-jquery-and-ajax\u002F01-milestone-2-bootstrap-and-reusability","Milestone 2 Bootstrap And Reusability",{"path":1005,"title":1006,"order":723,"module":841,"status":763},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F08-reusable-components-jquery-and-ajax\u002F02-jquery-brief-intro","jQuery Brief Intro",{"path":1008,"title":1009,"order":697,"module":841,"status":763},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F08-reusable-components-jquery-and-ajax\u002F03-intro-to-ajax","Intro To AJAX",{"path":1011,"title":1012,"order":719,"module":847,"status":763},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F09-relational-data-search-and-pagination\u002F01-user-associations","Add User Associations",{"path":1014,"title":1015,"order":723,"module":847,"status":763},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F09-relational-data-search-and-pagination\u002F02-association-views-and-pagination","Add Association Views And Pagination",{"path":1017,"title":1018,"order":719,"module":719,"status":763},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F10-association-assignment-and-security\u002F01-association-assignment-and-public-profiles","Association Management And Public Profiles",{"path":1020,"title":1021,"order":723,"module":719,"status":763},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F10-association-assignment-and-security\u002F02-reusable-csrf-protection","Reusable CSRF Protection",{"path":1023,"title":1024,"order":695,"module":795,"status":702},"\u002Finternet-applications\u002F2e\u002Fsyllabus\u002Ffall-2026","IT202 - Internet Applications Syllabus",{"path":1026,"title":1027,"order":719,"module":695,"status":702},"\u002Finternet-applications\u002F2e\u002Fworksheets\u002Fmodule-01-getting-started","Module 1 Getting Started",{"path":1029,"title":1030,"order":723,"module":14,"status":702},"\u002Finternet-applications\u002F2e\u002Fworksheets\u002Fmodule-02-php-challenges","Module 2 PHP Challenge Scenarios",{"path":1032,"title":1033,"order":878,"module":719,"status":1034},"\u002Finternet-applications\u002Fassignments\u002Ffinal-project-submission","Final Project Submission","review",{"path":1036,"title":1037,"order":681,"module":681,"status":681},"\u002Finternet-applications\u002Fassignments\u002Fmilestones\u002F01-account-access-and-profile-system","Milestone 1: Account, Access, And Profile System",{"path":1039,"title":1040,"order":723,"module":841,"status":1034},"\u002Finternet-applications\u002Fassignments\u002Fmilestones\u002F02-api-data-and-project-crud","Milestone 2: API Data And Project CRUD",{"path":1042,"title":1043,"order":697,"module":847,"status":1034},"\u002Finternet-applications\u002Fassignments\u002Fmilestones\u002F03-user-associations-search-and-summary","Milestone 3: User Associations, Search, And Summary Views",{"path":1045,"title":1046,"order":684,"module":739,"status":702},"\u002Finternet-applications\u002Fassignments\u002Fproject-proposal","IT 202 Project Proposal",{"path":1048,"title":1049,"order":681,"module":681,"status":681},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F01-course-workflow-files-and-web-server\u002F01-what-this-course-is-building","What Internet Applications Build",{"path":1051,"title":1052,"order":681,"module":681,"status":681},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F01-course-workflow-files-and-web-server\u002F02-files-folders-and-project-structure","Files, Folders, And Project Structure",{"path":1054,"title":1055,"order":681,"module":681,"status":681},"\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":1057,"title":1058,"order":681,"module":681,"status":681},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F01-course-workflow-files-and-web-server\u002F02b-install-git-and-terminal-tools","Install Git And Terminal Tools",{"path":1060,"title":1061,"order":681,"module":681,"status":681},"\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":1063,"title":1064,"order":681,"module":681,"status":681},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F01-course-workflow-files-and-web-server\u002F03a-local-development-environment","Set Up A Local Development Environment",{"path":1066,"title":1067,"order":681,"module":681,"status":681},"\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":1069,"title":1070,"order":681,"module":681,"status":681},"\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":1072,"title":1073,"order":681,"module":681,"status":681},"\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":1075,"title":1076,"order":681,"module":681,"status":681},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F01-course-workflow-files-and-web-server\u002F07-git-recovery-and-common-mistakes","Git Recovery And Common Mistakes",{"path":1078,"title":1079,"order":681,"module":681,"status":681},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F01-course-workflow-files-and-web-server\u002F08-installing-apache-and-php","Installing Apache, PHP, And MySQL",{"path":1081,"title":1082,"order":681,"module":681,"status":681},"\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":1084,"title":1085,"order":681,"module":681,"status":681},"\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":1087,"title":1088,"order":681,"module":681,"status":681},"\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":1090,"title":1091,"order":681,"module":681,"status":681},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F01-course-workflow-files-and-web-server\u002F12-local-qa-and-production-environments","Local, QA, And Production Environments",{"path":1093,"title":1094,"order":681,"module":681,"status":681},"\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":1096,"title":1097,"order":681,"module":681,"status":681},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F02-programming-fundamentals-in-php-and-javascript\u002F02-displaying-output-with-php","Displaying Output With PHP",{"path":1099,"title":1100,"order":681,"module":681,"status":681},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F02-programming-fundamentals-in-php-and-javascript\u002F03-displaying-output-with-javascript","Displaying Output With JavaScript",{"path":1102,"title":1103,"order":681,"module":681,"status":681},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F02-programming-fundamentals-in-php-and-javascript\u002F04-variables-storing-and-naming-values","Variables: Storing And Naming Values",{"path":1105,"title":1106,"order":681,"module":681,"status":681},"\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":1108,"title":1109,"order":681,"module":681,"status":681},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F02-programming-fundamentals-in-php-and-javascript\u002F06-arrays-storing-lists-of-values","Arrays: Storing Lists Of Values",{"path":1111,"title":1112,"order":681,"module":681,"status":681},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F02-programming-fundamentals-in-php-and-javascript\u002F07-conditional-statements-making-decisions","Conditional Statements: Making Decisions",{"path":1114,"title":1115,"order":681,"module":681,"status":681},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F02-programming-fundamentals-in-php-and-javascript\u002F08-loops-repeating-actions","Loops: Repeating Actions",{"path":1117,"title":1118,"order":681,"module":681,"status":681},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F02-programming-fundamentals-in-php-and-javascript\u002F09-functions-reusable-blocks-of-logic","Functions: Reusable Blocks Of Logic",{"path":1120,"title":1121,"order":681,"module":681,"status":681},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F02-programming-fundamentals-in-php-and-javascript\u002F10-reading-and-debugging-error-messages","Reading And Debugging Error Messages",{"path":1123,"title":1124,"order":681,"module":681,"status":681},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F03-html-forms-css-and-the-dom\u002F01-html-structure-and-meaning","HTML: Structure And Meaning",{"path":1126,"title":1127,"order":681,"module":681,"status":681},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F03-html-forms-css-and-the-dom\u002F02-writing-a-valid-html-document","Writing A Valid HTML Document",{"path":1129,"title":1130,"order":681,"module":681,"status":681},"\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":1132,"title":1133,"order":681,"module":681,"status":681},"\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":1135,"title":1136,"order":681,"module":681,"status":681},"\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":1138,"title":1139,"order":681,"module":681,"status":681},"\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":1141,"title":1142,"order":681,"module":681,"status":681},"\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":1144,"title":1145,"order":681,"module":681,"status":681},"\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":1147,"title":1148,"order":681,"module":681,"status":681},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F03-html-forms-css-and-the-dom\u002F09-page-layout-with-flexbox","Page Layout With Flexbox",{"path":1150,"title":1151,"order":681,"module":681,"status":681},"\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":1153,"title":1154,"order":681,"module":681,"status":681},"\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":1156,"title":1157,"order":681,"module":681,"status":681},"\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":1159,"title":1160,"order":681,"module":681,"status":681},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F03-html-forms-css-and-the-dom\u002F12-basic-web-accessibility-habits","Basic Web Accessibility Habits",{"path":1162,"title":1163,"order":681,"module":681,"status":681},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F04-databases-and-user-accounts\u002F01-why-web-applications-need-a-database","Why Web Applications Need A Database",{"path":1165,"title":1166,"order":681,"module":681,"status":681},"\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":1168,"title":1169,"order":681,"module":681,"status":681},"\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":1171,"title":1172,"order":681,"module":681,"status":681},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F04-databases-and-user-accounts\u002F04-creating-tables-with-sql-scripts","Creating Tables With SQL Scripts",{"path":1174,"title":1175,"order":681,"module":681,"status":681},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F04-databases-and-user-accounts\u002F05-connecting-php-to-mysql-with-pdo","Connecting PHP To MySQL With PDO",{"path":1177,"title":1178,"order":681,"module":681,"status":681},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F04-databases-and-user-accounts\u002F06-parameterized-queries-and-sql-injection-prevention","Parameterized Queries And SQL Injection Prevention",{"path":1180,"title":1181,"order":681,"module":681,"status":681},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F04-databases-and-user-accounts\u002F07-building-a-registration-page","Building A Registration Page",{"path":1183,"title":1184,"order":681,"module":681,"status":681},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F04-databases-and-user-accounts\u002F08-hashing-passwords-with-password-hash","Hashing Passwords With password_hash()",{"path":1186,"title":1187,"order":681,"module":681,"status":681},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F04-databases-and-user-accounts\u002F09-building-a-login-page","Building A Login Page",{"path":1189,"title":1190,"order":681,"module":681,"status":681},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F04-databases-and-user-accounts\u002F10-sessions-remembering-the-logged-in-user","Sessions: Remembering The Logged-In User",{"path":1192,"title":1193,"order":681,"module":681,"status":681},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F04-databases-and-user-accounts\u002F11-cookies-persistent-client-side-state","Cookies: Persistent Client-Side State",{"path":1195,"title":1196,"order":681,"module":681,"status":681},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F04-databases-and-user-accounts\u002F12-navigation-that-responds-to-login-state","Navigation That Responds To Login State",{"path":1198,"title":1199,"order":681,"module":681,"status":681},"\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":1201,"title":1202,"order":681,"module":681,"status":681},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F05-input-validation-security-and-user-profiles\u002F02-sanitizing-and-escaping-user-input","Sanitizing And Escaping User Input",{"path":1204,"title":1205,"order":681,"module":681,"status":681},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F05-input-validation-security-and-user-profiles\u002F03-required-fields-and-length-rules","Required Fields And Length Rules",{"path":1207,"title":1208,"order":681,"module":681,"status":681},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F05-input-validation-security-and-user-profiles\u002F04-regular-expressions-for-pattern-matching","Regular Expressions For Pattern Matching",{"path":1210,"title":1211,"order":681,"module":681,"status":681},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F05-input-validation-security-and-user-profiles\u002F05-server-side-validation-in-php","Server-Side Validation In PHP",{"path":1213,"title":1214,"order":681,"module":681,"status":681},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F05-input-validation-security-and-user-profiles\u002F06-cross-site-scripting-xss-prevention","Cross-Site Scripting (XSS) Prevention",{"path":1216,"title":1217,"order":681,"module":681,"status":681},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F05-input-validation-security-and-user-profiles\u002F07-flash-messages-and-persistent-feedback","Flash Messages And Persistent Feedback",{"path":1219,"title":1220,"order":681,"module":681,"status":681},"\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":1222,"title":1223,"order":681,"module":681,"status":681},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F05-input-validation-security-and-user-profiles\u002F09-building-a-profile-edit-page","Building A Profile Edit Page",{"path":1225,"title":1226,"order":681,"module":681,"status":681},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F05-input-validation-security-and-user-profiles\u002F10-debugging-account-and-authentication-problems","Debugging Account And Authentication Problems",{"path":1228,"title":1229,"order":681,"module":681,"status":681},"\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":1231,"title":1232,"order":681,"module":681,"status":681},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F06-roles-permissions-and-crud-pages\u002F01-role-based-access-control","Role-Based Access Control",{"path":1234,"title":1235,"order":681,"module":681,"status":681},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F06-roles-permissions-and-crud-pages\u002F02-storing-roles-in-the-database","Storing Roles In The Database",{"path":1237,"title":1238,"order":681,"module":681,"status":681},"\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":1240,"title":1241,"order":681,"module":681,"status":681},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F06-roles-permissions-and-crud-pages\u002F04-safe-redirects-after-login-and-logout","Safe Redirects After Login And Logout",{"path":1243,"title":1244,"order":681,"module":681,"status":681},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F06-roles-permissions-and-crud-pages\u002F05-listing-records-from-the-database","Listing Records From The Database",{"path":1246,"title":1247,"order":681,"module":681,"status":681},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F06-roles-permissions-and-crud-pages\u002F06-creating-new-records-with-a-form","Creating New Records With A Form",{"path":1249,"title":1250,"order":681,"module":681,"status":681},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F06-roles-permissions-and-crud-pages\u002F07-editing-existing-records","Editing Existing Records",{"path":1252,"title":1253,"order":681,"module":681,"status":681},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F06-roles-permissions-and-crud-pages\u002F08-deleting-records-safely","Deleting Records Safely",{"path":1255,"title":1256,"order":681,"module":681,"status":681},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F06-roles-permissions-and-crud-pages\u002F09-ownership-linking-records-to-users","Ownership: Linking Records To Users",{"path":1258,"title":1259,"order":681,"module":681,"status":681},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F06-roles-permissions-and-crud-pages\u002F10-first-project-milestone-checklist","First Project Milestone Checklist",{"path":1261,"title":1262,"order":681,"module":681,"status":681},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F06-roles-permissions-and-crud-pages\u002F11-organizing-growing-php-applications","Organizing Growing PHP Applications",{"path":1264,"title":1265,"order":681,"module":681,"status":681},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F06-roles-permissions-and-crud-pages\u002F12-reading-a-growing-php-application","Reading A Growing PHP Application",{"path":1267,"title":1268,"order":681,"module":681,"status":681},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F07-asynchronous-requests-json-and-external-apis\u002F01-what-asynchronous-requests-ajax-solve","What Asynchronous Requests (AJAX) Solve",{"path":1270,"title":1271,"order":681,"module":681,"status":681},"\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":1273,"title":1274,"order":681,"module":681,"status":681},"\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":1276,"title":1277,"order":681,"module":681,"status":681},"\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":1279,"title":1280,"order":681,"module":681,"status":681},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F07-asynchronous-requests-json-and-external-apis\u002F05-handling-fetch-responses-and-errors","Handling Fetch Responses And Errors",{"path":1282,"title":1283,"order":681,"module":681,"status":681},"\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":1285,"title":1286,"order":681,"module":681,"status":681},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F07-asynchronous-requests-json-and-external-apis\u002F07-introduction-to-rest-apis","Introduction To REST APIs",{"path":1288,"title":1289,"order":681,"module":681,"status":681},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F07-asynchronous-requests-json-and-external-apis\u002F08-reading-api-documentation","Reading API Documentation",{"path":1291,"title":1292,"order":681,"module":681,"status":681},"\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":1294,"title":1295,"order":681,"module":681,"status":681},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F07-asynchronous-requests-json-and-external-apis\u002F10-storing-and-caching-api-responses","Storing And Caching API Responses",{"path":1297,"title":1298,"order":681,"module":681,"status":681},"\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":1300,"title":1301,"order":681,"module":681,"status":681},"\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":1303,"title":1304,"order":681,"module":681,"status":681},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F08-dynamic-interfaces-and-project-data\u002F01-jquery-simplified-dom-and-event-work","jQuery: Simplified DOM And Event Work",{"path":1306,"title":1307,"order":681,"module":681,"status":681},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F08-dynamic-interfaces-and-project-data\u002F02-selecting-elements-with-jquery","Selecting Elements With jQuery",{"path":1309,"title":1310,"order":681,"module":681,"status":681},"\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":1312,"title":1313,"order":681,"module":681,"status":681},"\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":1315,"title":1316,"order":681,"module":681,"status":681},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F08-dynamic-interfaces-and-project-data\u002F05-sending-ajax-requests-with-jquery","Sending AJAX Requests With jQuery",{"path":1318,"title":1319,"order":681,"module":681,"status":681},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F08-dynamic-interfaces-and-project-data\u002F06-saving-external-api-data-through-php","Saving External API Data Through PHP",{"path":1321,"title":1322,"order":681,"module":681,"status":681},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F08-dynamic-interfaces-and-project-data\u002F07-saving-user-created-records","Saving User-Created Records",{"path":1324,"title":1325,"order":681,"module":681,"status":681},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F08-dynamic-interfaces-and-project-data\u002F08-building-a-project-listing-page","Building A Project Listing Page",{"path":1327,"title":1328,"order":681,"module":681,"status":681},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F08-dynamic-interfaces-and-project-data\u002F09-inline-editing-and-detail-views","Inline Editing And Detail Views",{"path":1330,"title":1331,"order":681,"module":681,"status":681},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F08-dynamic-interfaces-and-project-data\u002F10-second-project-milestone-checklist","Second Project Milestone Checklist",{"path":1333,"title":1334,"order":681,"module":681,"status":681},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F09-relational-data-search-and-pagination\u002F01-foreign-keys-and-referential-integrity","Foreign Keys And Referential Integrity",{"path":1336,"title":1337,"order":681,"module":681,"status":681},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F09-relational-data-search-and-pagination\u002F02-joining-tables-inner-join-left-join","Joining Tables: INNER JOIN, LEFT JOIN",{"path":1339,"title":1340,"order":681,"module":681,"status":681},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F09-relational-data-search-and-pagination\u002F03-user-owned-records-and-access-enforcement","User-Owned Records And Access Enforcement",{"path":1342,"title":1343,"order":681,"module":681,"status":681},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F09-relational-data-search-and-pagination\u002F04-connecting-api-data-to-user-records","Connecting API Data To User Records",{"path":1345,"title":1346,"order":681,"module":681,"status":681},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F09-relational-data-search-and-pagination\u002F05-searching-and-filtering-with-sql","Searching And Filtering With SQL",{"path":1348,"title":1349,"order":681,"module":681,"status":681},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F09-relational-data-search-and-pagination\u002F06-pagination-displaying-records-in-pages","Pagination: Displaying Records In Pages",{"path":1351,"title":1352,"order":681,"module":681,"status":681},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F09-relational-data-search-and-pagination\u002F07-aggregate-functions-count-sum-avg","Aggregate Functions: COUNT, SUM, AVG",{"path":1354,"title":1355,"order":681,"module":681,"status":681},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F09-relational-data-search-and-pagination\u002F08-simple-analytics-and-summary-views","Simple Analytics And Summary Views",{"path":1357,"title":1358,"order":681,"module":681,"status":681},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F09-relational-data-search-and-pagination\u002F09-third-project-milestone-checklist","Third Project Milestone Checklist",{"path":1360,"title":1361,"order":681,"module":681,"status":681},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F10-final-integration-testing-and-deployment\u002F01-public-pages-and-unauthenticated-views","Public Pages And Unauthenticated Views",{"path":1363,"title":1364,"order":681,"module":681,"status":681},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F10-final-integration-testing-and-deployment\u002F02-user-profile-and-activity-pages","User Profile And Activity Pages",{"path":1366,"title":1367,"order":681,"module":681,"status":681},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F10-final-integration-testing-and-deployment\u002F03-refreshing-and-expiring-external-api-data","Refreshing And Expiring External API Data",{"path":1369,"title":1370,"order":681,"module":681,"status":681},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F10-final-integration-testing-and-deployment\u002F04-application-wide-security-audit","Application-Wide Security Audit",{"path":1372,"title":1373,"order":681,"module":681,"status":681},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F10-final-integration-testing-and-deployment\u002F05-cross-site-request-forgery-csrf-protection","Cross-Site Request Forgery (CSRF) Protection",{"path":1375,"title":1376,"order":681,"module":681,"status":681},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F10-final-integration-testing-and-deployment\u002F06-qa-testing-and-collecting-evidence","QA Testing And Collecting Evidence",{"path":1378,"title":1379,"order":681,"module":681,"status":681},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F10-final-integration-testing-and-deployment\u002F07-production-environment-checklist","Production Environment Checklist",{"path":1381,"title":1382,"order":681,"module":681,"status":681},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F10-final-integration-testing-and-deployment\u002F08-writing-a-project-readme","Writing A Project README",{"path":1384,"title":1385,"order":681,"module":681,"status":681},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F10-final-integration-testing-and-deployment\u002F09-final-presentation-and-code-walkthrough","Final Presentation And Code Walkthrough",{"path":1387,"title":1388,"order":681,"module":681,"status":681},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F10-final-integration-testing-and-deployment\u002F10-configuration-drift-and-secrets-checks","Configuration Drift And Secrets Checks",{"path":1390,"title":1391,"order":681,"module":681,"status":1392},"\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":1394,"title":1395,"order":681,"module":681,"status":1392},"\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":1397,"title":1398,"order":681,"module":681,"status":1392},"\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":1400,"title":1401,"order":681,"module":681,"status":1392},"\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":1403,"title":1404,"order":681,"module":681,"status":1392},"\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":1406,"title":1407,"order":681,"module":681,"status":1392},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F01-course-workflow-files-and-web-server\u002F03a-local-development-environment","Quiz - Set Up A Local Development Environment",{"path":1409,"title":1410,"order":681,"module":681,"status":1392},"\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":1412,"title":1413,"order":681,"module":681,"status":1392},"\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":1415,"title":1416,"order":681,"module":681,"status":1392},"\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":1418,"title":1419,"order":681,"module":681,"status":1392},"\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":1421,"title":1422,"order":681,"module":681,"status":1392},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F01-course-workflow-files-and-web-server\u002F08-installing-apache-and-php","Quiz - Installing Apache, PHP, And MySQL",{"path":1424,"title":1425,"order":681,"module":681,"status":1392},"\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":1427,"title":1428,"order":681,"module":681,"status":1392},"\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":1430,"title":1431,"order":681,"module":681,"status":681},"\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":1433,"title":1434,"order":681,"module":681,"status":1392},"\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":1436,"title":1437,"order":681,"module":681,"status":1392},"\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":1439,"title":1440,"order":681,"module":681,"status":1392},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F02-programming-fundamentals-in-php-and-javascript\u002F02-displaying-output-with-php","Quiz - Displaying Output With PHP",{"path":1442,"title":1443,"order":681,"module":681,"status":1392},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F02-programming-fundamentals-in-php-and-javascript\u002F03-displaying-output-with-javascript","Quiz - Displaying Output With JavaScript",{"path":1445,"title":1446,"order":681,"module":681,"status":681},"\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":1448,"title":1449,"order":681,"module":681,"status":681},"\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":1451,"title":1452,"order":681,"module":681,"status":1392},"\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":1454,"title":1455,"order":681,"module":681,"status":681},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F02-programming-fundamentals-in-php-and-javascript\u002F07-conditional-statements-making-decisions","Quiz - Conditional Statements: Making Decisions",{"path":1457,"title":1458,"order":681,"module":681,"status":681},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F02-programming-fundamentals-in-php-and-javascript\u002F08-loops-repeating-actions","Quiz - Loops: Repeating Actions",{"path":1460,"title":1461,"order":681,"module":681,"status":681},"\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":1463,"title":1464,"order":681,"module":681,"status":1392},"\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":1466,"title":1467,"order":681,"module":681,"status":681},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F03-html-forms-css-and-the-dom\u002F01-html-structure-and-meaning","Quiz - HTML: Structure And Meaning",{"path":1469,"title":1470,"order":681,"module":681,"status":1392},"\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":1472,"title":1473,"order":681,"module":681,"status":1392},"\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":1475,"title":1476,"order":681,"module":681,"status":681},"\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":1478,"title":1479,"order":681,"module":681,"status":1392},"\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":1481,"title":1482,"order":681,"module":681,"status":1392},"\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":1484,"title":1485,"order":681,"module":681,"status":681},"\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":1487,"title":1488,"order":681,"module":681,"status":681},"\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":1490,"title":1491,"order":681,"module":681,"status":1392},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F03-html-forms-css-and-the-dom\u002F09-page-layout-with-flexbox","Quiz - Page Layout With Flexbox",{"path":1493,"title":1494,"order":681,"module":681,"status":1392},"\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":1496,"title":1497,"order":681,"module":681,"status":1392},"\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":1499,"title":1500,"order":681,"module":681,"status":1392},"\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":1502,"title":1503,"order":681,"module":681,"status":1392},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F03-html-forms-css-and-the-dom\u002F12-basic-web-accessibility-habits","Quiz - Basic Web Accessibility Habits",{"path":1505,"title":1506,"order":681,"module":681,"status":1392},"\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":1508,"title":1509,"order":681,"module":681,"status":681},"\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":1511,"title":1512,"order":681,"module":681,"status":681},"\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":1514,"title":1515,"order":681,"module":681,"status":1392},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F04-databases-and-user-accounts\u002F04-creating-tables-with-sql-scripts","Quiz - Creating Tables With SQL Scripts",{"path":1517,"title":1518,"order":681,"module":681,"status":1392},"\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":1520,"title":1521,"order":681,"module":681,"status":1392},"\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":1523,"title":1524,"order":681,"module":681,"status":1392},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F04-databases-and-user-accounts\u002F07-building-a-registration-page","Quiz - Building A Registration Page",{"path":1526,"title":1527,"order":681,"module":681,"status":1392},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F04-databases-and-user-accounts\u002F08-hashing-passwords-with-password-hash","Quiz - Hashing Passwords With password_hash()",{"path":1529,"title":1530,"order":681,"module":681,"status":1392},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F04-databases-and-user-accounts\u002F09-building-a-login-page","Quiz - Building A Login Page",{"path":1532,"title":1533,"order":681,"module":681,"status":681},"\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":1535,"title":1536,"order":681,"module":681,"status":681},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F04-databases-and-user-accounts\u002F11-cookies-persistent-client-side-state","Quiz - Cookies: Persistent Client-Side State",{"path":1538,"title":1539,"order":681,"module":681,"status":1392},"\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":1541,"title":1542,"order":681,"module":681,"status":1392},"\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":1544,"title":1545,"order":681,"module":681,"status":1392},"\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":1547,"title":1548,"order":681,"module":681,"status":1392},"\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":1550,"title":1551,"order":681,"module":681,"status":1392},"\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":1553,"title":1554,"order":681,"module":681,"status":1392},"\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":1556,"title":1557,"order":681,"module":681,"status":1392},"\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":1559,"title":1560,"order":681,"module":681,"status":1392},"\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":1562,"title":1563,"order":681,"module":681,"status":1392},"\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":1565,"title":1566,"order":681,"module":681,"status":1392},"\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":1568,"title":1569,"order":681,"module":681,"status":1392},"\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":1571,"title":1572,"order":681,"module":681,"status":681},"\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":1574,"title":1575,"order":681,"module":681,"status":1392},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F06-roles-permissions-and-crud-pages\u002F01-role-based-access-control","Quiz - Role-Based Access Control",{"path":1577,"title":1578,"order":681,"module":681,"status":1392},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F06-roles-permissions-and-crud-pages\u002F02-storing-roles-in-the-database","Quiz - Storing Roles In The Database",{"path":1580,"title":1581,"order":681,"module":681,"status":1392},"\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":1583,"title":1584,"order":681,"module":681,"status":1392},"\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":1586,"title":1587,"order":681,"module":681,"status":1392},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F06-roles-permissions-and-crud-pages\u002F05-listing-records-from-the-database","Quiz - Listing Records From The Database",{"path":1589,"title":1590,"order":681,"module":681,"status":1392},"\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":1592,"title":1593,"order":681,"module":681,"status":1392},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F06-roles-permissions-and-crud-pages\u002F07-editing-existing-records","Quiz - Editing Existing Records",{"path":1595,"title":1596,"order":681,"module":681,"status":1392},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F06-roles-permissions-and-crud-pages\u002F08-deleting-records-safely","Quiz - Deleting Records Safely",{"path":1598,"title":1599,"order":681,"module":681,"status":681},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F06-roles-permissions-and-crud-pages\u002F09-ownership-linking-records-to-users","Quiz - Ownership: Linking Records To Users",{"path":1601,"title":1602,"order":681,"module":681,"status":1392},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F06-roles-permissions-and-crud-pages\u002F10-first-project-milestone-checklist","Quiz - First Project Milestone Checklist",{"path":1604,"title":1605,"order":681,"module":681,"status":1392},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F06-roles-permissions-and-crud-pages\u002F11-organizing-growing-php-applications","Quiz - Organizing Growing PHP Applications",{"path":1607,"title":1608,"order":681,"module":681,"status":1392},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F06-roles-permissions-and-crud-pages\u002F12-reading-a-growing-php-application","Quiz - Reading A Growing PHP Application",{"path":1610,"title":1611,"order":681,"module":681,"status":1392},"\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":1613,"title":1614,"order":681,"module":681,"status":1392},"\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":1616,"title":1617,"order":681,"module":681,"status":1392},"\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":1619,"title":1620,"order":681,"module":681,"status":1392},"\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":1622,"title":1623,"order":681,"module":681,"status":1392},"\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":1625,"title":1626,"order":681,"module":681,"status":1392},"\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":1628,"title":1629,"order":681,"module":681,"status":1392},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F07-asynchronous-requests-json-and-external-apis\u002F07-introduction-to-rest-apis","Quiz - Introduction To REST APIs",{"path":1631,"title":1632,"order":681,"module":681,"status":1392},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F07-asynchronous-requests-json-and-external-apis\u002F08-reading-api-documentation","Quiz - Reading API Documentation",{"path":1634,"title":1635,"order":681,"module":681,"status":1392},"\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":1637,"title":1638,"order":681,"module":681,"status":1392},"\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":1640,"title":1641,"order":681,"module":681,"status":1392},"\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":1643,"title":1644,"order":681,"module":681,"status":1392},"\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":1646,"title":1647,"order":681,"module":681,"status":681},"\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":1649,"title":1650,"order":681,"module":681,"status":1392},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F08-dynamic-interfaces-and-project-data\u002F02-selecting-elements-with-jquery","Quiz - Selecting Elements With jQuery",{"path":1652,"title":1653,"order":681,"module":681,"status":681},"\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":1655,"title":1656,"order":681,"module":681,"status":1392},"\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":1658,"title":1659,"order":681,"module":681,"status":1392},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F08-dynamic-interfaces-and-project-data\u002F05-sending-ajax-requests-with-jquery","Quiz - Sending AJAX Requests With jQuery",{"path":1661,"title":1662,"order":681,"module":681,"status":1392},"\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":1664,"title":1665,"order":681,"module":681,"status":1392},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F08-dynamic-interfaces-and-project-data\u002F07-saving-user-created-records","Quiz - Saving User-Created Records",{"path":1667,"title":1668,"order":681,"module":681,"status":1392},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F08-dynamic-interfaces-and-project-data\u002F08-building-a-project-listing-page","Quiz - Building A Project Listing Page",{"path":1670,"title":1671,"order":681,"module":681,"status":1392},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F08-dynamic-interfaces-and-project-data\u002F09-inline-editing-and-detail-views","Quiz - Inline Editing And Detail Views",{"path":1673,"title":1674,"order":681,"module":681,"status":1392},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F08-dynamic-interfaces-and-project-data\u002F10-second-project-milestone-checklist","Quiz - Second Project Milestone Checklist",{"path":1676,"title":1677,"order":681,"module":681,"status":1392},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F09-relational-data-search-and-pagination\u002F01-foreign-keys-and-referential-integrity","Quiz - Foreign Keys And Referential Integrity",{"path":1679,"title":1680,"order":681,"module":681,"status":1392},"\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":1682,"title":1683,"order":681,"module":681,"status":1392},"\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":1685,"title":1686,"order":681,"module":681,"status":1392},"\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":1688,"title":1689,"order":681,"module":681,"status":1392},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F09-relational-data-search-and-pagination\u002F05-searching-and-filtering-with-sql","Quiz - Searching And Filtering With SQL",{"path":1691,"title":1692,"order":681,"module":681,"status":681},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F09-relational-data-search-and-pagination\u002F06-pagination-displaying-records-in-pages","Quiz - Pagination: Displaying Records In Pages",{"path":1694,"title":1695,"order":681,"module":681,"status":681},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F09-relational-data-search-and-pagination\u002F07-aggregate-functions-count-sum-avg","Quiz - Aggregate Functions: COUNT, SUM, AVG",{"path":1697,"title":1698,"order":681,"module":681,"status":1392},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F09-relational-data-search-and-pagination\u002F08-simple-analytics-and-summary-views","Quiz - Simple Analytics And Summary Views",{"path":1700,"title":1701,"order":681,"module":681,"status":1392},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F09-relational-data-search-and-pagination\u002F09-third-project-milestone-checklist","Quiz - Third Project Milestone Checklist",{"path":1703,"title":1704,"order":681,"module":681,"status":1392},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F10-final-integration-testing-and-deployment\u002F01-public-pages-and-unauthenticated-views","Quiz - Public Pages And Unauthenticated Views",{"path":1706,"title":1707,"order":681,"module":681,"status":1392},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F10-final-integration-testing-and-deployment\u002F02-user-profile-and-activity-pages","Quiz - User Profile And Activity Pages",{"path":1709,"title":1710,"order":681,"module":681,"status":1392},"\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":1712,"title":1713,"order":681,"module":681,"status":1392},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F10-final-integration-testing-and-deployment\u002F04-application-wide-security-audit","Quiz - Application-Wide Security Audit",{"path":1715,"title":1716,"order":681,"module":681,"status":1392},"\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":1718,"title":1719,"order":681,"module":681,"status":1392},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F10-final-integration-testing-and-deployment\u002F06-qa-testing-and-collecting-evidence","Quiz - QA Testing And Collecting Evidence",{"path":1721,"title":1722,"order":681,"module":681,"status":1392},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F10-final-integration-testing-and-deployment\u002F07-production-environment-checklist","Quiz - Production Environment Checklist",{"path":1724,"title":1725,"order":681,"module":681,"status":1392},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F10-final-integration-testing-and-deployment\u002F08-writing-a-project-readme","Quiz - Writing A Project README",{"path":1727,"title":1728,"order":681,"module":681,"status":1392},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F10-final-integration-testing-and-deployment\u002F09-final-presentation-and-code-walkthrough","Quiz - Final Presentation And Code Walkthrough",{"path":1730,"title":1731,"order":681,"module":681,"status":1392},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F10-final-integration-testing-and-deployment\u002F10-configuration-drift-and-secrets-checks","Quiz - Configuration Drift And Secrets Checks",{"path":1733,"title":1734,"order":695,"module":795,"status":763},"\u002Finternet-applications\u002Fbook\u002Freference\u002Fa-command-line-basics","Command Line Basics",{"path":1736,"title":1737,"order":14,"module":795,"status":763},"\u002Finternet-applications\u002Fbook\u002Freference\u002Fb-git-and-github-recovery","Git And GitHub Recovery",{"path":1739,"title":1740,"order":137,"module":795,"status":763},"\u002Finternet-applications\u002Fbook\u002Freference\u002Fc-apache-and-php-troubleshooting","Apache And PHP Troubleshooting",{"path":1742,"title":1743,"order":739,"module":795,"status":763},"\u002Finternet-applications\u002Fbook\u002Freference\u002Fd-mysql-troubleshooting","MySQL Troubleshooting",{"path":1745,"title":1746,"order":684,"module":795,"status":763},"\u002Finternet-applications\u002Fbook\u002Freference\u002Fe-http-request-and-response-reference","HTTP Request And Response Reference",{"path":1748,"title":1749,"order":755,"module":795,"status":763},"\u002Finternet-applications\u002Fbook\u002Freference\u002Ff-common-security-mistakes","Common Security Mistakes",{"path":1751,"title":1752,"order":759,"module":795,"status":763},"\u002Finternet-applications\u002Fbook\u002Freference\u002Fg-ai-collaboration-and-disclosure","AI Collaboration And Disclosure",{"path":1754,"title":1755,"order":795,"module":795,"status":763},"\u002Finternet-applications\u002Fbook\u002Ftoc","Internet Applications: Table of Contents",{"path":1757,"title":1758,"order":719,"module":695,"status":763},"\u002Finternet-applications\u002Flabs\u002F01-git-recovery-and-submission-evidence","Lab 1: Git Recovery And Submission Evidence",{"path":1760,"title":1761,"order":723,"module":14,"status":763},"\u002Finternet-applications\u002Flabs\u002F02-php-output-and-error-reading","Lab 2: PHP Output And Error Reading",{"path":1763,"title":1764,"order":697,"module":137,"status":763},"\u002Finternet-applications\u002Flabs\u002F03-form-methods-and-sticky-values","Lab 3: Form Methods And Sticky Values",{"path":1766,"title":1767,"order":878,"module":739,"status":763},"\u002Finternet-applications\u002Flabs\u002F04-pdo-query-and-sql-evidence","Lab 4: PDO Query And SQL Evidence",{"path":1769,"title":1770,"order":898,"module":684,"status":763},"\u002Finternet-applications\u002Flabs\u002F05-validation-debugging-and-friendly-errors","Lab 5: Validation, Debugging, And Friendly Errors",{"path":1772,"title":1773,"order":902,"module":755,"status":763},"\u002Finternet-applications\u002Flabs\u002F06-role-protected-crud-check","Lab 6: Role-Protected CRUD Check",{"path":1775,"title":1776,"order":1777,"module":755,"status":763},"\u002Finternet-applications\u002Flabs\u002F06a-relative-paths-includes-and-feature-trace","Lab 6A: Relative Paths, Includes, And Feature Tracing","61",{"path":1779,"title":1780,"order":805,"module":759,"status":763},"\u002Finternet-applications\u002Flabs\u002F07-json-endpoint-and-fetch-check","Lab 7: JSON Endpoint And Fetch Check",{"path":1782,"title":1783,"order":935,"module":841,"status":763},"\u002Finternet-applications\u002Flabs\u002F08-jquery-ajax-interface-check","Lab 8: jQuery AJAX Interface Check",{"path":1785,"title":1786,"order":939,"module":847,"status":763},"\u002Finternet-applications\u002Flabs\u002F09-search-pagination-and-summary-check","Lab 9: Search, Pagination, And Summary Check",{"path":1788,"title":1789,"order":943,"module":719,"status":763},"\u002Finternet-applications\u002Flabs\u002F10-final-security-and-readme-check","Lab 10: Final Security And README Check",{"path":1791,"title":1792,"order":681,"module":681,"status":763},"\u002Finternet-applications\u002Fpresentations-revised\u002F00-revision-plan","Internet Applications Revision Plan - Superseded Historical Baseline",{"path":1794,"title":1795,"order":681,"module":681,"status":763},"\u002Finternet-applications\u002Fpresentations-revised\u002F01-20-minute-recording-plan","Internet Applications Recording Plan - Superseded Historical Baseline",{"path":1797,"title":884,"order":795,"module":695,"status":702},"\u002Finternet-applications\u002Fpresentations\u002F01-git-github-and-course-workflow\u002F00-learn-courses-and-discord",{"path":1799,"title":1800,"order":719,"module":695,"status":702},"\u002Finternet-applications\u002Fpresentations\u002F01-git-github-and-course-workflow\u002F01-basic-cli-commands","Basic CLI Commands",{"path":1802,"title":1803,"order":723,"module":695,"status":702},"\u002Finternet-applications\u002Fpresentations\u002F01-git-github-and-course-workflow\u002F02-install-git-tools","Git Tools",{"path":1805,"title":1806,"order":697,"module":695,"status":702},"\u002Finternet-applications\u002Fpresentations\u002F01-git-github-and-course-workflow\u002F03-setup-github-ssh","Set Up GitHub SSH",{"path":1808,"title":1809,"order":878,"module":695,"status":702},"\u002Finternet-applications\u002Fpresentations\u002F01-git-github-and-course-workflow\u002F04-git-commands-prs","Git Commands And Pull Requests",{"path":1811,"title":1812,"order":898,"module":695,"status":702},"\u002Finternet-applications\u002Fpresentations\u002F01-git-github-and-course-workflow\u002F05-setup-local-development-environment","Local Development Environment Setup",{"path":1814,"title":928,"order":902,"module":695,"status":702},"\u002Finternet-applications\u002Fpresentations\u002F01-git-github-and-course-workflow\u002F06-add-instructor-template-to-your-repository",{"path":1816,"title":931,"order":805,"module":695,"status":702},"\u002Finternet-applications\u002Fpresentations\u002F01-git-github-and-course-workflow\u002F07-qa-prod-branches",{"path":1818,"title":934,"order":935,"module":695,"status":702},"\u002Finternet-applications\u002Fpresentations\u002F01-git-github-and-course-workflow\u002F08-render-setup",{"path":1820,"title":1821,"order":939,"module":695,"status":702},"\u002Finternet-applications\u002Fpresentations\u002F01-git-github-and-course-workflow\u002F09-local-ubuntu-web-server-virtualbox","Local Ubuntu Web Server With VirtualBox",{"path":1823,"title":942,"order":943,"module":695,"status":763},"\u002Finternet-applications\u002Fpresentations\u002F01-git-github-and-course-workflow\u002F10-local-ubuntu-web-server-vmware",{"path":1825,"title":946,"order":719,"module":14,"status":702},"\u002Finternet-applications\u002Fpresentations\u002F02-php-and-javascript-basics\u002F01-compare-php-and-javascript",{"path":1827,"title":949,"order":723,"module":14,"status":702},"\u002Finternet-applications\u002Fpresentations\u002F02-php-and-javascript-basics\u002F02-conditions-loops-functions",{"path":1829,"title":952,"order":719,"module":137,"status":702},"\u002Finternet-applications\u002Fpresentations\u002F03-html-forms-css-and-dom\u002F01-intro-to-html",{"path":1831,"title":955,"order":723,"module":137,"status":702},"\u002Finternet-applications\u002Fpresentations\u002F03-html-forms-css-and-dom\u002F02-intro-to-forms-and-get-post",{"path":1833,"title":958,"order":697,"module":137,"status":702},"\u002Finternet-applications\u002Fpresentations\u002F03-html-forms-css-and-dom\u002F03-understanding-css-js-selectors-and-dom-updates",{"path":1835,"title":961,"order":719,"module":739,"status":702},"\u002Finternet-applications\u002Fpresentations\u002F04-databases-and-user-accounts\u002F01-intro-to-sql",{"path":1837,"title":964,"order":723,"module":739,"status":702},"\u002Finternet-applications\u002Fpresentations\u002F04-databases-and-user-accounts\u002F02-project-database-setup",{"path":1839,"title":967,"order":697,"module":739,"status":702},"\u002Finternet-applications\u002Fpresentations\u002F04-databases-and-user-accounts\u002F03-user-registration",{"path":1841,"title":970,"order":878,"module":739,"status":702},"\u002Finternet-applications\u002Fpresentations\u002F04-databases-and-user-accounts\u002F04-user-login",{"path":1843,"title":973,"order":719,"module":684,"status":702},"\u002Finternet-applications\u002Fpresentations\u002F05-validation-and-user-profiles\u002F01-intro-to-regex",{"path":1845,"title":976,"order":723,"module":684,"status":702},"\u002Finternet-applications\u002Fpresentations\u002F05-validation-and-user-profiles\u002F02-project-shared-helpers",{"path":1847,"title":1848,"order":697,"module":684,"status":702},"\u002Finternet-applications\u002Fpresentations\u002F05-validation-and-user-profiles\u002F03-flash-messages-and-redirect-feedback","Flash Messages And Redirect Feedback",{"path":1850,"title":982,"order":878,"module":684,"status":702},"\u002Finternet-applications\u002Fpresentations\u002F05-validation-and-user-profiles\u002F04-user-profile",{"path":1852,"title":985,"order":719,"module":755,"status":702},"\u002Finternet-applications\u002Fpresentations\u002F06-roles-and-crud-pages\u002F01-user-roles-authorization",{"path":1854,"title":988,"order":723,"module":755,"status":702},"\u002Finternet-applications\u002Fpresentations\u002F06-roles-and-crud-pages\u002F02-user-login-enhancement",{"path":1856,"title":991,"order":697,"module":755,"status":702},"\u002Finternet-applications\u002Fpresentations\u002F06-roles-and-crud-pages\u002F03-dynamic-content",{"path":1858,"title":994,"order":719,"module":759,"status":702},"\u002Finternet-applications\u002Fpresentations\u002F07-api-data-and-database-helpers\u002F01-working-with-api-data",{"path":1860,"title":997,"order":723,"module":759,"status":702},"\u002Finternet-applications\u002Fpresentations\u002F07-api-data-and-database-helpers\u002F02-api-integration",{"path":1862,"title":1000,"order":697,"module":759,"status":702},"\u002Finternet-applications\u002Fpresentations\u002F07-api-data-and-database-helpers\u002F03-database-utility-functions",{"path":1864,"title":1003,"order":719,"module":841,"status":702},"\u002Finternet-applications\u002Fpresentations\u002F08-reusable-components-jquery-and-ajax\u002F01-milestone-2-bootstrap-and-reusability",{"path":1866,"title":1006,"order":723,"module":841,"status":702},"\u002Finternet-applications\u002Fpresentations\u002F08-reusable-components-jquery-and-ajax\u002F02-jquery-brief-intro",{"path":1868,"title":1009,"order":697,"module":841,"status":702},"\u002Finternet-applications\u002Fpresentations\u002F08-reusable-components-jquery-and-ajax\u002F03-intro-to-ajax",{"path":1870,"title":1012,"order":719,"module":847,"status":702},"\u002Finternet-applications\u002Fpresentations\u002F09-relational-data-search-and-pagination\u002F01-user-associations",{"path":1872,"title":1015,"order":723,"module":847,"status":702},"\u002Finternet-applications\u002Fpresentations\u002F09-relational-data-search-and-pagination\u002F02-association-views-and-pagination",{"path":1874,"title":1018,"order":719,"module":719,"status":702},"\u002Finternet-applications\u002Fpresentations\u002F10-association-assignment-and-security\u002F01-association-assignment-and-public-profiles",{"path":1876,"title":1021,"order":723,"module":719,"status":702},"\u002Finternet-applications\u002Fpresentations\u002F10-association-assignment-and-security\u002F02-reusable-csrf-protection",{"path":1878,"title":1024,"order":695,"module":795,"status":702},"\u002Finternet-applications\u002Fsyllabus\u002Fsummer-2026",{"path":1880,"title":1881,"order":1882,"module":719,"status":763},"\u002Finternet-applications\u002Fworksheets\u002Ffinal-project-submission-worksheet","Final Project Submission Worksheet","110",{"path":1884,"title":1885,"order":1886,"module":755,"status":763},"\u002Finternet-applications\u002Fworksheets\u002Flegacy-milestone-01-worksheet","Legacy Milestone 1 Worksheet","118",{"path":1888,"title":1889,"order":1890,"module":755,"status":763},"\u002Finternet-applications\u002Fworksheets\u002Flegacy-multi-dimension-php-problems-worksheet","Legacy Multi-Dimension PHP Problems Worksheet","119",{"path":1892,"title":1893,"order":1882,"module":755,"status":763},"\u002Finternet-applications\u002Fworksheets\u002Fmilestone-01-account-access-and-profile-worksheet","IT202 Milestone 1 - 2026",{"path":1895,"title":1896,"order":1897,"module":841,"status":763},"\u002Finternet-applications\u002Fworksheets\u002Fmilestone-02-api-data-and-crud-worksheet","IT202 Milestone 2 - 2026","120",{"path":1899,"title":1900,"order":1901,"module":847,"status":763},"\u002Finternet-applications\u002Fworksheets\u002Fmilestone-03-user-associations-worksheet","IT202 Milestone 3 - 2026","130",{"path":1903,"title":1904,"order":719,"module":695,"status":763},"\u002Finternet-applications\u002Fworksheets\u002Fmodule-01-git-and-local-server-worksheet","Module 1 Worksheet: Git, GitHub, And Local Server Evidence",{"path":1906,"title":1907,"order":723,"module":14,"status":763},"\u002Finternet-applications\u002Fworksheets\u002Fmodule-02-php-and-debugging-worksheet","Module 2 Worksheet: PHP Challenge Scenarios",{"path":1909,"title":1910,"order":697,"module":137,"status":763},"\u002Finternet-applications\u002Fworksheets\u002Fmodule-03-forms-css-and-dom-worksheet","Module 3 Worksheet: HTML, CSS, JS Challenges",{"path":1912,"title":1913,"order":878,"module":739,"status":763},"\u002Finternet-applications\u002Fworksheets\u002Fmodule-04-database-auth-and-sessions-worksheet","Module 4 Worksheet: SQL Todo Challenge",{"path":1915,"title":1916,"order":898,"module":684,"status":763},"\u002Finternet-applications\u002Fworksheets\u002Fmodule-05-validation-and-debugging-worksheet","Module 5 Worksheet: Validation And Debugging Evidence",{"path":1918,"title":1919,"order":902,"module":755,"status":763},"\u002Finternet-applications\u002Fworksheets\u002Fmodule-06-authorization-and-crud-worksheet","Module 6 Worksheet: Authorization And CRUD Evidence",{"path":1921,"title":1922,"order":1923,"module":755,"status":763},"\u002Finternet-applications\u002Fworksheets\u002Fmodule-06-multi-dimensional-php-arrays-worksheet","Module 06 Worksheet: Multi-Dimensional PHP Arrays","62",{"path":1925,"title":1926,"order":805,"module":759,"status":763},"\u002Finternet-applications\u002Fworksheets\u002Fmodule-07-api-testing-worksheet","Module 07 Worksheet: Project API Testing",{"path":1928,"title":1929,"order":935,"module":841,"status":763},"\u002Finternet-applications\u002Fworksheets\u002Fmodule-08-jquery-and-dynamic-ui-worksheet","Module 8 Worksheet: jQuery And Dynamic UI Evidence",{"path":1931,"title":1932,"order":939,"module":847,"status":763},"\u002Finternet-applications\u002Fworksheets\u002Fmodule-09-search-pagination-and-summary-worksheet","Module 9 Worksheet: Search, Pagination, And Summary Evidence",{"path":1934,"title":1935,"order":943,"module":719,"status":763},"\u002Finternet-applications\u002Fworksheets\u002Fmodule-10-final-project-readiness-worksheet","Module 10 Worksheet: Final Project Readiness Evidence",{"path":1937,"title":1938,"order":902,"module":695,"status":763},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F01-module-1-course-setup\u002F06-java-environment-setup","IT114 Java Environment Setup",{"path":1940,"title":1941,"order":719,"module":14,"status":702},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F02-module-2-java-basics\u002F01-java-basics","Java Basics",{"path":1943,"title":1944,"order":723,"module":14,"status":702},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F02-module-2-java-basics\u002F02-flow-control","Java Flow Control",{"path":1946,"title":1947,"order":697,"module":14,"status":702},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F02-module-2-java-basics\u002F03-loops","Java Loops",{"path":1949,"title":1950,"order":878,"module":14,"status":702},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F02-module-2-java-basics\u002F04-collections","Java Arrays, Queue, Stack, ArrayList",{"path":1952,"title":1953,"order":719,"module":137,"status":702},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F03-module-3-java-io-and-oop\u002F01-user-input","Java User Input",{"path":1955,"title":1956,"order":723,"module":137,"status":702},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F03-module-3-java-io-and-oop\u002F02-oop-modifiers","Java Intro to OOP - Modifiers",{"path":1958,"title":1959,"order":697,"module":137,"status":702},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F03-module-3-java-io-and-oop\u002F03-file-io","Java File I\u002FO",{"path":1961,"title":1962,"order":878,"module":137,"status":702},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F03-module-3-java-io-and-oop\u002F04-recursion-trees","Java Recursion and Trees",{"path":1964,"title":1965,"order":719,"module":739,"status":702},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F04-module-4-sockets-and-oop\u002F01-sockets-overview","Java Sockets: Overview",{"path":1967,"title":1968,"order":723,"module":739,"status":702},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F04-module-4-sockets-and-oop\u002F02-oop-intermediate","Java OOP Intermediate",{"path":1970,"title":1971,"order":697,"module":739,"status":702},"\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":1973,"title":1974,"order":878,"module":739,"status":702},"\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":1976,"title":1977,"order":723,"module":755,"status":702},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F06-module-6-milestone-2-prep\u002F02-prepare-milestone-2-2026","Preparing the Java Project Framework",{"path":1979,"title":1980,"order":719,"module":759,"status":702},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F06-module-6-milestone-2-prep\u002F03-gameserver-ready-check","GameServer: Ready Check",{"path":1982,"title":1983,"order":719,"module":759,"status":763},"\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":1985,"title":1986,"order":723,"module":759,"status":763},"\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":1988,"title":1989,"order":697,"module":759,"status":763},"\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":1991,"title":1992,"order":878,"module":759,"status":763},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F07-module-7-game-rooms-and-turns\u002F04-simultaneous-turns","Java Advanced Programming Milestone 2: Simultaneous Turns",{"path":1994,"title":1995,"order":898,"module":759,"status":763},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F07-module-7-game-rooms-and-turns\u002F05-individual-turns","Java Advanced Programming Milestone 2: Individual Turns",{"path":1997,"title":1998,"order":719,"module":841,"status":763},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F08-module-8-grids-cards-and-ui\u002F01-grid-integration","Java Advanced Programming Milestone 2: Grid Integration",{"path":2000,"title":2001,"order":723,"module":841,"status":763},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F08-module-8-grids-cards-and-ui\u002F02-card-integration","Java Advanced Programming Milestone 2: Cards Integration",{"path":2003,"title":2004,"order":697,"module":841,"status":763},"\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":2006,"title":2007,"order":878,"module":841,"status":763},"\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":2009,"title":2010,"order":898,"module":841,"status":763},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F08-module-8-grids-cards-and-ui\u002F05-java-ui-intro","Java Advanced Programming Java UI 2025",{"path":2012,"title":2013,"order":719,"module":847,"status":763},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F09-module-9-ui-integration\u002F01-ui-integration-2026","UI Integration 2026",{"path":2015,"title":2016,"order":723,"module":847,"status":763},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F09-module-9-ui-integration\u002F02-ui-drawing","UI Drawing",{"path":2018,"title":2019,"order":697,"module":847,"status":763},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F09-module-9-ui-integration\u002F03-baseline-ui-integration","Baseline UI Integration",{"path":2021,"title":2022,"order":878,"module":847,"status":763},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F09-module-9-ui-integration\u002F04-ndff-ui-integration","NDFF UI Integration",{"path":2024,"title":2025,"order":898,"module":847,"status":763},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F09-module-9-ui-integration\u002F05-equals-6-ui","Equals 6 UI",{"path":2027,"title":2028,"order":902,"module":847,"status":763},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F09-module-9-ui-integration\u002F06-popularity-mini-project","Popularity Mini Project",{"path":2030,"title":2031,"order":719,"module":719,"status":763},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F10-module-10-wrap-up-and-deployment\u002F01-milestone-3-wrapup","Milestone 3 Wrapup",{"path":2033,"title":2034,"order":723,"module":719,"status":763},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F10-module-10-wrap-up-and-deployment\u002F02-deploying-java-apps","Deploying Java Apps",{"path":2036,"title":2037,"order":697,"module":719,"status":763},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F10-module-10-wrap-up-and-deployment\u002F03-ndff-away-spectator","NDFF Away Spectator",{"path":2039,"title":2040,"order":841,"module":755,"status":702},"\u002Fjava-advanced-programming\u002F2e\u002Fprojects\u002Fbattleship","Battleship Project",{"path":2042,"title":2043,"order":684,"module":755,"status":702},"\u002Fjava-advanced-programming\u002F2e\u002Fprojects\u002Fdrawing","Drawing Project",{"path":2045,"title":2046,"order":137,"module":755,"status":702},"\u002Fjava-advanced-programming\u002F2e\u002Fprojects\u002Fgo-fish","Go Fish Project",{"path":2048,"title":2049,"order":739,"module":755,"status":702},"\u002Fjava-advanced-programming\u002F2e\u002Fprojects\u002Fhangman","Hangman Project",{"path":2051,"title":2052,"order":695,"module":755,"status":702},"\u002Fjava-advanced-programming\u002F2e\u002Fprojects","IT114 Project Choices",{"path":2054,"title":2055,"order":755,"module":755,"status":702},"\u002Fjava-advanced-programming\u002F2e\u002Fprojects\u002Frock-paper-scissors","Rock Paper Scissors Project",{"path":2057,"title":2058,"order":14,"module":755,"status":702},"\u002Fjava-advanced-programming\u002F2e\u002Fprojects\u002Fshared-requirements","IT114 Shared Project Requirements",{"path":2060,"title":2061,"order":759,"module":755,"status":702},"\u002Fjava-advanced-programming\u002F2e\u002Fprojects\u002Ftrivia","Trivia Project",{"path":2063,"title":2064,"order":695,"module":795,"status":702},"\u002Fjava-advanced-programming\u002F2e\u002Fsyllabus\u002Ffall-2026","IT114 - Advanced Programming for Information Technology",{"path":2066,"title":1027,"order":719,"module":695,"status":702},"\u002Fjava-advanced-programming\u002F2e\u002Fworksheets\u002Fmodule-01-getting-started",{"path":2068,"title":2069,"order":723,"module":14,"status":702},"\u002Fjava-advanced-programming\u002F2e\u002Fworksheets\u002Fmodule-02-java-challenges","Module 2 Java Challenges",{"path":2071,"title":2072,"order":719,"module":695,"status":763},"\u002Fjava-advanced-programming\u002Fbook\u002Fmodules\u002F01-course-setup-and-workflow\u002F01-course-tools-and-workflow","Course Tools And Workflow",{"path":2074,"title":2075,"order":723,"module":695,"status":763},"\u002Fjava-advanced-programming\u002Fbook\u002Fmodules\u002F01-course-setup-and-workflow\u002F02-terminal-git-and-github","Terminal, Git, And GitHub Basics",{"path":2077,"title":2078,"order":697,"module":695,"status":763},"\u002Fjava-advanced-programming\u002Fbook\u002Fmodules\u002F01-course-setup-and-workflow\u002F03-java-development-environment","Java Development Environment",{"path":2080,"title":2081,"order":719,"module":14,"status":763},"\u002Fjava-advanced-programming\u002Fbook\u002Fmodules\u002F02-java-basics\u002F01-java-program-shape","The Shape Of A Java Program",{"path":2083,"title":2084,"order":723,"module":14,"status":763},"\u002Fjava-advanced-programming\u002Fbook\u002Fmodules\u002F02-java-basics\u002F02-values-types-and-expressions","Values, Types, And Expressions",{"path":2086,"title":2087,"order":697,"module":14,"status":763},"\u002Fjava-advanced-programming\u002Fbook\u002Fmodules\u002F02-java-basics\u002F03-conditions-loops-and-collections","Conditions, Loops, And Collections",{"path":2089,"title":2090,"order":719,"module":137,"status":763},"\u002Fjava-advanced-programming\u002Fbook\u002Fmodules\u002F03-java-input-io-and-oop\u002F01-user-input-and-output","User Input And Program Output",{"path":2092,"title":2093,"order":723,"module":137,"status":763},"\u002Fjava-advanced-programming\u002Fbook\u002Fmodules\u002F03-java-input-io-and-oop\u002F02-classes-objects-and-modifiers","Classes, Objects, And Modifiers",{"path":2095,"title":2096,"order":697,"module":137,"status":763},"\u002Fjava-advanced-programming\u002Fbook\u002Fmodules\u002F03-java-input-io-and-oop\u002F03-file-io-paths-and-exceptions","File I\u002FO, Paths, And Exceptions",{"path":2098,"title":2099,"order":878,"module":137,"status":763},"\u002Fjava-advanced-programming\u002Fbook\u002Fmodules\u002F03-java-input-io-and-oop\u002F04-recursion-and-trees","Recursion And Tree Thinking",{"path":2101,"title":2102,"order":719,"module":739,"status":763},"\u002Fjava-advanced-programming\u002Fbook\u002Fmodules\u002F04-sockets-and-oop\u002F01-sockets-client-server","Sockets And Client\u002FServer Thinking",{"path":2104,"title":2105,"order":723,"module":739,"status":763},"\u002Fjava-advanced-programming\u002Fbook\u002Fmodules\u002F04-sockets-and-oop\u002F02-server-socket-flow","The ServerSocket Flow",{"path":2107,"title":2108,"order":697,"module":739,"status":763},"\u002Fjava-advanced-programming\u002Fbook\u002Fmodules\u002F04-sockets-and-oop\u002F03-oop-for-socket-apps","OOP For Socket Applications",{"path":2110,"title":2111,"order":719,"module":684,"status":763},"\u002Fjava-advanced-programming\u002Fbook\u002Fmodules\u002F05-multi-client-sockets\u002F01-multi-client-server-shape","Multi-Client Server Shape",{"path":2113,"title":2114,"order":723,"module":684,"status":763},"\u002Fjava-advanced-programming\u002Fbook\u002Fmodules\u002F05-multi-client-sockets\u002F02-threads-shared-state-and-message-routing","Threads, Shared State, And Message Routing",{"path":2116,"title":2117,"order":697,"module":684,"status":763},"\u002Fjava-advanced-programming\u002Fbook\u002Fmodules\u002F05-multi-client-sockets\u002F03-debugging-socket-programs","Debugging Socket Programs",{"path":2119,"title":2120,"order":795,"module":795,"status":763},"\u002Fjava-advanced-programming\u002Fbook\u002Ftoc","Java Advanced Programming: Table of Contents",{"path":2122,"title":2123,"order":681,"module":681,"status":763},"\u002Fjava-advanced-programming\u002Fpresentations-revised\u002F00-revision-plan","Java Advanced Programming Revision Plan - Superseded Historical Baseline",{"path":2125,"title":2126,"order":681,"module":681,"status":763},"\u002Fjava-advanced-programming\u002Fpresentations-revised\u002F01-20-minute-recording-plan","Java Advanced Programming Recording Plan - Superseded Historical Baseline",{"path":2128,"title":1800,"order":719,"module":695,"status":763},"\u002Fjava-advanced-programming\u002Fpresentations\u002F01-module-1-course-setup\u002F01-basic-cli-commands",{"path":2130,"title":1803,"order":723,"module":695,"status":763},"\u002Fjava-advanced-programming\u002Fpresentations\u002F01-module-1-course-setup\u002F02-install-git-tools",{"path":2132,"title":1806,"order":697,"module":695,"status":763},"\u002Fjava-advanced-programming\u002Fpresentations\u002F01-module-1-course-setup\u002F03-setup-github-ssh",{"path":2134,"title":1809,"order":878,"module":695,"status":763},"\u002Fjava-advanced-programming\u002Fpresentations\u002F01-module-1-course-setup\u002F04-git-commands-prs",{"path":2136,"title":2137,"order":898,"module":695,"status":763},"\u002Fjava-advanced-programming\u002Fpresentations\u002F01-module-1-course-setup\u002F05-course-repo-setup","Course Repository Setup",{"path":2139,"title":2140,"order":902,"module":695,"status":763},"\u002Fjava-advanced-programming\u002Fpresentations\u002F01-module-1-course-setup\u002F06-java-environment-setup","Java Development Environment Setup",{"path":2142,"title":1941,"order":719,"module":14,"status":763},"\u002Fjava-advanced-programming\u002Fpresentations\u002F02-module-2-java-basics\u002F01-java-basics",{"path":2144,"title":1944,"order":723,"module":14,"status":763},"\u002Fjava-advanced-programming\u002Fpresentations\u002F02-module-2-java-basics\u002F02-flow-control",{"path":2146,"title":1947,"order":697,"module":14,"status":763},"\u002Fjava-advanced-programming\u002Fpresentations\u002F02-module-2-java-basics\u002F03-loops",{"path":2148,"title":1950,"order":878,"module":14,"status":763},"\u002Fjava-advanced-programming\u002Fpresentations\u002F02-module-2-java-basics\u002F04-collections",{"path":2150,"title":1953,"order":719,"module":137,"status":763},"\u002Fjava-advanced-programming\u002Fpresentations\u002F03-module-3-java-io-and-oop\u002F01-user-input",{"path":2152,"title":1956,"order":723,"module":137,"status":763},"\u002Fjava-advanced-programming\u002Fpresentations\u002F03-module-3-java-io-and-oop\u002F02-oop-modifiers",{"path":2154,"title":1959,"order":697,"module":137,"status":763},"\u002Fjava-advanced-programming\u002Fpresentations\u002F03-module-3-java-io-and-oop\u002F03-file-io",{"path":2156,"title":1962,"order":878,"module":137,"status":763},"\u002Fjava-advanced-programming\u002Fpresentations\u002F03-module-3-java-io-and-oop\u002F04-recursion-trees",{"path":2158,"title":1965,"order":719,"module":739,"status":763},"\u002Fjava-advanced-programming\u002Fpresentations\u002F04-module-4-sockets-and-oop\u002F01-sockets-overview",{"path":2160,"title":1968,"order":723,"module":739,"status":763},"\u002Fjava-advanced-programming\u002Fpresentations\u002F04-module-4-sockets-and-oop\u002F02-oop-intermediate",{"path":2162,"title":1971,"order":697,"module":739,"status":763},"\u002Fjava-advanced-programming\u002Fpresentations\u002F04-module-4-sockets-and-oop\u002F03-multi-client-chat-part-1",{"path":2164,"title":1974,"order":719,"module":684,"status":763},"\u002Fjava-advanced-programming\u002Fpresentations\u002F05-module-5-multi-client-sockets\u002F01-multi-client-chat-part-2",{"path":2166,"title":2167,"order":719,"module":755,"status":763},"\u002Fjava-advanced-programming\u002Fpresentations\u002F06-module-6-milestone-2-prep\u002F01-prepare-milestone-2-2025","Java Advanced Programming Preparing for Milestone2 2025",{"path":2169,"title":2170,"order":723,"module":755,"status":763},"\u002Fjava-advanced-programming\u002Fpresentations\u002F06-module-6-milestone-2-prep\u002F02-prepare-milestone-2-2026","Java Advanced Programming Preparing for Milestone 2",{"path":2172,"title":2173,"order":697,"module":755,"status":763},"\u002Fjava-advanced-programming\u002Fpresentations\u002F06-module-6-milestone-2-prep\u002F03-gameserver-ready-check","Java Advanced Programming Milestone 2: GameServer Ready Check",{"path":2175,"title":1983,"order":719,"module":759,"status":763},"\u002Fjava-advanced-programming\u002Fpresentations\u002F07-module-7-game-rooms-and-turns\u002F01-game-rooms-ready-check",{"path":2177,"title":1986,"order":723,"module":759,"status":763},"\u002Fjava-advanced-programming\u002Fpresentations\u002F07-module-7-game-rooms-and-turns\u002F02-round-robin-turns",{"path":2179,"title":1989,"order":697,"module":759,"status":763},"\u002Fjava-advanced-programming\u002Fpresentations\u002F07-module-7-game-rooms-and-turns\u002F03-phase-based-turns",{"path":2181,"title":1992,"order":878,"module":759,"status":763},"\u002Fjava-advanced-programming\u002Fpresentations\u002F07-module-7-game-rooms-and-turns\u002F04-simultaneous-turns",{"path":2183,"title":1995,"order":898,"module":759,"status":763},"\u002Fjava-advanced-programming\u002Fpresentations\u002F07-module-7-game-rooms-and-turns\u002F05-individual-turns",{"path":2185,"title":1998,"order":719,"module":841,"status":763},"\u002Fjava-advanced-programming\u002Fpresentations\u002F08-module-8-grids-cards-and-ui\u002F01-grid-integration",{"path":2187,"title":2001,"order":723,"module":841,"status":763},"\u002Fjava-advanced-programming\u002Fpresentations\u002F08-module-8-grids-cards-and-ui\u002F02-card-integration",{"path":2189,"title":2004,"order":697,"module":841,"status":763},"\u002Fjava-advanced-programming\u002Fpresentations\u002F08-module-8-grids-cards-and-ui\u002F03-equals-6-mini-project",{"path":2191,"title":2007,"order":878,"module":841,"status":763},"\u002Fjava-advanced-programming\u002Fpresentations\u002F08-module-8-grids-cards-and-ui\u002F04-nice-day-for-fishin",{"path":2193,"title":2010,"order":898,"module":841,"status":763},"\u002Fjava-advanced-programming\u002Fpresentations\u002F08-module-8-grids-cards-and-ui\u002F05-java-ui-intro",{"path":2195,"title":2013,"order":719,"module":847,"status":763},"\u002Fjava-advanced-programming\u002Fpresentations\u002F09-module-9-ui-integration\u002F01-ui-integration-2026",{"path":2197,"title":2016,"order":723,"module":847,"status":763},"\u002Fjava-advanced-programming\u002Fpresentations\u002F09-module-9-ui-integration\u002F02-ui-drawing",{"path":2199,"title":2019,"order":697,"module":847,"status":763},"\u002Fjava-advanced-programming\u002Fpresentations\u002F09-module-9-ui-integration\u002F03-baseline-ui-integration",{"path":2201,"title":2022,"order":878,"module":847,"status":763},"\u002Fjava-advanced-programming\u002Fpresentations\u002F09-module-9-ui-integration\u002F04-ndff-ui-integration",{"path":2203,"title":2025,"order":898,"module":847,"status":763},"\u002Fjava-advanced-programming\u002Fpresentations\u002F09-module-9-ui-integration\u002F05-equals-6-ui",{"path":2205,"title":2028,"order":902,"module":847,"status":763},"\u002Fjava-advanced-programming\u002Fpresentations\u002F09-module-9-ui-integration\u002F06-popularity-mini-project",{"path":2207,"title":2031,"order":719,"module":719,"status":763},"\u002Fjava-advanced-programming\u002Fpresentations\u002F10-module-10-wrap-up-and-deployment\u002F01-milestone-3-wrapup",{"path":2209,"title":2034,"order":723,"module":719,"status":763},"\u002Fjava-advanced-programming\u002Fpresentations\u002F10-module-10-wrap-up-and-deployment\u002F02-deploying-java-apps",{"path":2211,"title":2037,"order":697,"module":719,"status":763},"\u002Fjava-advanced-programming\u002Fpresentations\u002F10-module-10-wrap-up-and-deployment\u002F03-ndff-away-spectator",{"path":2213,"title":2214,"order":723,"module":14,"status":702},"\u002Fsystems-integration\u002F2e\u002Fpresentations\u002F01-required-architecture-overview","Required Architecture Overview",{"path":2216,"title":2217,"order":719,"module":695,"status":763},"\u002Fsystems-integration\u002F2e\u002Fpresentations\u002F02-team-workflow-and-project-evidence","Team Workflow And Project Evidence",{"path":2219,"title":2220,"order":697,"module":14,"status":702},"\u002Fsystems-integration\u002F2e\u002Fpresentations\u002F03-architecture-planning-and-vm-communication-practice","Architecture Planning And VM Communication Practice",{"path":2222,"title":2223,"order":878,"module":137,"status":763},"\u002Fsystems-integration\u002F2e\u002Fpresentations\u002F04-role-based-vm-baseline-and-centralized-logging","Role-Based VM Baseline And Logging System",{"path":2225,"title":2226,"order":898,"module":739,"status":702},"\u002Fsystems-integration\u002F2e\u002Fpresentations\u002F05-authentication-and-authorization","Authentication And Authorization Across VMs",{"path":2228,"title":2229,"order":902,"module":684,"status":702},"\u002Fsystems-integration\u002F2e\u002Fpresentations\u002F06-mvp-feature-work","MVP Feature Work",{"path":2231,"title":2232,"order":695,"module":795,"status":702},"\u002Fsystems-integration\u002F2e\u002Fsyllabus\u002Ffall-2026","IT490 - Systems Integration Syllabus",{"path":2234,"title":2235,"order":695,"module":795,"status":702},"\u002Fsystems-integration","Systems Integration",{"path":2237,"title":2238,"order":681,"module":681,"status":763},"\u002Fsystems-integration\u002Fpresentations-revised\u002F00-revision-plan","Systems Integration Revision Plan - Superseded Historical Baseline",{"path":2240,"title":2241,"order":681,"module":681,"status":763},"\u002Fsystems-integration\u002Fpresentations-revised\u002F01-20-minute-recording-plan","Systems Integration Recording Plan - Superseded Historical Baseline",{"path":2243,"title":2214,"order":719,"module":695,"status":702},"\u002Fsystems-integration\u002Fpresentations\u002F01-required-architecture-overview",{"path":2245,"title":2232,"order":695,"module":795,"status":702},"\u002Fsystems-integration\u002Fsyllabus\u002Fsummer-2026",{"path":2247,"title":2248,"order":681,"module":681,"status":681},"\u002Fsystems-integration\u002Fworksheets\u002Fit490-authentication-authorization-core-2026-draft","IT490 Authentication and Authorization Core Milestone (2026)",{"path":2250,"title":2251,"order":681,"module":681,"status":681},"\u002Fsystems-integration\u002Fworksheets\u002Fit490-centralized-logging-milestone-draft","IT490 Centralized Logging Milestone",{"path":2253,"title":2254,"order":681,"module":681,"status":681},"\u002Fsystems-integration\u002Fworksheets\u002Fit490-milestone-3-resiliency-2026-draft","IT490 Milestone 3 - Deployment, Promotion, And Recovery",{"path":2256,"title":2257,"order":681,"module":681,"status":681},"\u002Fsystems-integration\u002Fworksheets\u002Fit490-milestone-4-availability-2026-draft","IT490 Milestone 4 - Availability, Load Balancing, And Recovery",{"path":2259,"title":2260,"order":723,"module":795,"status":763},"\u002Fsystems-integration\u002Fworksheets\u002Fmeeting-minutes-template","IT490 Meeting Minutes Template",{"path":2262,"title":2263,"order":697,"module":795,"status":763},"\u002Fsystems-integration\u002Fworksheets\u002Fproject-changelog-template","IT490 Project Change Log Template",{"path":2265,"title":2266,"order":719,"module":795,"status":763},"\u002Fsystems-integration\u002Fworksheets\u002Fproject-proposal-template","IT490 Project Proposal Template",1793199208288]