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