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