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