[{"data":1,"prerenderedAt":3545},["ShallowReactive",2],{"content-page:\u002Finternet-applications\u002Fsyllabus\u002Fsummer-2026":3,"content-page-quiz:none":1210,"content-navigation-index":1231,"toc-page:\u002Finternet-applications\u002Fsyllabus\u002Fsummer-2026":2709},{"id":4,"title":5,"audience":6,"body":7,"contentType":1208,"course":46,"description":1209,"estimateBasis":1210,"estimatedDiscussionMinutes":1210,"estimatedLiveMinutes":1210,"estimatedTotalMinutes":1210,"extension":1211,"meta":1212,"module":1214,"navigation":1215,"order":1216,"path":1217,"presentationRole":1218,"promptAssist":1219,"revision":1210,"semester":70,"seo":1220,"status":1221,"stem":1222,"syllabus":1210,"tags":1223,"updated":1210,"videoDuration":1226,"videoId":1227,"videoLink":1228,"videoTitle":1229,"week":1214,"__hash__":1230},"content\u002Finternet-applications\u002Fsyllabus\u002Fsummer-2026.md","IT202 - Internet Applications Syllabus","student",{"type":8,"value":9,"toc":1170},"minimark",[10,14,19,122,126,153,157,177,181,185,188,191,195,216,219,223,226,248,251,288,292,295,298,301,304,307,311,314,459,463,466,569,574,577,580,584,587,590,593,597,600,603,606,609,613,616,619,622,626,629,632,636,704,707,711,714,718,796,800,803,806,836,839,881,884,893,897,900,960,964,967,993,997,1001,1004,1007,1011,1014,1017,1026,1033,1037,1040,1043,1060,1063,1077,1086,1090,1099,1103,1106,1115,1119,1122,1125,1129,1132,1136,1139,1142,1145,1153,1157,1160,1163,1167],[11,12,5],"h1",{"id":13},"it202-internet-applications-syllabus",[15,16,18],"h2",{"id":17},"general-information","General Information",[20,21,22,35],"table",{},[23,24,25],"thead",{},[26,27,28,32],"tr",{},[29,30,31],"th",{},"Item",[29,33,34],{},"Details",[36,37,38,47,55,63,71,79,87,95,107,115],"tbody",{},[26,39,40,44],{},[41,42,43],"td",{},"Course",[41,45,46],{},"Internet Applications",[26,48,49,52],{},[41,50,51],{},"Catalog number",[41,53,54],{},"IT202",[26,56,57,60],{},[41,58,59],{},"Section(s)",[41,61,62],{},"450",[26,64,65,68],{},[41,66,67],{},"Semester",[41,69,70],{},"Summer 2026",[26,72,73,76],{},[41,74,75],{},"Modality",[41,77,78],{},"Online Async",[26,80,81,84],{},[41,82,83],{},"Credits",[41,85,86],{},"3",[26,88,89,92],{},[41,90,91],{},"Instructor",[41,93,94],{},"Matt Toegel",[26,96,97,100],{},[41,98,99],{},"Email",[41,101,102],{},[103,104,106],"a",{"href":105},"mailto:matthew.toegel@njit.edu","matthew.toegel@njit.edu",[26,108,109,112],{},[41,110,111],{},"Discord",[41,113,114],{},"MattToegel",[26,116,117,120],{},[41,118,119],{},"GitHub",[41,121,114],{},[15,123,125],{"id":124},"meeting-times","Meeting Times",[20,127,128,141],{},[23,129,130],{},[26,131,132,135,138],{},[29,133,134],{},"Section",[29,136,137],{},"Time",[29,139,140],{},"Location",[36,142,143],{},[26,144,145,147,150],{},[41,146,62],{},[41,148,149],{},"N\u002FA",[41,151,152],{},"Online",[15,154,156],{"id":155},"office-hours","Office Hours",[20,158,159,167],{},[23,160,161],{},[26,162,163,165],{},[29,164,137],{},[29,166,140],{},[36,168,169],{},[26,170,171,174],{},[41,172,173],{},"General Availability",[41,175,176],{},"Discord\u002FEmail",[178,179,180],"p",{},"General availability is also provided on Discord through the course communication channel.",[15,182,184],{"id":183},"overview","Overview",[178,186,187],{},"Internet Applications discusses the concepts and implementation of web applications across the frontend, backend, and data layers. Topics include markup and styling with HTML and CSS, client-side scripting with JavaScript and jQuery, asynchronous requests with AJAX-style workflows, server-side scripting with PHP running on Apache, and persistent data storage with MySQL.",[178,189,190],{},"This course is heavily hands-on and uses a milestone approach for a semester-long project. Students will use Git and GitHub throughout the semester to record work, practice professional development workflows, and submit assignment evidence through Canvas.",[15,192,194],{"id":193},"catalog-description","Catalog Description",[178,196,197,198,204,205,204,210,215],{},"Prerequisites: ",[103,199,203],{"href":200,"rel":201},"https:\u002F\u002Fcatalog.njit.edu\u002Fsearch\u002F?P=CS%20100",[202],"nofollow","CS 100",", ",[103,206,209],{"href":207,"rel":208},"https:\u002F\u002Fcatalog.njit.edu\u002Fsearch\u002F?P=CS%20113",[202],"CS 113",[103,211,214],{"href":212,"rel":213},"https:\u002F\u002Fcatalog.njit.edu\u002Fsearch\u002F?P=CS%20115",[202],"CS 115",", or a course in a high-level programming language as approved by the department.",[178,217,218],{},"This course presents the concepts and software technologies that underlie web-oriented, three-tier software architectures and applications. Topics include markup languages used by browsers, client-side scripting languages and libraries, web servers, server-side scripting languages, HTTP, SQL, and MySQL. The course uses a hands-on, guided development approach with substantial assignments to illustrate the core systems and technologies and provide direct experience in their use.",[15,220,222],{"id":221},"expected-background","Expected Background",[178,224,225],{},"Prior web development experience is helpful but not required. Students are expected to have a reasonable computing background and should be willing to practice:",[227,228,229,233,236,239,242,245],"ul",{},[230,231,232],"li",{},"File and folder navigation",[230,234,235],{},"Command line usage",[230,237,238],{},"Installing software",[230,240,241],{},"Editing text files",[230,243,244],{},"Reading error messages",[230,246,247],{},"Following structured setup instructions",[178,249,250],{},"If these topics are new, review these resources early:",[227,252,253,260,267,274,281],{},[230,254,255],{},[103,256,259],{"href":257,"rel":258},"https:\u002F\u002Fedu.gcfglobal.org\u002Fen\u002Fbasic-computer-skills\u002F",[202],"GCFGlobal: Basic Computer Skills",[230,261,262],{},[103,263,266],{"href":264,"rel":265},"https:\u002F\u002Fwww.codecademy.com\u002Flearn\u002Foperating-systems-filesystems",[202],"Operating Systems: Filesystems",[230,268,269],{},[103,270,273],{"href":271,"rel":272},"https:\u002F\u002Fcode.visualstudio.com\u002Fdocs\u002Fintrovideos\u002Fbasics",[202],"Visual Studio Code: Getting Started",[230,275,276],{},[103,277,280],{"href":278,"rel":279},"https:\u002F\u002Fwww.simplilearn.com\u002Fwhat-is-client-server-architecture-article",[202],"Client-Server Architecture Overview",[230,282,283],{},[103,284,287],{"href":285,"rel":286},"https:\u002F\u002Fwww.amazon.com\u002FDebugging-Indispensable-Software-Hardware-Problems\u002Fdp\u002F0814474578",[202],"Debugging: The 9 Indispensable Rules",[15,289,291],{"id":290},"course-format","Course Format",[178,293,294],{},"Class will be asynchronous. Content will be broken down into Modules where a Module typically starts on Monday 12am and ends on Sunday 11:59pm.",[178,296,297],{},"Modules will include presentations with recorded lectures, assignments, readings, and quizzes about a specific set of topics.",[178,299,300],{},"Students are strongly encouraged to ask questions via the noted communication channels in this syllabus. Many course problems are easier to fix early, especially setup, Git, deployment, database, and project structure issues.",[178,302,303],{},"It's recommended to reach out over Discord\u002FEmail or Canvas Inbox as a backup rather than using Canvas Comments. Canvas Comments should be used for things that are ok being seen when grading occurs, but if there's a more immediate issue\u002Fquestion, one of the other means of communication are faster.",[178,305,306],{},"Exams will require Respondus Lockdown Browser with Webcam capabilities. Students should make sure Respondus works on at least one device that can meet the exam needs.",[15,308,310],{"id":309},"learning-outcomes","Learning Outcomes",[178,312,313],{},"By the end of the course, students should be able to:",[315,316,317,334,351,362,388,414,417,431,442],"ol",{},[230,318,319,320],{},"Use PHP as a general-purpose programming language.",[227,321,322,325,328,331],{},[230,323,324],{},"Install and run PHP.",[230,326,327],{},"Design an algorithm to solve a problem.",[230,329,330],{},"Write and run PHP scripts.",[230,332,333],{},"Follow standard conventions for software development.",[230,335,336,337],{},"Use PHP to handle user interactions and backend logic on a running web server.",[227,338,339,342,345,348],{},[230,340,341],{},"Run the built-in PHP web server for local development and testing.",[230,343,344],{},"Run course projects on a publicly accessible web host such as Render.com.",[230,346,347],{},"Use any approved host that supports Apache or Apache-like web hosting.",[230,349,350],{},"Connect PHP to MySQL to invoke SQL CRUD operations.",[230,352,353,354],{},"Use CSS to apply styles and theming to web pages.",[227,355,356,359],{},[230,357,358],{},"Use CSS libraries and frameworks such as Bootstrap 5.",[230,360,361],{},"Make mobile-friendly and cross-platform designs.",[230,363,364,365],{},"Structure and lay out pages with HTML tags and semantics.",[227,366,367,370,373,376],{},[230,368,369],{},"Structure valid HTML specification documents.",[230,371,372],{},"Combine language content into the same document.",[230,374,375],{},"Determine which languages will be interpreted based on the file extension.",[230,377,378,379,383,384,387],{},"Reference other files with ",[380,381,382],"code",{},"include"," or ",[380,385,386],{},"require",".",[230,389,390,391],{},"Use MySQL for persistent data storage and retrieval.",[227,392,393,396,399,402,405,408,411],{},[230,394,395],{},"Remotely connect to a MySQL instance through an IDE, development tools, and the hosting platform.",[230,397,398],{},"Construct SQL queries to create tables.",[230,400,401],{},"Construct SQL queries to read data from tables.",[230,403,404],{},"Construct complex SQL queries such as joins.",[230,406,407],{},"Construct SQL queries to add rows or records to tables.",[230,409,410],{},"Construct SQL queries to update rows or records in tables.",[230,412,413],{},"Construct SQL queries to delete rows or records from tables.",[230,415,416],{},"Modularize code into reusable components to aid development.",[230,418,419,420],{},"Problem solve and debug.",[227,421,422,425,428],{},[230,423,424],{},"Use error output, logs, and other debugging techniques.",[230,426,427],{},"Formulate code to solve complex problems.",[230,429,430],{},"Analyze, interpret, and integrate course-provided code.",[230,432,433,434],{},"Use version control.",[227,435,436,439],{},[230,437,438],{},"Use Git commands through the terminal or command line.",[230,440,441],{},"Use GitHub to manage histories of course work.",[230,443,444,445],{},"Gain experience with a milestone approach to building a complex project.",[227,446,447,450,453,456],{},[230,448,449],{},"Incrementally develop a large project in a sprint-like structure based on provided guidelines.",[230,451,452],{},"Extend existing code to add new features.",[230,454,455],{},"Add new files to solve requirements.",[230,457,458],{},"Leverage course concepts effectively.",[15,460,462],{"id":461},"illustrative-schedule","Illustrative Schedule",[178,464,465],{},"The schedule is a guideline and may change based on class pace, project needs, and troubleshooting needs. Some modules may span more than one week.",[467,468,470],"data-table",{"variant":469},"schedule",[20,471,472,482],{},[23,473,474],{},[26,475,476,479],{},[29,477,478],{},"Module",[29,480,481],{},"Topics",[36,483,484,492,500,508,521,529,537,545,553,561],{},[26,485,486,489],{},[41,487,488],{},"Module 1",[41,490,491],{},"Overview\u002FIntroduction of Course, environment setup, Git\u002FGitHub intro",[26,493,494,497],{},[41,495,496],{},"Module 2",[41,498,499],{},"PHP and JavaScript intro, data types, flow control, loops and iterations",[26,501,502,505],{},[41,503,504],{},"Module 3",[41,506,507],{},"HTML intro, forms, JavaScript\u002FCSS selectors",[26,509,510,513],{},[41,511,512],{},"Module 4",[41,514,515,516],{},"SQL basics, project and SQL setup, user authorization registration, navigation with dynamic state changes, user authorization login, PHP templating \u002F conditional HTML concepts, project data source chosen from ",[103,517,520],{"href":518,"rel":519},"https:\u002F\u002Frapidapi.com\u002F",[202],"RapidAPI.com",[26,522,523,526],{},[41,524,525],{},"Module 5",[41,527,528],{},"Regex intro, flash messages and user feedback, alternative login username, user profiles, midterm",[26,530,531,534],{},[41,532,533],{},"Module 6",[41,535,536],{},"Authorization user roles, login enhancement, dynamic content and data-driven development, project milestone 1 introduced",[26,538,539,542],{},[41,540,541],{},"Module 7",[41,543,544],{},"Ajax intro, Bootstrap, reusability, working with APIs",[26,546,547,550],{},[41,548,549],{},"Module 8",[41,551,552],{},"jQuery intro and comparison, using API data via PHP, CRUD operations of core project data, API data, custom user-entered data, project milestone 2 introduced",[26,554,555,558],{},[41,556,557],{},"Module 9",[41,559,560],{},"Entity associations between API\u002Fcustom data and users, milestone 3 concepts, project milestone 3 introduced",[26,562,563,566],{},[41,564,565],{},"Module 10",[41,567,568],{},"Other data associations and analytics, public user profiles, automatic fetching\u002Frefreshing of API data, continued milestone 3 concepts, final project wrap-up",[570,571,573],"h3",{"id":572},"schedule-notes","Schedule Notes",[178,575,576],{},"Although some modules aim to isolate certain concepts, due to the full-stack nature of the course there will commonly be usage of most of the noted programming languages in later modules.",[178,578,579],{},"When applicable, security and best practices will be discussed in each module.",[15,581,583],{"id":582},"assignments","Assignments",[178,585,586],{},"Each week there will be coding samples, guided practice, worksheets, labs, quizzes, or project work related to the current module. Additional online resources and recordings will be available through Canvas to support your learning.",[178,588,589],{},"Canvas is the main hub for mapping course content, deadlines, assignment instructions, quizzes, and submission requirements. The Learn Courses Platform may be used for assignment evidence gathering, structured worksheet output, or course-specific workflow support when directed.",[178,591,592],{},"Assignments are generally graded out of 10 points unless otherwise noted.",[15,594,596],{"id":595},"semester-long-project","Semester-Long Project",[178,598,599],{},"There will be a semester-long project that each student will incrementally develop as new topics are learned. A set of requirements and objectives will be given through a proposal document at the start of the semester.",[178,601,602],{},"The project will be based on an agreed-upon proposal and will cover the material discussed in class. During the semester, there will be milestone deliverables for groups of features from the project. These milestones will cover the gist of the features; there commonly is some time between the last milestone and the final demo or deliverable where the remaining features can be implemented or cleaned up.",[178,604,605],{},"Milestones are graded out of 10 points.",[178,607,608],{},"Students are expected to use the course material and structure to work on the project because this aids learning, debugging, and grading, and it provides helpful perspective for anyone already familiar with a particular design or structure.",[15,610,612],{"id":611},"quizzes","Quizzes",[178,614,615],{},"There will be weekly online quizzes that test the current module's topics. These will be taken through Canvas by the designated due date, typically the following Monday night of the particular module unless Canvas states otherwise.",[178,617,618],{},"Each quiz requires a passphrase, generally has one attempt unless otherwise noted, and will generally be capped at 10 minutes. Scoring is out of 10 points.",[178,620,621],{},"These are expected to be closed notes and taken individually. Part of the goal is to highlight the topics that require extra review or study because they will come up again in the semester.",[15,623,625],{"id":624},"exams","Exams",[178,627,628],{},"The midterm will use Respondus, so be sure to have a compatible device available on the day of the assessment. The midterm will cover the material from modules one to four. The exam will be closed book unless the instructor announces a different arrangement.",[178,630,631],{},"The exam is graded out of 100 points.",[15,633,635],{"id":634},"grading-breakdown","Grading Breakdown",[20,637,638,649],{},[23,639,640],{},[26,641,642,645],{},[29,643,644],{},"Category",[29,646,648],{"align":647},"right","Weight",[36,650,651,659,666,674,681,689,696],{},[26,652,653,656],{},[41,654,655],{},"Midterm",[41,657,658],{"align":647},"20%",[26,660,661,663],{},[41,662,612],{},[41,664,665],{"align":647},"15%",[26,667,668,671],{},[41,669,670],{},"Participation\u002FAttendance",[41,672,673],{"align":647},"5%",[26,675,676,678],{},[41,677,583],{},[41,679,680],{"align":647},"10%",[26,682,683,686],{},[41,684,685],{},"Milestones 1-2",[41,687,688],{"align":647},"25%",[26,690,691,694],{},[41,692,693],{},"Final Project Deliverable",[41,695,688],{"align":647},[26,697,698,701],{},[41,699,700],{},"Final Demo",[41,702,703],{"align":647},"Included in final project deliverable",[178,705,706],{},"All points will be converted to a final percentage and letter grade at the end of the semester. Canvas will already have the weights applied.",[15,708,710],{"id":709},"extra-credit","Extra Credit",[178,712,713],{},"Extra credit may be given for exceptional programming projects at the discretion of the instructor.",[15,715,717],{"id":716},"grading-scale","Grading Scale",[20,719,720,730],{},[23,721,722],{},[26,723,724,727],{},[29,725,726],{},"Grade",[29,728,729],{},"Percentage Range",[36,731,732,740,748,756,764,772,780,788],{},[26,733,734,737],{},[41,735,736],{},"A",[41,738,739],{},"89.5% to 100%",[26,741,742,745],{},[41,743,744],{},"B+",[41,746,747],{},"84.5% to below 89.5%",[26,749,750,753],{},[41,751,752],{},"B",[41,754,755],{},"79.5% to below 84.5%",[26,757,758,761],{},[41,759,760],{},"C+",[41,762,763],{},"74.5% to below 79.5%",[26,765,766,769],{},[41,767,768],{},"C",[41,770,771],{},"69.5% to below 74.5%",[26,773,774,777],{},[41,775,776],{},"D+",[41,778,779],{},"64.5% to below 69.5%",[26,781,782,785],{},[41,783,784],{},"D",[41,786,787],{},"59.5% to below 64.5%",[26,789,790,793],{},[41,791,792],{},"F",[41,794,795],{},"Below 59.5%",[15,797,799],{"id":798},"materials-and-technologies","Materials And Technologies",[178,801,802],{},"This course uses online resources instead of a traditional textbook. Required and recommended resources will be mapped through Canvas.",[178,804,805],{},"Common references include:",[227,807,808,815,822,829],{},[230,809,810],{},[103,811,814],{"href":812,"rel":813},"https:\u002F\u002Fwww.w3schools.com\u002Fphp\u002F",[202],"W3Schools PHP Tutorial",[230,816,817],{},[103,818,821],{"href":819,"rel":820},"https:\u002F\u002Fwww.w3schools.com\u002Fcss\u002F",[202],"W3Schools CSS Tutorial",[230,823,824],{},[103,825,828],{"href":826,"rel":827},"https:\u002F\u002Fwww.w3schools.com\u002Fjs\u002F",[202],"W3Schools JavaScript Tutorial",[230,830,831],{},[103,832,835],{"href":833,"rel":834},"https:\u002F\u002Fwww.w3schools.com\u002Fmysql\u002F",[202],"W3Schools MySQL Tutorial",[178,837,838],{},"Students will use:",[227,840,841,844,847,850,853,856,867,870,873],{},[230,842,843],{},"Canvas for official assignments, assessments, grades, and announcements",[230,845,846],{},"Learn Courses Platform for assignment evidence gathering or course workflow support when directed",[230,848,849],{},"Git and GitHub for version control and assignment evidence",[230,851,852],{},"VS Code or another suitable editor",[230,854,855],{},"PHP, Apache, and MySQL for the web application stack",[230,857,858,859],{},"Render.com to host a QA version of their content and a production version of their hosted content\n",[227,860,861,864],{},[230,862,863],{},"The QA instance is for testing and verifying that things work outside of localhost. It is a sandbox before moving to production",[230,865,866],{},"The free tier will be used on this platform",[230,868,869],{},"A remote MySQL connection provided for each student to utilize across their environments",[230,871,872],{},"A local VM path for local Apache\u002FPHP\u002FMySQL practice when assigned",[230,874,875,876],{},"A device meeting ",[103,877,880],{"href":878,"rel":879},"https:\u002F\u002Fist.njit.edu\u002Fstudent-computers-recommended-specs",[202],"YWCC minimum specifications",[178,882,883],{},"Students need administrative access to their computer to install required software.",[178,885,886,887,892],{},"This class has a ",[103,888,891],{"href":889,"rel":890},"https:\u002F\u002Fgithub.com\u002FMattToegel\u002FIT202-2026",[202],"GitHub page"," where you can find out how the course materials are built and have changed over time.",[15,894,896],{"id":895},"required-tools","Required Tools",[178,898,899],{},"The current course direction uses these tools:",[227,901,902,920,926,934,941,944,951,954,957],{},[230,903,904,204,909,914,915],{},[103,905,908],{"href":906,"rel":907},"https:\u002F\u002Fgit-scm.com\u002Fdownload\u002Fwin",[202],"Git for Windows",[103,910,913],{"href":911,"rel":912},"https:\u002F\u002Fgit-scm.com\u002Fdownload\u002Fmac",[202],"Git for macOS",", or ",[103,916,919],{"href":917,"rel":918},"https:\u002F\u002Fgit-scm.com\u002Fdownload\u002Flinux",[202],"Git for Linux",[230,921,922],{},[103,923,119],{"href":924,"rel":925},"https:\u002F\u002Fgithub.com\u002F",[202],[230,927,928,933],{},[103,929,932],{"href":930,"rel":931},"https:\u002F\u002Feducation.github.com\u002Fdiscount_requests\u002Fapplication",[202],"GitHub Education",", recommended but not required",[230,935,936],{},[103,937,940],{"href":938,"rel":939},"https:\u002F\u002Fcode.visualstudio.com\u002FDownload",[202],"VS Code",[230,942,943],{},"PHP 8.x",[230,945,946],{},[103,947,950],{"href":948,"rel":949},"https:\u002F\u002FRender.com",[202],"Render.com",[230,952,953],{},"MySQL",[230,955,956],{},"VirtualBox as the primary local VM path",[230,958,959],{},"VMware as a fallback local VM path when VirtualBox is not a good fit",[15,961,963],{"id":962},"course-workflow-expectations","Course Workflow Expectations",[178,965,966],{},"Students should expect to submit evidence that demonstrates both behavior and process:",[227,968,969,972,975,978,981,984,987,990],{},[230,970,971],{},"GitHub repository link",[230,973,974],{},"Branch or pull request evidence when requested",[230,976,977],{},"QA deployment link for screenshot and worksheet evidence",[230,979,980],{},"Production deployment link for graded deployed behavior when required",[230,982,983],{},"Screenshots or worksheet outputs when requested",[230,985,986],{},"Database evidence when requested",[230,988,989],{},"Explanation of what changed and why",[230,991,992],{},"AI collaboration disclosure when used",[15,994,996],{"id":995},"policies","Policies",[570,998,1000],{"id":999},"course-structure-and-template-use","Course Structure And Template Use",[178,1002,1003],{},"Assignments must follow the provided templates, naming conventions, repository structure, and lesson code unless the assignment explicitly allows another approach.",[178,1005,1006],{},"Submissions that replace the taught structure with unrelated generated code or unsupported frameworks may receive no credit because they cannot be fairly evaluated against the course objectives.",[570,1008,1010],{"id":1009},"academic-integrity","Academic Integrity",[178,1012,1013],{},"The work done is expected to be your own, any group work should clearly distinguish ownership of tasks. Use of snippets\u002Fmaterial from others should be kept to a minimum and the source should be accredited where applicable.",[178,1015,1016],{},"Academic Integrity is the cornerstone of higher education and is central to the ideals of this course and the university. Cheating is strictly prohibited and devalues the degree that you are working on. As a member of the NJIT community, it is your responsibility to protect your educational investment by knowing and following the academic code of integrity policy that is found at:",[227,1018,1019],{},[230,1020,1021],{},[103,1022,1025],{"href":1023,"rel":1024},"http:\u002F\u002Fwww5.njit.edu\u002Fpolicies\u002Fsites\u002Fpolicies\u002Ffiles\u002Facademic-integrity-code.pdf",[202],"NJIT Academic Integrity Code",[178,1027,1028,1029,387],{},"Please note that it is my professional obligation and responsibility to report any academic misconduct to the Dean of Students Office. Any student found in violation of the code by cheating, plagiarizing, or using any online software inappropriately will result in disciplinary action. This may include a failing grade of F, and\u002For suspension or dismissal from the university. If you have any questions about the code of Academic Integrity, please contact the Dean of Students Office at ",[103,1030,1032],{"href":1031},"mailto:dos@njit.edu","dos@njit.edu",[570,1034,1036],{"id":1035},"ai-usage-policy","AI Usage Policy",[178,1038,1039],{},"AI may be used as a support tool, but it may not replace the student's understanding, implementation, or explanation.",[178,1041,1042],{},"Acceptable AI use includes:",[227,1044,1045,1048,1051,1054,1057],{},[230,1046,1047],{},"Asking for syntax explanations",[230,1049,1050],{},"Asking for error-message explanations",[230,1052,1053],{},"Reviewing code the student wrote",[230,1055,1056],{},"Generating practice ideas",[230,1058,1059],{},"Asking for debugging strategies",[178,1061,1062],{},"Unacceptable AI use includes:",[227,1064,1065,1068,1071,1074],{},[230,1066,1067],{},"Submitting code the student cannot explain",[230,1069,1070],{},"Using AI to bypass the course template or requirements",[230,1072,1073],{},"Pasting generated full solutions",[230,1075,1076],{},"Hiding meaningful AI assistance",[178,1078,1079,1080,1085],{},"When AI is used meaningfully, it must be disclosed and cited according to the ",[103,1081,1084],{"href":1082,"rel":1083},"https:\u002F\u002Fresearchguides.njit.edu\u002FAI\u002Fcite",[202],"NJIT Library AI citation guidance",". Failure to disclose AI use within the policy may result in a zero for the assignment.",[570,1087,1089],{"id":1088},"requesting-accommodations","Requesting Accommodations",[178,1091,1092,1093,1098],{},"Students who need accommodations due to a disability should contact the ",[103,1094,1097],{"href":1095,"rel":1096},"https:\u002F\u002Fwww.njit.edu\u002Fstudentsuccess\u002Faccessibility",[202],"Office of Accessibility Resources & Services"," to discuss their needs. A Letter of Accommodation Eligibility from OARS is required before accommodations can be applied.",[570,1100,1102],{"id":1101},"resources-for-njit-students","Resources For NJIT Students",[178,1104,1105],{},"NJIT provides student services including technical support:",[227,1107,1108],{},[230,1109,1110],{},[103,1111,1114],{"href":1112,"rel":1113},"https:\u002F\u002Fdocs.google.com\u002Fdocument\u002Fd\u002F1xGO2qcVEF1tsOgZn-_W1LjSOKn_jhEVs9IWI_6jeuPs\u002Fedit?usp=sharing",[202],"NJIT Services for Students",[570,1116,1118],{"id":1117},"class-etiquette","Class Etiquette",[178,1120,1121],{},"Students who attend, participate, and ask questions are usually more successful. Questions are encouraged because they make setup, debugging, and implementation issues easier to solve before they become larger problems.",[178,1123,1124],{},"Students are responsible for checking Canvas regularly, reviewing each module's posted work, and keeping track of their own progress, deadlines, submissions, and feedback.",[570,1126,1128],{"id":1127},"proctoring","Proctoring",[178,1130,1131],{},"NJIT policy requires midterm and final exams to be proctored regardless of delivery mode unless an assessment type is exempt. The exam for this course will use Respondus. Students are responsible for having a compatible device that can meet the exam requirements.",[570,1133,1135],{"id":1134},"late-policy","Late Policy",[178,1137,1138],{},"Deliverables may receive a 5% penalty per day late based on the posted due date. Canvas will automatically mark late or missing assignments as zero until grading is completed.",[178,1140,1141],{},"Assignments may also have a lock date. After the lock date, the assignment can no longer be submitted without an approved Dean of Students reason.",[178,1143,1144],{},"Missed exams or quizzes will result in a zero, but may be rescheduled within a reasonable timeframe with an approved Dean of Students reason.",[178,1146,1147,1148,387],{},"If you will miss class or cannot submit an assignment, contact the instructor as soon as possible. Emergency absence situations should go through the ",[103,1149,1152],{"href":1150,"rel":1151},"https:\u002F\u002Fwww.njit.edu\u002Fdos\u002Fstudent-absence-verification",[202],"Dean of Students absence verification process",[570,1154,1156],{"id":1155},"attendance-policy","Attendance Policy",[178,1158,1159],{},"Students are expected to keep up with each scheduled module and complete required participation, quiz, assignment, and project work by the posted deadlines. Attendance or participation will be recorded through Canvas activity, required submissions, or other announced course checks.",[178,1161,1162],{},"Face-to-Face sections will record attendance each class.",[15,1164,1166],{"id":1165},"closing-notes","Closing Notes",[178,1168,1169],{},"This syllabus is subject to change. Attend class and monitor Canvas to stay current.",{"title":1171,"searchDepth":1172,"depth":1172,"links":1173},"",2,[1174,1175,1176,1177,1178,1179,1180,1181,1182,1186,1187,1188,1189,1190,1191,1192,1193,1194,1195,1196,1207],{"id":17,"depth":1172,"text":18},{"id":124,"depth":1172,"text":125},{"id":155,"depth":1172,"text":156},{"id":183,"depth":1172,"text":184},{"id":193,"depth":1172,"text":194},{"id":221,"depth":1172,"text":222},{"id":290,"depth":1172,"text":291},{"id":309,"depth":1172,"text":310},{"id":461,"depth":1172,"text":462,"children":1183},[1184],{"id":572,"depth":1185,"text":573},3,{"id":582,"depth":1172,"text":583},{"id":595,"depth":1172,"text":596},{"id":611,"depth":1172,"text":612},{"id":624,"depth":1172,"text":625},{"id":634,"depth":1172,"text":635},{"id":709,"depth":1172,"text":710},{"id":716,"depth":1172,"text":717},{"id":798,"depth":1172,"text":799},{"id":895,"depth":1172,"text":896},{"id":962,"depth":1172,"text":963},{"id":995,"depth":1172,"text":996,"children":1197},[1198,1199,1200,1201,1202,1203,1204,1205,1206],{"id":999,"depth":1185,"text":1000},{"id":1009,"depth":1185,"text":1010},{"id":1035,"depth":1185,"text":1036},{"id":1088,"depth":1185,"text":1089},{"id":1101,"depth":1185,"text":1102},{"id":1117,"depth":1185,"text":1118},{"id":1127,"depth":1185,"text":1128},{"id":1134,"depth":1185,"text":1135},{"id":1155,"depth":1185,"text":1156},{"id":1165,"depth":1172,"text":1166},"syllabus","Summer 2026 syllabus for Internet Applications.",null,"md",{"sourcePath":1213},"related\u002Fdoc-server\u002Fdocuments\u002FIT202\u002FSyllabus-Spring-2026.adoc","0",true,"1","\u002Finternet-applications\u002Fsyllabus\u002Fsummer-2026","Core",false,{"title":5,"description":1209},"published","internet-applications\u002Fsyllabus\u002Fsummer-2026",[1224,1208,1225],"internet-applications","summer-2026","31:00","kWZK-0Aq6gk","https:\u002F\u002Fyoutu.be\u002FkWZK-0Aq6gk","IT202 Syllabus Summer 2026","ANtNkxAawfPioy2mEeZN1OdW6oGmlj-SAMbvVGJ4L1o",[1232,1235,1240,1244,1248,1252,1255,1258,1262,1265,1268,1272,1276,1279,1283,1286,1289,1292,1295,1298,1301,1303,1305,1307,1309,1311,1313,1315,1318,1321,1324,1327,1330,1332,1335,1338,1342,1346,1350,1354,1357,1360,1363,1367,1371,1374,1377,1380,1383,1387,1391,1394,1396,1399,1402,1405,1408,1411,1414,1417,1420,1424,1428,1432,1436,1439,1442,1445,1448,1451,1454,1457,1460,1463,1466,1469,1472,1475,1478,1481,1484,1488,1491,1494,1497,1500,1503,1506,1509,1512,1515,1517,1521,1524,1527,1530,1533,1536,1539,1542,1545,1548,1551,1554,1557,1560,1563,1566,1569,1572,1575,1578,1581,1584,1587,1590,1593,1596,1599,1602,1605,1608,1611,1614,1617,1620,1623,1626,1629,1632,1635,1638,1641,1644,1647,1650,1653,1656,1659,1662,1665,1668,1671,1674,1677,1680,1683,1686,1689,1692,1695,1698,1701,1704,1707,1710,1713,1716,1719,1722,1725,1728,1731,1734,1737,1740,1743,1746,1749,1752,1755,1758,1761,1764,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,1879,1882,1885,1888,1891,1894,1897,1900,1903,1906,1909,1912,1915,1918,1921,1924,1927,1930,1933,1936,1939,1942,1945,1948,1951,1954,1957,1960,1963,1966,1969,1972,1975,1978,1981,1984,1987,1990,1993,1996,1999,2002,2005,2008,2011,2014,2017,2020,2023,2026,2029,2032,2035,2038,2041,2044,2047,2050,2053,2056,2059,2062,2065,2068,2071,2074,2077,2080,2083,2086,2089,2092,2095,2098,2101,2104,2107,2110,2113,2116,2119,2122,2125,2128,2131,2134,2137,2140,2143,2146,2149,2152,2155,2158,2161,2164,2167,2170,2173,2176,2179,2182,2185,2188,2191,2194,2197,2200,2203,2206,2209,2212,2215,2218,2221,2224,2227,2230,2233,2236,2239,2242,2245,2248,2251,2254,2257,2260,2264,2267,2270,2273,2276,2279,2282,2284,2286,2288,2290,2292,2294,2296,2298,2300,2302,2304,2306,2308,2310,2312,2314,2316,2318,2320,2322,2324,2326,2329,2331,2333,2335,2337,2339,2341,2343,2345,2347,2349,2351,2353,2355,2357,2358,2362,2366,2370,2373,2377,2381,2384,2387,2390,2393,2396,2399,2403,2406,2409,2412,2415,2417,2419,2421,2423,2426,2429,2432,2435,2438,2441,2444,2447,2450,2453,2456,2459,2462,2465,2468,2471,2474,2477,2480,2483,2486,2489,2492,2495,2498,2501,2504,2507,2510,2513,2516,2519,2522,2525,2528,2531,2534,2537,2540,2543,2546,2549,2552,2555,2558,2561,2564,2567,2570,2573,2576,2579,2582,2585,2588,2590,2592,2594,2596,2598,2600,2602,2604,2606,2608,2610,2612,2614,2616,2618,2620,2622,2624,2627,2629,2631,2633,2635,2637,2639,2641,2643,2645,2647,2649,2651,2653,2655,2657,2659,2661,2663,2665,2667,2669,2672,2675,2678,2681,2684,2686,2688,2691,2694,2697,2700,2703,2706],{"path":1233,"title":1234,"order":1210,"module":1210,"status":1210},"\u002Fabout","About Content Version 3",{"path":1236,"title":1237,"order":1238,"module":1216,"status":1239},"\u002Fgame-architecture-and-design\u002F2e\u002Fpresentations\u002F01-introduction\u002F01-first-concept","First Concept","5","draft",{"path":1241,"title":1242,"order":1243,"module":1216,"status":1239},"\u002Fgame-architecture-and-design\u002F2e\u002Fpresentations\u002F01-introduction\u002F01-what-is-a-game","What is a Game?","10",{"path":1245,"title":1246,"order":1247,"module":1216,"status":1239},"\u002Fgame-architecture-and-design\u002F2e\u002Fpresentations\u002F01-introduction\u002F02-what-is-gameplay","What is Gameplay?","20",{"path":1249,"title":1250,"order":1243,"module":1251,"status":1239},"\u002Fgame-architecture-and-design\u002F2e\u002Fpresentations\u002F02-game-balance\u002F01-game-balance","Game Balance","2",{"path":1253,"title":1254,"order":1243,"module":86,"status":1239},"\u002Fgame-architecture-and-design\u002F2e\u002Fpresentations\u002F03-look-and-feel\u002F01-color-theory","Game Design: Color Theory",{"path":1256,"title":1257,"order":1247,"module":86,"status":1239},"\u002Fgame-architecture-and-design\u002F2e\u002Fpresentations\u002F03-look-and-feel\u002F02-look-and-feel","Game Design - Look and Feel",{"path":1259,"title":1260,"order":1243,"module":1261,"status":1239},"\u002Fgame-architecture-and-design\u002F2e\u002Fpresentations\u002F04-game-mechanics\u002F01-game-mechanics","Game Mechanics","4",{"path":1263,"title":1264,"order":1247,"module":1261,"status":1239},"\u002Fgame-architecture-and-design\u002F2e\u002Fpresentations\u002F04-game-mechanics\u002F02-decks","Technical: Decks and Cards",{"path":1266,"title":1267,"order":1243,"module":1238,"status":1239},"\u002Fgame-architecture-and-design\u002F2e\u002Fpresentations\u002F05-depth-complexity-and-randomness\u002F01-depth-vs-complexity-and-randomness","Depth, Complexity, And Randomness",{"path":1269,"title":1270,"order":1247,"module":1271,"status":1239},"\u002Fgame-architecture-and-design\u002F2e\u002Fpresentations\u002F06-first-game-planning\u002F02-planning-and-management","Planning From Concept To Prototype","6",{"path":1273,"title":1274,"order":1243,"module":1275,"status":1239},"\u002Fgame-architecture-and-design\u002F2e\u002Fpresentations\u002F08-game-architecture\u002F01-concepts-and-design","Game Architecture: Concepts And Design","8",{"path":1277,"title":1278,"order":1247,"module":1275,"status":1239},"\u002Fgame-architecture-and-design\u002F2e\u002Fpresentations\u002F08-game-architecture\u002F02-features-of-a-game-engine","Game Engine Features And Browser Feasibility",{"path":1280,"title":1281,"order":1243,"module":1282,"status":1239},"\u002Fgame-architecture-and-design\u002F2e\u002Fpresentations\u002F09-entity-based-systems\u002F01-ecs","Entity-Based Systems","9",{"path":1284,"title":1285,"order":1243,"module":1243,"status":1239},"\u002Fgame-architecture-and-design\u002F2e\u002Fpresentations\u002F10-player-facing-feature-systems\u002F01-spatial-rules-levels-and-interface","Spatial Rules, Levels, And Interface",{"path":1287,"title":1288,"order":1247,"module":1243,"status":1239},"\u002Fgame-architecture-and-design\u002F2e\u002Fpresentations\u002F10-player-facing-feature-systems\u002F02-actors-behavior-and-effects","Actors, Behavior, And Effects",{"path":1290,"title":1291,"order":1216,"module":1214,"status":1221},"\u002Fgame-architecture-and-design\u002F2e\u002Fsyllabus\u002Ffall-2026","Course Syllabus: IT265 - Game Architecture and Design",{"path":1293,"title":1294,"order":1216,"module":1214,"status":1239},"\u002Fgame-architecture-and-design","Game Architecture and Design",{"path":1296,"title":1297,"order":1210,"module":1210,"status":1239},"\u002Fgame-architecture-and-design\u002Fpresentations-revised\u002F00-revision-plan","Game Architecture And Design Presentation Revision Plan",{"path":1299,"title":1300,"order":1210,"module":1210,"status":1239},"\u002Fgame-architecture-and-design\u002Fpresentations-revised\u002F01-20-minute-recording-plan","Game Architecture And Design Twenty-Minute Recording Plan",{"path":1302,"title":1242,"order":1243,"module":1216,"status":1239},"\u002Fgame-architecture-and-design\u002Fpresentations\u002F01-introduction\u002F01-what-is-a-game",{"path":1304,"title":1246,"order":1247,"module":1216,"status":1239},"\u002Fgame-architecture-and-design\u002Fpresentations\u002F01-introduction\u002F02-what-is-gameplay",{"path":1306,"title":1250,"order":1243,"module":1251,"status":1239},"\u002Fgame-architecture-and-design\u002Fpresentations\u002F02-game-balance\u002F01-game-balance",{"path":1308,"title":1254,"order":1243,"module":86,"status":1239},"\u002Fgame-architecture-and-design\u002Fpresentations\u002F03-look-and-feel\u002F01-color-theory",{"path":1310,"title":1257,"order":1247,"module":86,"status":1239},"\u002Fgame-architecture-and-design\u002Fpresentations\u002F03-look-and-feel\u002F02-look-and-feel",{"path":1312,"title":1260,"order":1243,"module":1261,"status":1239},"\u002Fgame-architecture-and-design\u002Fpresentations\u002F04-game-mechanics\u002F01-game-mechanics",{"path":1314,"title":1264,"order":1247,"module":1261,"status":1239},"\u002Fgame-architecture-and-design\u002Fpresentations\u002F04-game-mechanics\u002F02-decks",{"path":1316,"title":1317,"order":1243,"module":1238,"status":1239},"\u002Fgame-architecture-and-design\u002Fpresentations\u002F05-depth-complexity-and-randomness\u002F01-depth-vs-complexity-and-randomness","Depth vs Complexity and Randomness",{"path":1319,"title":1320,"order":1243,"module":1271,"status":1239},"\u002Fgame-architecture-and-design\u002Fpresentations\u002F06-first-game-planning\u002F01-first-concept","First Concept: Updated Lesson",{"path":1322,"title":1323,"order":1247,"module":1271,"status":1239},"\u002Fgame-architecture-and-design\u002Fpresentations\u002F06-first-game-planning\u002F02-planning-and-management","Planning and Management",{"path":1325,"title":1326,"order":1243,"module":1275,"status":1239},"\u002Fgame-architecture-and-design\u002Fpresentations\u002F08-game-architecture\u002F01-concepts-and-design","Game Architecture: Concepts and Design",{"path":1328,"title":1329,"order":1247,"module":1275,"status":1239},"\u002Fgame-architecture-and-design\u002Fpresentations\u002F08-game-architecture\u002F02-features-of-a-game-engine","Game Architecture: Features of a Game Engine",{"path":1331,"title":1281,"order":1243,"module":1282,"status":1239},"\u002Fgame-architecture-and-design\u002Fpresentations\u002F09-entity-based-systems\u002F01-ecs",{"path":1333,"title":1334,"order":1243,"module":1243,"status":1239},"\u002Fgame-architecture-and-design\u002Fpresentations\u002F10-level-mechanics\u002F01-level-mechanics","Game Design: Introduction to Level Mechanics",{"path":1336,"title":1337,"order":1247,"module":1243,"status":1239},"\u002Fgame-architecture-and-design\u002Fpresentations\u002F10-level-mechanics\u002F02-grids","Technical: Square vs Hex Grids in Board Games",{"path":1339,"title":1340,"order":1243,"module":1341,"status":1239},"\u002Fgame-architecture-and-design\u002Fpresentations\u002F11-user-interfaces\u002F01-user-interfaces","Game Design: User Interfaces","11",{"path":1343,"title":1344,"order":1243,"module":1345,"status":1239},"\u002Fgame-architecture-and-design\u002Fpresentations\u002F12-actor-representations\u002F01-actors","Game Design: Actor Representations","12",{"path":1347,"title":1348,"order":1243,"module":1349,"status":1239},"\u002Fgame-architecture-and-design\u002Fpresentations\u002F13-artificial-intelligence\u002F01-ai","Game Design: AI","13",{"path":1351,"title":1352,"order":1243,"module":1353,"status":1239},"\u002Fgame-architecture-and-design\u002Fpresentations\u002F14-particles-and-physics\u002F01-particles-and-physics","IT265: Particle Systems and Physics Engine","14",{"path":1355,"title":1356,"order":1216,"module":1214,"status":1239},"\u002Fgame-architecture-and-design\u002Fsyllabus\u002Fspring-2026","Course Syllabus: IT265 - Game Architecture",{"path":1358,"title":1359,"order":1243,"module":1214,"status":1239},"\u002Fgame-architecture-and-design\u002Fworksheets\u002Fcase-study-1-atari-worksheet","Case Study 1 - Atari",{"path":1361,"title":1362,"order":1247,"module":1214,"status":1239},"\u002Fgame-architecture-and-design\u002Fworksheets\u002Fit265-case-study-color-theory-worksheet","IT265 Case Study - Color Theory",{"path":1364,"title":1365,"order":1366,"module":1214,"status":1239},"\u002Fgame-architecture-and-design\u002Fworksheets\u002Fit265-case-study-personal-choice-worksheet","IT265 Case Study - Personal Choice","40",{"path":1368,"title":1369,"order":1370,"module":1214,"status":1239},"\u002Fgame-architecture-and-design\u002Fworksheets\u002Fit265-design-treatment-checkpoint-worksheet","IT265 Design Treatment Checkpoint","30",{"path":1372,"title":1373,"order":1243,"module":1216,"status":1239},"\u002Fgeneral\u002F2e\u002Fpresentations\u002F01-git-and-terminal-setup","Git And Terminal Setup",{"path":1375,"title":1376,"order":1247,"module":1216,"status":1239},"\u002Fgeneral\u002F2e\u002Fpresentations\u002F02-cli-foundations","CLI Foundations",{"path":1378,"title":1379,"order":1370,"module":1216,"status":1239},"\u002Fgeneral\u002F2e\u002Fpresentations\u002F03-github-setup-and-ssh","GitHub Setup And SSH",{"path":1381,"title":1382,"order":1366,"module":1216,"status":1239},"\u002Fgeneral\u002F2e\u002Fpresentations\u002F04-local-git-workflow-and-course-repositories","Local Git Workflow And Course Repositories",{"path":1384,"title":1385,"order":1386,"module":1216,"status":1239},"\u002Fgeneral\u002F2e\u002Fpresentations\u002F05-vscode-setup-and-course-extensions","VS Code Setup And Course Extensions","50",{"path":1388,"title":1389,"order":1390,"module":1216,"status":1239},"\u002Fgeneral\u002F2e\u002Fpresentations\u002F06-trace-learning-journal","TRACE Learning Journal Foundations","60",{"path":1392,"title":1393,"order":1210,"module":1210,"status":1210},"\u002Fgeneral\u002Fbasic-cli","Basic Command Line",{"path":1395,"title":1393,"order":1243,"module":1216,"status":1210},"\u002Fgeneral\u002Fbasic-command-line",{"path":1397,"title":1398,"order":1210,"module":1210,"status":1221},"\u002F","Ethereal Lab Course Materials",{"path":1400,"title":1401,"order":1214,"module":1216,"status":1239},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F01-git-github-and-course-workflow\u002F00-learn-courses-and-discord","Learn Courses Platform And Discord",{"path":1403,"title":1404,"order":1243,"module":1216,"status":1239},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F01-git-github-and-course-workflow\u002F01-basic-cli-commands","Basic CLI Commands",{"path":1406,"title":1407,"order":1247,"module":1216,"status":1239},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F01-git-github-and-course-workflow\u002F02-install-git-tools","Git Tools",{"path":1409,"title":1410,"order":1370,"module":1216,"status":1239},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F01-git-github-and-course-workflow\u002F03-setup-github-ssh","Set Up GitHub SSH",{"path":1412,"title":1413,"order":1366,"module":1216,"status":1239},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F01-git-github-and-course-workflow\u002F04-git-commands-prs","Git Commands And Pull Requests",{"path":1415,"title":1416,"order":1386,"module":1216,"status":1239},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F01-git-github-and-course-workflow\u002F05-setup-local-development-environment","Local Development Environment Setup",{"path":1418,"title":1419,"order":1390,"module":1216,"status":1239},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F01-git-github-and-course-workflow\u002F06-add-instructor-template-to-your-repository","Add Instructor Template To Your Repository",{"path":1421,"title":1422,"order":1423,"module":1216,"status":1239},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F01-git-github-and-course-workflow\u002F07-qa-prod-branches","QA And Prod Branches","70",{"path":1425,"title":1426,"order":1427,"module":1216,"status":1239},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F01-git-github-and-course-workflow\u002F08-render-setup","Render Setup","80",{"path":1429,"title":1430,"order":1431,"module":1216,"status":1239},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F01-git-github-and-course-workflow\u002F09-local-ubuntu-web-server-virtualbox","Local Ubuntu Web Server With VirtualBox","90",{"path":1433,"title":1434,"order":1435,"module":1216,"status":1239},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F01-git-github-and-course-workflow\u002F10-local-ubuntu-web-server-vmware","Local Ubuntu Web Server With VMware","100",{"path":1437,"title":1438,"order":1243,"module":1251,"status":1239},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F02-php-and-javascript-basics\u002F01-compare-php-and-javascript","Compare PHP And JavaScript",{"path":1440,"title":1441,"order":1247,"module":1251,"status":1239},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F02-php-and-javascript-basics\u002F02-conditions-loops-functions","Use Conditions Loops And Functions",{"path":1443,"title":1444,"order":1243,"module":86,"status":1239},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F03-html-forms-css-and-dom\u002F01-intro-to-html","Intro To HTML",{"path":1446,"title":1447,"order":1247,"module":86,"status":1239},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F03-html-forms-css-and-dom\u002F02-intro-to-forms-and-get-post","Intro To Forms And GET\u002FPOST",{"path":1449,"title":1450,"order":1370,"module":86,"status":1239},"\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":1452,"title":1453,"order":1243,"module":1261,"status":1239},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F04-databases-and-user-accounts\u002F01-intro-to-sql","Intro To SQL",{"path":1455,"title":1456,"order":1247,"module":1261,"status":1239},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F04-databases-and-user-accounts\u002F02-project-database-setup","Project Database Setup",{"path":1458,"title":1459,"order":1370,"module":1261,"status":1239},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F04-databases-and-user-accounts\u002F03-user-registration","User Registration",{"path":1461,"title":1462,"order":1366,"module":1261,"status":1239},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F04-databases-and-user-accounts\u002F04-user-login","User Login",{"path":1464,"title":1465,"order":1243,"module":1238,"status":1239},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F05-validation-and-user-profiles\u002F01-intro-to-regex","Intro To Regex",{"path":1467,"title":1468,"order":1247,"module":1238,"status":1239},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F05-validation-and-user-profiles\u002F02-project-shared-helpers","Project Shared Helpers",{"path":1470,"title":1471,"order":1370,"module":1238,"status":1239},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F05-validation-and-user-profiles\u002F03-flash-messages-and-redirect-feedback","User Feedback After Redirects",{"path":1473,"title":1474,"order":1366,"module":1238,"status":1239},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F05-validation-and-user-profiles\u002F04-user-profile","User Profile",{"path":1476,"title":1477,"order":1243,"module":1271,"status":1239},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F06-roles-and-crud-pages\u002F01-user-roles-authorization","User Roles Authorization",{"path":1479,"title":1480,"order":1247,"module":1271,"status":1239},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F06-roles-and-crud-pages\u002F02-user-login-enhancement","User Login Enhancement",{"path":1482,"title":1483,"order":1370,"module":1271,"status":1239},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F06-roles-and-crud-pages\u002F03-dynamic-content","Dynamic Content",{"path":1485,"title":1486,"order":1243,"module":1487,"status":1239},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F07-api-data-and-database-helpers\u002F01-working-with-api-data","Working With API Data","7",{"path":1489,"title":1490,"order":1247,"module":1487,"status":1239},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F07-api-data-and-database-helpers\u002F02-api-integration","API Integration",{"path":1492,"title":1493,"order":1370,"module":1487,"status":1239},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F07-api-data-and-database-helpers\u002F03-database-utility-functions","Database Utility Functions",{"path":1495,"title":1496,"order":1243,"module":1275,"status":1239},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F08-reusable-components-jquery-and-ajax\u002F01-milestone-2-bootstrap-and-reusability","Milestone 2 Bootstrap And Reusability",{"path":1498,"title":1499,"order":1247,"module":1275,"status":1239},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F08-reusable-components-jquery-and-ajax\u002F02-jquery-brief-intro","jQuery Brief Intro",{"path":1501,"title":1502,"order":1370,"module":1275,"status":1239},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F08-reusable-components-jquery-and-ajax\u002F03-intro-to-ajax","Intro To AJAX",{"path":1504,"title":1505,"order":1243,"module":1282,"status":1239},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F09-relational-data-search-and-pagination\u002F01-user-associations","Add User Associations",{"path":1507,"title":1508,"order":1247,"module":1282,"status":1239},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F09-relational-data-search-and-pagination\u002F02-association-views-and-pagination","Add Association Views And Pagination",{"path":1510,"title":1511,"order":1243,"module":1243,"status":1239},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F10-association-assignment-and-security\u002F01-association-assignment-and-public-profiles","Association Management And Public Profiles",{"path":1513,"title":1514,"order":1247,"module":1243,"status":1239},"\u002Finternet-applications\u002F2e\u002Fpresentations\u002F10-association-assignment-and-security\u002F02-reusable-csrf-protection","Reusable CSRF Protection",{"path":1516,"title":5,"order":1216,"module":1214,"status":1221},"\u002Finternet-applications\u002F2e\u002Fsyllabus\u002Ffall-2026",{"path":1518,"title":1519,"order":1366,"module":1243,"status":1520},"\u002Finternet-applications\u002Fassignments\u002Ffinal-project-submission","Final Project Submission","review",{"path":1522,"title":1523,"order":1210,"module":1210,"status":1210},"\u002Finternet-applications\u002Fassignments\u002Fmilestones\u002F01-account-access-and-profile-system","Milestone 1: Account, Access, And Profile System",{"path":1525,"title":1526,"order":1247,"module":1275,"status":1520},"\u002Finternet-applications\u002Fassignments\u002Fmilestones\u002F02-api-data-and-project-crud","Milestone 2: API Data And Project CRUD",{"path":1528,"title":1529,"order":1370,"module":1282,"status":1520},"\u002Finternet-applications\u002Fassignments\u002Fmilestones\u002F03-user-associations-search-and-summary","Milestone 3: User Associations, Search, And Summary Views",{"path":1531,"title":1532,"order":1238,"module":1261,"status":1221},"\u002Finternet-applications\u002Fassignments\u002Fproject-proposal","IT 202 Project Proposal",{"path":1534,"title":1535,"order":1210,"module":1210,"status":1210},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F01-course-workflow-files-and-web-server\u002F01-what-this-course-is-building","What Internet Applications Build",{"path":1537,"title":1538,"order":1210,"module":1210,"status":1210},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F01-course-workflow-files-and-web-server\u002F02-files-folders-and-project-structure","Files, Folders, And Project Structure",{"path":1540,"title":1541,"order":1210,"module":1210,"status":1210},"\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":1543,"title":1544,"order":1210,"module":1210,"status":1210},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F01-course-workflow-files-and-web-server\u002F02b-install-git-and-terminal-tools","Install Git And Terminal Tools",{"path":1546,"title":1547,"order":1210,"module":1210,"status":1210},"\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":1549,"title":1550,"order":1210,"module":1210,"status":1210},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F01-course-workflow-files-and-web-server\u002F03a-local-development-environment","Set Up A Local Development Environment",{"path":1552,"title":1553,"order":1210,"module":1210,"status":1210},"\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":1555,"title":1556,"order":1210,"module":1210,"status":1210},"\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":1558,"title":1559,"order":1210,"module":1210,"status":1210},"\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":1561,"title":1562,"order":1210,"module":1210,"status":1210},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F01-course-workflow-files-and-web-server\u002F07-git-recovery-and-common-mistakes","Git Recovery And Common Mistakes",{"path":1564,"title":1565,"order":1210,"module":1210,"status":1210},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F01-course-workflow-files-and-web-server\u002F08-installing-apache-and-php","Installing Apache, PHP, And MySQL",{"path":1567,"title":1568,"order":1210,"module":1210,"status":1210},"\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":1570,"title":1571,"order":1210,"module":1210,"status":1210},"\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":1573,"title":1574,"order":1210,"module":1210,"status":1210},"\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":1576,"title":1577,"order":1210,"module":1210,"status":1210},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F01-course-workflow-files-and-web-server\u002F12-local-qa-and-production-environments","Local, QA, And Production Environments",{"path":1579,"title":1580,"order":1210,"module":1210,"status":1210},"\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":1582,"title":1583,"order":1210,"module":1210,"status":1210},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F02-programming-fundamentals-in-php-and-javascript\u002F02-displaying-output-with-php","Displaying Output With PHP",{"path":1585,"title":1586,"order":1210,"module":1210,"status":1210},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F02-programming-fundamentals-in-php-and-javascript\u002F03-displaying-output-with-javascript","Displaying Output With JavaScript",{"path":1588,"title":1589,"order":1210,"module":1210,"status":1210},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F02-programming-fundamentals-in-php-and-javascript\u002F04-variables-storing-and-naming-values","Variables: Storing And Naming Values",{"path":1591,"title":1592,"order":1210,"module":1210,"status":1210},"\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":1594,"title":1595,"order":1210,"module":1210,"status":1210},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F02-programming-fundamentals-in-php-and-javascript\u002F06-arrays-storing-lists-of-values","Arrays: Storing Lists Of Values",{"path":1597,"title":1598,"order":1210,"module":1210,"status":1210},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F02-programming-fundamentals-in-php-and-javascript\u002F07-conditional-statements-making-decisions","Conditional Statements: Making Decisions",{"path":1600,"title":1601,"order":1210,"module":1210,"status":1210},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F02-programming-fundamentals-in-php-and-javascript\u002F08-loops-repeating-actions","Loops: Repeating Actions",{"path":1603,"title":1604,"order":1210,"module":1210,"status":1210},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F02-programming-fundamentals-in-php-and-javascript\u002F09-functions-reusable-blocks-of-logic","Functions: Reusable Blocks Of Logic",{"path":1606,"title":1607,"order":1210,"module":1210,"status":1210},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F02-programming-fundamentals-in-php-and-javascript\u002F10-reading-and-debugging-error-messages","Reading And Debugging Error Messages",{"path":1609,"title":1610,"order":1210,"module":1210,"status":1210},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F03-html-forms-css-and-the-dom\u002F01-html-structure-and-meaning","HTML: Structure And Meaning",{"path":1612,"title":1613,"order":1210,"module":1210,"status":1210},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F03-html-forms-css-and-the-dom\u002F02-writing-a-valid-html-document","Writing A Valid HTML Document",{"path":1615,"title":1616,"order":1210,"module":1210,"status":1210},"\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":1618,"title":1619,"order":1210,"module":1210,"status":1210},"\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":1621,"title":1622,"order":1210,"module":1210,"status":1210},"\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":1624,"title":1625,"order":1210,"module":1210,"status":1210},"\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":1627,"title":1628,"order":1210,"module":1210,"status":1210},"\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":1630,"title":1631,"order":1210,"module":1210,"status":1210},"\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":1633,"title":1634,"order":1210,"module":1210,"status":1210},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F03-html-forms-css-and-the-dom\u002F09-page-layout-with-flexbox","Page Layout With Flexbox",{"path":1636,"title":1637,"order":1210,"module":1210,"status":1210},"\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":1639,"title":1640,"order":1210,"module":1210,"status":1210},"\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":1642,"title":1643,"order":1210,"module":1210,"status":1210},"\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":1645,"title":1646,"order":1210,"module":1210,"status":1210},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F03-html-forms-css-and-the-dom\u002F12-basic-web-accessibility-habits","Basic Web Accessibility Habits",{"path":1648,"title":1649,"order":1210,"module":1210,"status":1210},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F04-databases-and-user-accounts\u002F01-why-web-applications-need-a-database","Why Web Applications Need A Database",{"path":1651,"title":1652,"order":1210,"module":1210,"status":1210},"\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":1654,"title":1655,"order":1210,"module":1210,"status":1210},"\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":1657,"title":1658,"order":1210,"module":1210,"status":1210},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F04-databases-and-user-accounts\u002F04-creating-tables-with-sql-scripts","Creating Tables With SQL Scripts",{"path":1660,"title":1661,"order":1210,"module":1210,"status":1210},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F04-databases-and-user-accounts\u002F05-connecting-php-to-mysql-with-pdo","Connecting PHP To MySQL With PDO",{"path":1663,"title":1664,"order":1210,"module":1210,"status":1210},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F04-databases-and-user-accounts\u002F06-parameterized-queries-and-sql-injection-prevention","Parameterized Queries And SQL Injection Prevention",{"path":1666,"title":1667,"order":1210,"module":1210,"status":1210},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F04-databases-and-user-accounts\u002F07-building-a-registration-page","Building A Registration Page",{"path":1669,"title":1670,"order":1210,"module":1210,"status":1210},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F04-databases-and-user-accounts\u002F08-hashing-passwords-with-password-hash","Hashing Passwords With password_hash()",{"path":1672,"title":1673,"order":1210,"module":1210,"status":1210},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F04-databases-and-user-accounts\u002F09-building-a-login-page","Building A Login Page",{"path":1675,"title":1676,"order":1210,"module":1210,"status":1210},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F04-databases-and-user-accounts\u002F10-sessions-remembering-the-logged-in-user","Sessions: Remembering The Logged-In User",{"path":1678,"title":1679,"order":1210,"module":1210,"status":1210},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F04-databases-and-user-accounts\u002F11-cookies-persistent-client-side-state","Cookies: Persistent Client-Side State",{"path":1681,"title":1682,"order":1210,"module":1210,"status":1210},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F04-databases-and-user-accounts\u002F12-navigation-that-responds-to-login-state","Navigation That Responds To Login State",{"path":1684,"title":1685,"order":1210,"module":1210,"status":1210},"\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":1687,"title":1688,"order":1210,"module":1210,"status":1210},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F05-input-validation-security-and-user-profiles\u002F02-sanitizing-and-escaping-user-input","Sanitizing And Escaping User Input",{"path":1690,"title":1691,"order":1210,"module":1210,"status":1210},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F05-input-validation-security-and-user-profiles\u002F03-required-fields-and-length-rules","Required Fields And Length Rules",{"path":1693,"title":1694,"order":1210,"module":1210,"status":1210},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F05-input-validation-security-and-user-profiles\u002F04-regular-expressions-for-pattern-matching","Regular Expressions For Pattern Matching",{"path":1696,"title":1697,"order":1210,"module":1210,"status":1210},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F05-input-validation-security-and-user-profiles\u002F05-server-side-validation-in-php","Server-Side Validation In PHP",{"path":1699,"title":1700,"order":1210,"module":1210,"status":1210},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F05-input-validation-security-and-user-profiles\u002F06-cross-site-scripting-xss-prevention","Cross-Site Scripting (XSS) Prevention",{"path":1702,"title":1703,"order":1210,"module":1210,"status":1210},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F05-input-validation-security-and-user-profiles\u002F07-flash-messages-and-persistent-feedback","Flash Messages And Persistent Feedback",{"path":1705,"title":1706,"order":1210,"module":1210,"status":1210},"\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":1708,"title":1709,"order":1210,"module":1210,"status":1210},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F05-input-validation-security-and-user-profiles\u002F09-building-a-profile-edit-page","Building A Profile Edit Page",{"path":1711,"title":1712,"order":1210,"module":1210,"status":1210},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F05-input-validation-security-and-user-profiles\u002F10-debugging-account-and-authentication-problems","Debugging Account And Authentication Problems",{"path":1714,"title":1715,"order":1210,"module":1210,"status":1210},"\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":1717,"title":1718,"order":1210,"module":1210,"status":1210},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F06-roles-permissions-and-crud-pages\u002F01-role-based-access-control","Role-Based Access Control",{"path":1720,"title":1721,"order":1210,"module":1210,"status":1210},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F06-roles-permissions-and-crud-pages\u002F02-storing-roles-in-the-database","Storing Roles In The Database",{"path":1723,"title":1724,"order":1210,"module":1210,"status":1210},"\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":1726,"title":1727,"order":1210,"module":1210,"status":1210},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F06-roles-permissions-and-crud-pages\u002F04-safe-redirects-after-login-and-logout","Safe Redirects After Login And Logout",{"path":1729,"title":1730,"order":1210,"module":1210,"status":1210},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F06-roles-permissions-and-crud-pages\u002F05-listing-records-from-the-database","Listing Records From The Database",{"path":1732,"title":1733,"order":1210,"module":1210,"status":1210},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F06-roles-permissions-and-crud-pages\u002F06-creating-new-records-with-a-form","Creating New Records With A Form",{"path":1735,"title":1736,"order":1210,"module":1210,"status":1210},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F06-roles-permissions-and-crud-pages\u002F07-editing-existing-records","Editing Existing Records",{"path":1738,"title":1739,"order":1210,"module":1210,"status":1210},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F06-roles-permissions-and-crud-pages\u002F08-deleting-records-safely","Deleting Records Safely",{"path":1741,"title":1742,"order":1210,"module":1210,"status":1210},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F06-roles-permissions-and-crud-pages\u002F09-ownership-linking-records-to-users","Ownership: Linking Records To Users",{"path":1744,"title":1745,"order":1210,"module":1210,"status":1210},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F06-roles-permissions-and-crud-pages\u002F10-first-project-milestone-checklist","First Project Milestone Checklist",{"path":1747,"title":1748,"order":1210,"module":1210,"status":1210},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F06-roles-permissions-and-crud-pages\u002F11-organizing-growing-php-applications","Organizing Growing PHP Applications",{"path":1750,"title":1751,"order":1210,"module":1210,"status":1210},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F06-roles-permissions-and-crud-pages\u002F12-reading-a-growing-php-application","Reading A Growing PHP Application",{"path":1753,"title":1754,"order":1210,"module":1210,"status":1210},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F07-asynchronous-requests-json-and-external-apis\u002F01-what-asynchronous-requests-ajax-solve","What Asynchronous Requests (AJAX) Solve",{"path":1756,"title":1757,"order":1210,"module":1210,"status":1210},"\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":1759,"title":1760,"order":1210,"module":1210,"status":1210},"\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":1762,"title":1763,"order":1210,"module":1210,"status":1210},"\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":1765,"title":1766,"order":1210,"module":1210,"status":1210},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F07-asynchronous-requests-json-and-external-apis\u002F05-handling-fetch-responses-and-errors","Handling Fetch Responses And Errors",{"path":1768,"title":1769,"order":1210,"module":1210,"status":1210},"\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":1771,"title":1772,"order":1210,"module":1210,"status":1210},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F07-asynchronous-requests-json-and-external-apis\u002F07-introduction-to-rest-apis","Introduction To REST APIs",{"path":1774,"title":1775,"order":1210,"module":1210,"status":1210},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F07-asynchronous-requests-json-and-external-apis\u002F08-reading-api-documentation","Reading API Documentation",{"path":1777,"title":1778,"order":1210,"module":1210,"status":1210},"\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":1780,"title":1781,"order":1210,"module":1210,"status":1210},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F07-asynchronous-requests-json-and-external-apis\u002F10-storing-and-caching-api-responses","Storing And Caching API Responses",{"path":1783,"title":1784,"order":1210,"module":1210,"status":1210},"\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":1786,"title":1787,"order":1210,"module":1210,"status":1210},"\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":1789,"title":1790,"order":1210,"module":1210,"status":1210},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F08-dynamic-interfaces-and-project-data\u002F01-jquery-simplified-dom-and-event-work","jQuery: Simplified DOM And Event Work",{"path":1792,"title":1793,"order":1210,"module":1210,"status":1210},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F08-dynamic-interfaces-and-project-data\u002F02-selecting-elements-with-jquery","Selecting Elements With jQuery",{"path":1795,"title":1796,"order":1210,"module":1210,"status":1210},"\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":1798,"title":1799,"order":1210,"module":1210,"status":1210},"\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":1801,"title":1802,"order":1210,"module":1210,"status":1210},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F08-dynamic-interfaces-and-project-data\u002F05-sending-ajax-requests-with-jquery","Sending AJAX Requests With jQuery",{"path":1804,"title":1805,"order":1210,"module":1210,"status":1210},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F08-dynamic-interfaces-and-project-data\u002F06-saving-external-api-data-through-php","Saving External API Data Through PHP",{"path":1807,"title":1808,"order":1210,"module":1210,"status":1210},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F08-dynamic-interfaces-and-project-data\u002F07-saving-user-created-records","Saving User-Created Records",{"path":1810,"title":1811,"order":1210,"module":1210,"status":1210},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F08-dynamic-interfaces-and-project-data\u002F08-building-a-project-listing-page","Building A Project Listing Page",{"path":1813,"title":1814,"order":1210,"module":1210,"status":1210},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F08-dynamic-interfaces-and-project-data\u002F09-inline-editing-and-detail-views","Inline Editing And Detail Views",{"path":1816,"title":1817,"order":1210,"module":1210,"status":1210},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F08-dynamic-interfaces-and-project-data\u002F10-second-project-milestone-checklist","Second Project Milestone Checklist",{"path":1819,"title":1820,"order":1210,"module":1210,"status":1210},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F09-relational-data-search-and-pagination\u002F01-foreign-keys-and-referential-integrity","Foreign Keys And Referential Integrity",{"path":1822,"title":1823,"order":1210,"module":1210,"status":1210},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F09-relational-data-search-and-pagination\u002F02-joining-tables-inner-join-left-join","Joining Tables: INNER JOIN, LEFT JOIN",{"path":1825,"title":1826,"order":1210,"module":1210,"status":1210},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F09-relational-data-search-and-pagination\u002F03-user-owned-records-and-access-enforcement","User-Owned Records And Access Enforcement",{"path":1828,"title":1829,"order":1210,"module":1210,"status":1210},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F09-relational-data-search-and-pagination\u002F04-connecting-api-data-to-user-records","Connecting API Data To User Records",{"path":1831,"title":1832,"order":1210,"module":1210,"status":1210},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F09-relational-data-search-and-pagination\u002F05-searching-and-filtering-with-sql","Searching And Filtering With SQL",{"path":1834,"title":1835,"order":1210,"module":1210,"status":1210},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F09-relational-data-search-and-pagination\u002F06-pagination-displaying-records-in-pages","Pagination: Displaying Records In Pages",{"path":1837,"title":1838,"order":1210,"module":1210,"status":1210},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F09-relational-data-search-and-pagination\u002F07-aggregate-functions-count-sum-avg","Aggregate Functions: COUNT, SUM, AVG",{"path":1840,"title":1841,"order":1210,"module":1210,"status":1210},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F09-relational-data-search-and-pagination\u002F08-simple-analytics-and-summary-views","Simple Analytics And Summary Views",{"path":1843,"title":1844,"order":1210,"module":1210,"status":1210},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F09-relational-data-search-and-pagination\u002F09-third-project-milestone-checklist","Third Project Milestone Checklist",{"path":1846,"title":1847,"order":1210,"module":1210,"status":1210},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F10-final-integration-testing-and-deployment\u002F01-public-pages-and-unauthenticated-views","Public Pages And Unauthenticated Views",{"path":1849,"title":1850,"order":1210,"module":1210,"status":1210},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F10-final-integration-testing-and-deployment\u002F02-user-profile-and-activity-pages","User Profile And Activity Pages",{"path":1852,"title":1853,"order":1210,"module":1210,"status":1210},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F10-final-integration-testing-and-deployment\u002F03-refreshing-and-expiring-external-api-data","Refreshing And Expiring External API Data",{"path":1855,"title":1856,"order":1210,"module":1210,"status":1210},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F10-final-integration-testing-and-deployment\u002F04-application-wide-security-audit","Application-Wide Security Audit",{"path":1858,"title":1859,"order":1210,"module":1210,"status":1210},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F10-final-integration-testing-and-deployment\u002F05-cross-site-request-forgery-csrf-protection","Cross-Site Request Forgery (CSRF) Protection",{"path":1861,"title":1862,"order":1210,"module":1210,"status":1210},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F10-final-integration-testing-and-deployment\u002F06-qa-testing-and-collecting-evidence","QA Testing And Collecting Evidence",{"path":1864,"title":1865,"order":1210,"module":1210,"status":1210},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F10-final-integration-testing-and-deployment\u002F07-production-environment-checklist","Production Environment Checklist",{"path":1867,"title":1868,"order":1210,"module":1210,"status":1210},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F10-final-integration-testing-and-deployment\u002F08-writing-a-project-readme","Writing A Project README",{"path":1870,"title":1871,"order":1210,"module":1210,"status":1210},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F10-final-integration-testing-and-deployment\u002F09-final-presentation-and-code-walkthrough","Final Presentation And Code Walkthrough",{"path":1873,"title":1874,"order":1210,"module":1210,"status":1210},"\u002Finternet-applications\u002Fbook\u002Fmodules\u002F10-final-integration-testing-and-deployment\u002F10-configuration-drift-and-secrets-checks","Configuration Drift And Secrets Checks",{"path":1876,"title":1877,"order":1210,"module":1210,"status":1878},"\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":1880,"title":1881,"order":1210,"module":1210,"status":1878},"\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":1883,"title":1884,"order":1210,"module":1210,"status":1878},"\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":1886,"title":1887,"order":1210,"module":1210,"status":1878},"\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":1889,"title":1890,"order":1210,"module":1210,"status":1878},"\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":1892,"title":1893,"order":1210,"module":1210,"status":1878},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F01-course-workflow-files-and-web-server\u002F03a-local-development-environment","Quiz - Set Up A Local Development Environment",{"path":1895,"title":1896,"order":1210,"module":1210,"status":1878},"\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":1898,"title":1899,"order":1210,"module":1210,"status":1878},"\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":1901,"title":1902,"order":1210,"module":1210,"status":1878},"\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":1904,"title":1905,"order":1210,"module":1210,"status":1878},"\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":1907,"title":1908,"order":1210,"module":1210,"status":1878},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F01-course-workflow-files-and-web-server\u002F08-installing-apache-and-php","Quiz - Installing Apache, PHP, And MySQL",{"path":1910,"title":1911,"order":1210,"module":1210,"status":1878},"\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":1913,"title":1914,"order":1210,"module":1210,"status":1878},"\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":1916,"title":1917,"order":1210,"module":1210,"status":1210},"\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":1919,"title":1920,"order":1210,"module":1210,"status":1878},"\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":1922,"title":1923,"order":1210,"module":1210,"status":1878},"\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":1925,"title":1926,"order":1210,"module":1210,"status":1878},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F02-programming-fundamentals-in-php-and-javascript\u002F02-displaying-output-with-php","Quiz - Displaying Output With PHP",{"path":1928,"title":1929,"order":1210,"module":1210,"status":1878},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F02-programming-fundamentals-in-php-and-javascript\u002F03-displaying-output-with-javascript","Quiz - Displaying Output With JavaScript",{"path":1931,"title":1932,"order":1210,"module":1210,"status":1210},"\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":1934,"title":1935,"order":1210,"module":1210,"status":1210},"\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":1937,"title":1938,"order":1210,"module":1210,"status":1878},"\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":1940,"title":1941,"order":1210,"module":1210,"status":1210},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F02-programming-fundamentals-in-php-and-javascript\u002F07-conditional-statements-making-decisions","Quiz - Conditional Statements: Making Decisions",{"path":1943,"title":1944,"order":1210,"module":1210,"status":1210},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F02-programming-fundamentals-in-php-and-javascript\u002F08-loops-repeating-actions","Quiz - Loops: Repeating Actions",{"path":1946,"title":1947,"order":1210,"module":1210,"status":1210},"\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":1949,"title":1950,"order":1210,"module":1210,"status":1878},"\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":1952,"title":1953,"order":1210,"module":1210,"status":1210},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F03-html-forms-css-and-the-dom\u002F01-html-structure-and-meaning","Quiz - HTML: Structure And Meaning",{"path":1955,"title":1956,"order":1210,"module":1210,"status":1878},"\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":1958,"title":1959,"order":1210,"module":1210,"status":1878},"\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":1961,"title":1962,"order":1210,"module":1210,"status":1210},"\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":1964,"title":1965,"order":1210,"module":1210,"status":1878},"\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":1967,"title":1968,"order":1210,"module":1210,"status":1878},"\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":1970,"title":1971,"order":1210,"module":1210,"status":1210},"\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":1973,"title":1974,"order":1210,"module":1210,"status":1210},"\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":1976,"title":1977,"order":1210,"module":1210,"status":1878},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F03-html-forms-css-and-the-dom\u002F09-page-layout-with-flexbox","Quiz - Page Layout With Flexbox",{"path":1979,"title":1980,"order":1210,"module":1210,"status":1878},"\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":1982,"title":1983,"order":1210,"module":1210,"status":1878},"\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":1985,"title":1986,"order":1210,"module":1210,"status":1878},"\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":1988,"title":1989,"order":1210,"module":1210,"status":1878},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F03-html-forms-css-and-the-dom\u002F12-basic-web-accessibility-habits","Quiz - Basic Web Accessibility Habits",{"path":1991,"title":1992,"order":1210,"module":1210,"status":1878},"\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":1994,"title":1995,"order":1210,"module":1210,"status":1210},"\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":1997,"title":1998,"order":1210,"module":1210,"status":1210},"\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":2000,"title":2001,"order":1210,"module":1210,"status":1878},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F04-databases-and-user-accounts\u002F04-creating-tables-with-sql-scripts","Quiz - Creating Tables With SQL Scripts",{"path":2003,"title":2004,"order":1210,"module":1210,"status":1878},"\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":2006,"title":2007,"order":1210,"module":1210,"status":1878},"\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":2009,"title":2010,"order":1210,"module":1210,"status":1878},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F04-databases-and-user-accounts\u002F07-building-a-registration-page","Quiz - Building A Registration Page",{"path":2012,"title":2013,"order":1210,"module":1210,"status":1878},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F04-databases-and-user-accounts\u002F08-hashing-passwords-with-password-hash","Quiz - Hashing Passwords With password_hash()",{"path":2015,"title":2016,"order":1210,"module":1210,"status":1878},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F04-databases-and-user-accounts\u002F09-building-a-login-page","Quiz - Building A Login Page",{"path":2018,"title":2019,"order":1210,"module":1210,"status":1210},"\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":2021,"title":2022,"order":1210,"module":1210,"status":1210},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F04-databases-and-user-accounts\u002F11-cookies-persistent-client-side-state","Quiz - Cookies: Persistent Client-Side State",{"path":2024,"title":2025,"order":1210,"module":1210,"status":1878},"\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":2027,"title":2028,"order":1210,"module":1210,"status":1878},"\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":2030,"title":2031,"order":1210,"module":1210,"status":1878},"\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":2033,"title":2034,"order":1210,"module":1210,"status":1878},"\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":2036,"title":2037,"order":1210,"module":1210,"status":1878},"\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":2039,"title":2040,"order":1210,"module":1210,"status":1878},"\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":2042,"title":2043,"order":1210,"module":1210,"status":1878},"\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":2045,"title":2046,"order":1210,"module":1210,"status":1878},"\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":2048,"title":2049,"order":1210,"module":1210,"status":1878},"\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":2051,"title":2052,"order":1210,"module":1210,"status":1878},"\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":2054,"title":2055,"order":1210,"module":1210,"status":1878},"\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":2057,"title":2058,"order":1210,"module":1210,"status":1210},"\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":2060,"title":2061,"order":1210,"module":1210,"status":1878},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F06-roles-permissions-and-crud-pages\u002F01-role-based-access-control","Quiz - Role-Based Access Control",{"path":2063,"title":2064,"order":1210,"module":1210,"status":1878},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F06-roles-permissions-and-crud-pages\u002F02-storing-roles-in-the-database","Quiz - Storing Roles In The Database",{"path":2066,"title":2067,"order":1210,"module":1210,"status":1878},"\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":2069,"title":2070,"order":1210,"module":1210,"status":1878},"\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":2072,"title":2073,"order":1210,"module":1210,"status":1878},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F06-roles-permissions-and-crud-pages\u002F05-listing-records-from-the-database","Quiz - Listing Records From The Database",{"path":2075,"title":2076,"order":1210,"module":1210,"status":1878},"\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":2078,"title":2079,"order":1210,"module":1210,"status":1878},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F06-roles-permissions-and-crud-pages\u002F07-editing-existing-records","Quiz - Editing Existing Records",{"path":2081,"title":2082,"order":1210,"module":1210,"status":1878},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F06-roles-permissions-and-crud-pages\u002F08-deleting-records-safely","Quiz - Deleting Records Safely",{"path":2084,"title":2085,"order":1210,"module":1210,"status":1210},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F06-roles-permissions-and-crud-pages\u002F09-ownership-linking-records-to-users","Quiz - Ownership: Linking Records To Users",{"path":2087,"title":2088,"order":1210,"module":1210,"status":1878},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F06-roles-permissions-and-crud-pages\u002F10-first-project-milestone-checklist","Quiz - First Project Milestone Checklist",{"path":2090,"title":2091,"order":1210,"module":1210,"status":1878},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F06-roles-permissions-and-crud-pages\u002F11-organizing-growing-php-applications","Quiz - Organizing Growing PHP Applications",{"path":2093,"title":2094,"order":1210,"module":1210,"status":1878},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F06-roles-permissions-and-crud-pages\u002F12-reading-a-growing-php-application","Quiz - Reading A Growing PHP Application",{"path":2096,"title":2097,"order":1210,"module":1210,"status":1878},"\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":2099,"title":2100,"order":1210,"module":1210,"status":1878},"\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":2102,"title":2103,"order":1210,"module":1210,"status":1878},"\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":2105,"title":2106,"order":1210,"module":1210,"status":1878},"\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":2108,"title":2109,"order":1210,"module":1210,"status":1878},"\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":2111,"title":2112,"order":1210,"module":1210,"status":1878},"\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":2114,"title":2115,"order":1210,"module":1210,"status":1878},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F07-asynchronous-requests-json-and-external-apis\u002F07-introduction-to-rest-apis","Quiz - Introduction To REST APIs",{"path":2117,"title":2118,"order":1210,"module":1210,"status":1878},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F07-asynchronous-requests-json-and-external-apis\u002F08-reading-api-documentation","Quiz - Reading API Documentation",{"path":2120,"title":2121,"order":1210,"module":1210,"status":1878},"\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":2123,"title":2124,"order":1210,"module":1210,"status":1878},"\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":2126,"title":2127,"order":1210,"module":1210,"status":1878},"\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":2129,"title":2130,"order":1210,"module":1210,"status":1878},"\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":2132,"title":2133,"order":1210,"module":1210,"status":1210},"\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":2135,"title":2136,"order":1210,"module":1210,"status":1878},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F08-dynamic-interfaces-and-project-data\u002F02-selecting-elements-with-jquery","Quiz - Selecting Elements With jQuery",{"path":2138,"title":2139,"order":1210,"module":1210,"status":1210},"\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":2141,"title":2142,"order":1210,"module":1210,"status":1878},"\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":2144,"title":2145,"order":1210,"module":1210,"status":1878},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F08-dynamic-interfaces-and-project-data\u002F05-sending-ajax-requests-with-jquery","Quiz - Sending AJAX Requests With jQuery",{"path":2147,"title":2148,"order":1210,"module":1210,"status":1878},"\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":2150,"title":2151,"order":1210,"module":1210,"status":1878},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F08-dynamic-interfaces-and-project-data\u002F07-saving-user-created-records","Quiz - Saving User-Created Records",{"path":2153,"title":2154,"order":1210,"module":1210,"status":1878},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F08-dynamic-interfaces-and-project-data\u002F08-building-a-project-listing-page","Quiz - Building A Project Listing Page",{"path":2156,"title":2157,"order":1210,"module":1210,"status":1878},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F08-dynamic-interfaces-and-project-data\u002F09-inline-editing-and-detail-views","Quiz - Inline Editing And Detail Views",{"path":2159,"title":2160,"order":1210,"module":1210,"status":1878},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F08-dynamic-interfaces-and-project-data\u002F10-second-project-milestone-checklist","Quiz - Second Project Milestone Checklist",{"path":2162,"title":2163,"order":1210,"module":1210,"status":1878},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F09-relational-data-search-and-pagination\u002F01-foreign-keys-and-referential-integrity","Quiz - Foreign Keys And Referential Integrity",{"path":2165,"title":2166,"order":1210,"module":1210,"status":1878},"\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":2168,"title":2169,"order":1210,"module":1210,"status":1878},"\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":2171,"title":2172,"order":1210,"module":1210,"status":1878},"\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":2174,"title":2175,"order":1210,"module":1210,"status":1878},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F09-relational-data-search-and-pagination\u002F05-searching-and-filtering-with-sql","Quiz - Searching And Filtering With SQL",{"path":2177,"title":2178,"order":1210,"module":1210,"status":1210},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F09-relational-data-search-and-pagination\u002F06-pagination-displaying-records-in-pages","Quiz - Pagination: Displaying Records In Pages",{"path":2180,"title":2181,"order":1210,"module":1210,"status":1210},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F09-relational-data-search-and-pagination\u002F07-aggregate-functions-count-sum-avg","Quiz - Aggregate Functions: COUNT, SUM, AVG",{"path":2183,"title":2184,"order":1210,"module":1210,"status":1878},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F09-relational-data-search-and-pagination\u002F08-simple-analytics-and-summary-views","Quiz - Simple Analytics And Summary Views",{"path":2186,"title":2187,"order":1210,"module":1210,"status":1878},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F09-relational-data-search-and-pagination\u002F09-third-project-milestone-checklist","Quiz - Third Project Milestone Checklist",{"path":2189,"title":2190,"order":1210,"module":1210,"status":1878},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F10-final-integration-testing-and-deployment\u002F01-public-pages-and-unauthenticated-views","Quiz - Public Pages And Unauthenticated Views",{"path":2192,"title":2193,"order":1210,"module":1210,"status":1878},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F10-final-integration-testing-and-deployment\u002F02-user-profile-and-activity-pages","Quiz - User Profile And Activity Pages",{"path":2195,"title":2196,"order":1210,"module":1210,"status":1878},"\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":2198,"title":2199,"order":1210,"module":1210,"status":1878},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F10-final-integration-testing-and-deployment\u002F04-application-wide-security-audit","Quiz - Application-Wide Security Audit",{"path":2201,"title":2202,"order":1210,"module":1210,"status":1878},"\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":2204,"title":2205,"order":1210,"module":1210,"status":1878},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F10-final-integration-testing-and-deployment\u002F06-qa-testing-and-collecting-evidence","Quiz - QA Testing And Collecting Evidence",{"path":2207,"title":2208,"order":1210,"module":1210,"status":1878},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F10-final-integration-testing-and-deployment\u002F07-production-environment-checklist","Quiz - Production Environment Checklist",{"path":2210,"title":2211,"order":1210,"module":1210,"status":1878},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F10-final-integration-testing-and-deployment\u002F08-writing-a-project-readme","Quiz - Writing A Project README",{"path":2213,"title":2214,"order":1210,"module":1210,"status":1878},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F10-final-integration-testing-and-deployment\u002F09-final-presentation-and-code-walkthrough","Quiz - Final Presentation And Code Walkthrough",{"path":2216,"title":2217,"order":1210,"module":1210,"status":1878},"\u002Finternet-applications\u002Fbook\u002Fquizzes\u002Fmodules\u002F10-final-integration-testing-and-deployment\u002F10-configuration-drift-and-secrets-checks","Quiz - Configuration Drift And Secrets Checks",{"path":2219,"title":2220,"order":1216,"module":1214,"status":1239},"\u002Finternet-applications\u002Fbook\u002Freference\u002Fa-command-line-basics","Command Line Basics",{"path":2222,"title":2223,"order":1251,"module":1214,"status":1239},"\u002Finternet-applications\u002Fbook\u002Freference\u002Fb-git-and-github-recovery","Git And GitHub Recovery",{"path":2225,"title":2226,"order":86,"module":1214,"status":1239},"\u002Finternet-applications\u002Fbook\u002Freference\u002Fc-apache-and-php-troubleshooting","Apache And PHP Troubleshooting",{"path":2228,"title":2229,"order":1261,"module":1214,"status":1239},"\u002Finternet-applications\u002Fbook\u002Freference\u002Fd-mysql-troubleshooting","MySQL Troubleshooting",{"path":2231,"title":2232,"order":1238,"module":1214,"status":1239},"\u002Finternet-applications\u002Fbook\u002Freference\u002Fe-http-request-and-response-reference","HTTP Request And Response Reference",{"path":2234,"title":2235,"order":1271,"module":1214,"status":1239},"\u002Finternet-applications\u002Fbook\u002Freference\u002Ff-common-security-mistakes","Common Security Mistakes",{"path":2237,"title":2238,"order":1487,"module":1214,"status":1239},"\u002Finternet-applications\u002Fbook\u002Freference\u002Fg-ai-collaboration-and-disclosure","AI Collaboration And Disclosure",{"path":2240,"title":2241,"order":1214,"module":1214,"status":1239},"\u002Finternet-applications\u002Fbook\u002Ftoc","Internet Applications: Table of Contents",{"path":2243,"title":2244,"order":1243,"module":1216,"status":1239},"\u002Finternet-applications\u002Flabs\u002F01-git-recovery-and-submission-evidence","Lab 1: Git Recovery And Submission Evidence",{"path":2246,"title":2247,"order":1247,"module":1251,"status":1239},"\u002Finternet-applications\u002Flabs\u002F02-php-output-and-error-reading","Lab 2: PHP Output And Error Reading",{"path":2249,"title":2250,"order":1370,"module":86,"status":1239},"\u002Finternet-applications\u002Flabs\u002F03-form-methods-and-sticky-values","Lab 3: Form Methods And Sticky Values",{"path":2252,"title":2253,"order":1366,"module":1261,"status":1239},"\u002Finternet-applications\u002Flabs\u002F04-pdo-query-and-sql-evidence","Lab 4: PDO Query And SQL Evidence",{"path":2255,"title":2256,"order":1386,"module":1238,"status":1239},"\u002Finternet-applications\u002Flabs\u002F05-validation-debugging-and-friendly-errors","Lab 5: Validation, Debugging, And Friendly Errors",{"path":2258,"title":2259,"order":1390,"module":1271,"status":1239},"\u002Finternet-applications\u002Flabs\u002F06-role-protected-crud-check","Lab 6: Role-Protected CRUD Check",{"path":2261,"title":2262,"order":2263,"module":1271,"status":1239},"\u002Finternet-applications\u002Flabs\u002F06a-relative-paths-includes-and-feature-trace","Lab 6A: Relative Paths, Includes, And Feature Tracing","61",{"path":2265,"title":2266,"order":1423,"module":1487,"status":1239},"\u002Finternet-applications\u002Flabs\u002F07-json-endpoint-and-fetch-check","Lab 7: JSON Endpoint And Fetch Check",{"path":2268,"title":2269,"order":1427,"module":1275,"status":1239},"\u002Finternet-applications\u002Flabs\u002F08-jquery-ajax-interface-check","Lab 8: jQuery AJAX Interface Check",{"path":2271,"title":2272,"order":1431,"module":1282,"status":1239},"\u002Finternet-applications\u002Flabs\u002F09-search-pagination-and-summary-check","Lab 9: Search, Pagination, And Summary Check",{"path":2274,"title":2275,"order":1435,"module":1243,"status":1239},"\u002Finternet-applications\u002Flabs\u002F10-final-security-and-readme-check","Lab 10: Final Security And README Check",{"path":2277,"title":2278,"order":1210,"module":1210,"status":1239},"\u002Finternet-applications\u002Fpresentations-revised\u002F00-revision-plan","Internet Applications Presentation Revision Plan",{"path":2280,"title":2281,"order":1210,"module":1210,"status":1239},"\u002Finternet-applications\u002Fpresentations-revised\u002F01-20-minute-recording-plan","Internet Applications Twenty-Minute Recording Plan",{"path":2283,"title":1401,"order":1214,"module":1216,"status":1221},"\u002Finternet-applications\u002Fpresentations\u002F01-git-github-and-course-workflow\u002F00-learn-courses-and-discord",{"path":2285,"title":1404,"order":1243,"module":1216,"status":1221},"\u002Finternet-applications\u002Fpresentations\u002F01-git-github-and-course-workflow\u002F01-basic-cli-commands",{"path":2287,"title":1407,"order":1247,"module":1216,"status":1221},"\u002Finternet-applications\u002Fpresentations\u002F01-git-github-and-course-workflow\u002F02-install-git-tools",{"path":2289,"title":1410,"order":1370,"module":1216,"status":1221},"\u002Finternet-applications\u002Fpresentations\u002F01-git-github-and-course-workflow\u002F03-setup-github-ssh",{"path":2291,"title":1413,"order":1366,"module":1216,"status":1221},"\u002Finternet-applications\u002Fpresentations\u002F01-git-github-and-course-workflow\u002F04-git-commands-prs",{"path":2293,"title":1416,"order":1386,"module":1216,"status":1221},"\u002Finternet-applications\u002Fpresentations\u002F01-git-github-and-course-workflow\u002F05-setup-local-development-environment",{"path":2295,"title":1419,"order":1390,"module":1216,"status":1221},"\u002Finternet-applications\u002Fpresentations\u002F01-git-github-and-course-workflow\u002F06-add-instructor-template-to-your-repository",{"path":2297,"title":1422,"order":1423,"module":1216,"status":1221},"\u002Finternet-applications\u002Fpresentations\u002F01-git-github-and-course-workflow\u002F07-qa-prod-branches",{"path":2299,"title":1426,"order":1427,"module":1216,"status":1221},"\u002Finternet-applications\u002Fpresentations\u002F01-git-github-and-course-workflow\u002F08-render-setup",{"path":2301,"title":1430,"order":1431,"module":1216,"status":1221},"\u002Finternet-applications\u002Fpresentations\u002F01-git-github-and-course-workflow\u002F09-local-ubuntu-web-server-virtualbox",{"path":2303,"title":1434,"order":1435,"module":1216,"status":1239},"\u002Finternet-applications\u002Fpresentations\u002F01-git-github-and-course-workflow\u002F10-local-ubuntu-web-server-vmware",{"path":2305,"title":1438,"order":1243,"module":1251,"status":1221},"\u002Finternet-applications\u002Fpresentations\u002F02-php-and-javascript-basics\u002F01-compare-php-and-javascript",{"path":2307,"title":1441,"order":1247,"module":1251,"status":1221},"\u002Finternet-applications\u002Fpresentations\u002F02-php-and-javascript-basics\u002F02-conditions-loops-functions",{"path":2309,"title":1444,"order":1243,"module":86,"status":1221},"\u002Finternet-applications\u002Fpresentations\u002F03-html-forms-css-and-dom\u002F01-intro-to-html",{"path":2311,"title":1447,"order":1247,"module":86,"status":1221},"\u002Finternet-applications\u002Fpresentations\u002F03-html-forms-css-and-dom\u002F02-intro-to-forms-and-get-post",{"path":2313,"title":1450,"order":1370,"module":86,"status":1221},"\u002Finternet-applications\u002Fpresentations\u002F03-html-forms-css-and-dom\u002F03-understanding-css-js-selectors-and-dom-updates",{"path":2315,"title":1453,"order":1243,"module":1261,"status":1221},"\u002Finternet-applications\u002Fpresentations\u002F04-databases-and-user-accounts\u002F01-intro-to-sql",{"path":2317,"title":1456,"order":1247,"module":1261,"status":1221},"\u002Finternet-applications\u002Fpresentations\u002F04-databases-and-user-accounts\u002F02-project-database-setup",{"path":2319,"title":1459,"order":1370,"module":1261,"status":1221},"\u002Finternet-applications\u002Fpresentations\u002F04-databases-and-user-accounts\u002F03-user-registration",{"path":2321,"title":1462,"order":1366,"module":1261,"status":1221},"\u002Finternet-applications\u002Fpresentations\u002F04-databases-and-user-accounts\u002F04-user-login",{"path":2323,"title":1465,"order":1243,"module":1238,"status":1221},"\u002Finternet-applications\u002Fpresentations\u002F05-validation-and-user-profiles\u002F01-intro-to-regex",{"path":2325,"title":1468,"order":1247,"module":1238,"status":1221},"\u002Finternet-applications\u002Fpresentations\u002F05-validation-and-user-profiles\u002F02-project-shared-helpers",{"path":2327,"title":2328,"order":1370,"module":1238,"status":1221},"\u002Finternet-applications\u002Fpresentations\u002F05-validation-and-user-profiles\u002F03-flash-messages-and-redirect-feedback","Flash Messages And Redirect Feedback",{"path":2330,"title":1474,"order":1366,"module":1238,"status":1221},"\u002Finternet-applications\u002Fpresentations\u002F05-validation-and-user-profiles\u002F04-user-profile",{"path":2332,"title":1477,"order":1243,"module":1271,"status":1221},"\u002Finternet-applications\u002Fpresentations\u002F06-roles-and-crud-pages\u002F01-user-roles-authorization",{"path":2334,"title":1480,"order":1247,"module":1271,"status":1221},"\u002Finternet-applications\u002Fpresentations\u002F06-roles-and-crud-pages\u002F02-user-login-enhancement",{"path":2336,"title":1483,"order":1370,"module":1271,"status":1221},"\u002Finternet-applications\u002Fpresentations\u002F06-roles-and-crud-pages\u002F03-dynamic-content",{"path":2338,"title":1486,"order":1243,"module":1487,"status":1221},"\u002Finternet-applications\u002Fpresentations\u002F07-api-data-and-database-helpers\u002F01-working-with-api-data",{"path":2340,"title":1490,"order":1247,"module":1487,"status":1221},"\u002Finternet-applications\u002Fpresentations\u002F07-api-data-and-database-helpers\u002F02-api-integration",{"path":2342,"title":1493,"order":1370,"module":1487,"status":1221},"\u002Finternet-applications\u002Fpresentations\u002F07-api-data-and-database-helpers\u002F03-database-utility-functions",{"path":2344,"title":1496,"order":1243,"module":1275,"status":1221},"\u002Finternet-applications\u002Fpresentations\u002F08-reusable-components-jquery-and-ajax\u002F01-milestone-2-bootstrap-and-reusability",{"path":2346,"title":1499,"order":1247,"module":1275,"status":1221},"\u002Finternet-applications\u002Fpresentations\u002F08-reusable-components-jquery-and-ajax\u002F02-jquery-brief-intro",{"path":2348,"title":1502,"order":1370,"module":1275,"status":1221},"\u002Finternet-applications\u002Fpresentations\u002F08-reusable-components-jquery-and-ajax\u002F03-intro-to-ajax",{"path":2350,"title":1505,"order":1243,"module":1282,"status":1221},"\u002Finternet-applications\u002Fpresentations\u002F09-relational-data-search-and-pagination\u002F01-user-associations",{"path":2352,"title":1508,"order":1247,"module":1282,"status":1221},"\u002Finternet-applications\u002Fpresentations\u002F09-relational-data-search-and-pagination\u002F02-association-views-and-pagination",{"path":2354,"title":1511,"order":1243,"module":1243,"status":1221},"\u002Finternet-applications\u002Fpresentations\u002F10-association-assignment-and-security\u002F01-association-assignment-and-public-profiles",{"path":2356,"title":1514,"order":1247,"module":1243,"status":1221},"\u002Finternet-applications\u002Fpresentations\u002F10-association-assignment-and-security\u002F02-reusable-csrf-protection",{"path":1217,"title":5,"order":1216,"module":1214,"status":1221},{"path":2359,"title":2360,"order":2361,"module":1243,"status":1239},"\u002Finternet-applications\u002Fworksheets\u002Ffinal-project-submission-worksheet","Final Project Submission Worksheet","110",{"path":2363,"title":2364,"order":2365,"module":1271,"status":1239},"\u002Finternet-applications\u002Fworksheets\u002Flegacy-milestone-01-worksheet","Legacy Milestone 1 Worksheet","118",{"path":2367,"title":2368,"order":2369,"module":1271,"status":1239},"\u002Finternet-applications\u002Fworksheets\u002Flegacy-multi-dimension-php-problems-worksheet","Legacy Multi-Dimension PHP Problems Worksheet","119",{"path":2371,"title":2372,"order":2361,"module":1271,"status":1239},"\u002Finternet-applications\u002Fworksheets\u002Fmilestone-01-account-access-and-profile-worksheet","IT202 Milestone 1 - 2026",{"path":2374,"title":2375,"order":2376,"module":1275,"status":1239},"\u002Finternet-applications\u002Fworksheets\u002Fmilestone-02-api-data-and-crud-worksheet","IT202 Milestone 2 - 2026","120",{"path":2378,"title":2379,"order":2380,"module":1282,"status":1239},"\u002Finternet-applications\u002Fworksheets\u002Fmilestone-03-user-associations-worksheet","IT202 Milestone 3 - 2026","130",{"path":2382,"title":2383,"order":1243,"module":1216,"status":1239},"\u002Finternet-applications\u002Fworksheets\u002Fmodule-01-git-and-local-server-worksheet","Module 1 Worksheet: Git, GitHub, And Local Server Evidence",{"path":2385,"title":2386,"order":1247,"module":1251,"status":1239},"\u002Finternet-applications\u002Fworksheets\u002Fmodule-02-php-and-debugging-worksheet","Module 2 Worksheet: PHP Challenge Scenarios",{"path":2388,"title":2389,"order":1370,"module":86,"status":1239},"\u002Finternet-applications\u002Fworksheets\u002Fmodule-03-forms-css-and-dom-worksheet","Module 3 Worksheet: HTML, CSS, JS Challenges",{"path":2391,"title":2392,"order":1366,"module":1261,"status":1239},"\u002Finternet-applications\u002Fworksheets\u002Fmodule-04-database-auth-and-sessions-worksheet","Module 4 Worksheet: SQL Todo Challenge",{"path":2394,"title":2395,"order":1386,"module":1238,"status":1239},"\u002Finternet-applications\u002Fworksheets\u002Fmodule-05-validation-and-debugging-worksheet","Module 5 Worksheet: Validation And Debugging Evidence",{"path":2397,"title":2398,"order":1390,"module":1271,"status":1239},"\u002Finternet-applications\u002Fworksheets\u002Fmodule-06-authorization-and-crud-worksheet","Module 6 Worksheet: Authorization And CRUD Evidence",{"path":2400,"title":2401,"order":2402,"module":1271,"status":1239},"\u002Finternet-applications\u002Fworksheets\u002Fmodule-06-multi-dimensional-php-arrays-worksheet","Module 06 Worksheet: Multi-Dimensional PHP Arrays","62",{"path":2404,"title":2405,"order":1423,"module":1487,"status":1239},"\u002Finternet-applications\u002Fworksheets\u002Fmodule-07-api-testing-worksheet","Module 07 Worksheet: Project API Testing",{"path":2407,"title":2408,"order":1427,"module":1275,"status":1239},"\u002Finternet-applications\u002Fworksheets\u002Fmodule-08-jquery-and-dynamic-ui-worksheet","Module 8 Worksheet: jQuery And Dynamic UI Evidence",{"path":2410,"title":2411,"order":1431,"module":1282,"status":1239},"\u002Finternet-applications\u002Fworksheets\u002Fmodule-09-search-pagination-and-summary-worksheet","Module 9 Worksheet: Search, Pagination, And Summary Evidence",{"path":2413,"title":2414,"order":1435,"module":1243,"status":1239},"\u002Finternet-applications\u002Fworksheets\u002Fmodule-10-final-project-readiness-worksheet","Module 10 Worksheet: Final Project Readiness Evidence",{"path":2416,"title":1404,"order":1243,"module":1216,"status":1239},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F01-module-1-course-setup\u002F01-basic-cli-commands",{"path":2418,"title":1407,"order":1247,"module":1216,"status":1239},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F01-module-1-course-setup\u002F02-install-git-tools",{"path":2420,"title":1410,"order":1370,"module":1216,"status":1239},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F01-module-1-course-setup\u002F03-setup-github-ssh",{"path":2422,"title":1413,"order":1366,"module":1216,"status":1239},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F01-module-1-course-setup\u002F04-git-commands-prs",{"path":2424,"title":2425,"order":1386,"module":1216,"status":1239},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F01-module-1-course-setup\u002F05-course-repo-setup","Course Repository Setup",{"path":2427,"title":2428,"order":1390,"module":1216,"status":1239},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F01-module-1-course-setup\u002F06-java-environment-setup","Java Development Environment Setup",{"path":2430,"title":2431,"order":1243,"module":1251,"status":1239},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F02-module-2-java-basics\u002F01-java-basics","Java Basics",{"path":2433,"title":2434,"order":1247,"module":1251,"status":1239},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F02-module-2-java-basics\u002F02-flow-control","Java Flow Control",{"path":2436,"title":2437,"order":1370,"module":1251,"status":1239},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F02-module-2-java-basics\u002F03-loops","Java Loops",{"path":2439,"title":2440,"order":1366,"module":1251,"status":1239},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F02-module-2-java-basics\u002F04-collections","Java Arrays, Queue, Stack, ArrayList",{"path":2442,"title":2443,"order":1243,"module":86,"status":1239},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F03-module-3-java-io-and-oop\u002F01-user-input","Java User Input",{"path":2445,"title":2446,"order":1247,"module":86,"status":1239},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F03-module-3-java-io-and-oop\u002F02-oop-modifiers","Java Intro to OOP - Modifiers",{"path":2448,"title":2449,"order":1370,"module":86,"status":1239},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F03-module-3-java-io-and-oop\u002F03-file-io","Java File I\u002FO",{"path":2451,"title":2452,"order":1366,"module":86,"status":1239},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F03-module-3-java-io-and-oop\u002F04-recursion-trees","Java Recursion and Trees",{"path":2454,"title":2455,"order":1243,"module":1261,"status":1239},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F04-module-4-sockets-and-oop\u002F01-sockets-overview","Java Sockets: Overview",{"path":2457,"title":2458,"order":1247,"module":1261,"status":1239},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F04-module-4-sockets-and-oop\u002F02-oop-intermediate","Java OOP Intermediate",{"path":2460,"title":2461,"order":1370,"module":1261,"status":1239},"\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":2463,"title":2464,"order":1243,"module":1238,"status":1239},"\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":2466,"title":2467,"order":1247,"module":1271,"status":1239},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F06-module-6-milestone-2-prep\u002F02-prepare-milestone-2-2026","Java Advanced Programming Preparing for Milestone 2",{"path":2469,"title":2470,"order":1370,"module":1271,"status":1239},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F06-module-6-milestone-2-prep\u002F03-gameserver-ready-check","Java Advanced Programming Milestone 2: GameServer Ready Check",{"path":2472,"title":2473,"order":1243,"module":1487,"status":1239},"\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":2475,"title":2476,"order":1247,"module":1487,"status":1239},"\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":2478,"title":2479,"order":1370,"module":1487,"status":1239},"\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":2481,"title":2482,"order":1366,"module":1487,"status":1239},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F07-module-7-game-rooms-and-turns\u002F04-simultaneous-turns","Java Advanced Programming Milestone 2: Simultaneous Turns",{"path":2484,"title":2485,"order":1386,"module":1487,"status":1239},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F07-module-7-game-rooms-and-turns\u002F05-individual-turns","Java Advanced Programming Milestone 2: Individual Turns",{"path":2487,"title":2488,"order":1243,"module":1275,"status":1239},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F08-module-8-grids-cards-and-ui\u002F01-grid-integration","Java Advanced Programming Milestone 2: Grid Integration",{"path":2490,"title":2491,"order":1247,"module":1275,"status":1239},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F08-module-8-grids-cards-and-ui\u002F02-card-integration","Java Advanced Programming Milestone 2: Cards Integration",{"path":2493,"title":2494,"order":1370,"module":1275,"status":1239},"\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":2496,"title":2497,"order":1366,"module":1275,"status":1239},"\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":2499,"title":2500,"order":1386,"module":1275,"status":1239},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F08-module-8-grids-cards-and-ui\u002F05-java-ui-intro","Java Advanced Programming Java UI 2025",{"path":2502,"title":2503,"order":1243,"module":1282,"status":1239},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F09-module-9-ui-integration\u002F01-ui-integration-2026","UI Integration 2026",{"path":2505,"title":2506,"order":1247,"module":1282,"status":1239},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F09-module-9-ui-integration\u002F02-ui-drawing","UI Drawing",{"path":2508,"title":2509,"order":1370,"module":1282,"status":1239},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F09-module-9-ui-integration\u002F03-baseline-ui-integration","Baseline UI Integration",{"path":2511,"title":2512,"order":1366,"module":1282,"status":1239},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F09-module-9-ui-integration\u002F04-ndff-ui-integration","NDFF UI Integration",{"path":2514,"title":2515,"order":1386,"module":1282,"status":1239},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F09-module-9-ui-integration\u002F05-equals-6-ui","Equals 6 UI",{"path":2517,"title":2518,"order":1390,"module":1282,"status":1239},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F09-module-9-ui-integration\u002F06-popularity-mini-project","Popularity Mini Project",{"path":2520,"title":2521,"order":1243,"module":1243,"status":1239},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F10-module-10-wrap-up-and-deployment\u002F01-milestone-3-wrapup","Milestone 3 Wrapup",{"path":2523,"title":2524,"order":1247,"module":1243,"status":1239},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F10-module-10-wrap-up-and-deployment\u002F02-deploying-java-apps","Deploying Java Apps",{"path":2526,"title":2527,"order":1370,"module":1243,"status":1239},"\u002Fjava-advanced-programming\u002F2e\u002Fpresentations\u002F10-module-10-wrap-up-and-deployment\u002F03-ndff-away-spectator","NDFF Away Spectator",{"path":2529,"title":2530,"order":1216,"module":1214,"status":1221},"\u002Fjava-advanced-programming\u002F2e\u002Fsyllabus\u002Ffall-2026","IT114 - Advanced Programming for Information Technology",{"path":2532,"title":2533,"order":1243,"module":1216,"status":1239},"\u002Fjava-advanced-programming\u002Fbook\u002Fmodules\u002F01-course-setup-and-workflow\u002F01-course-tools-and-workflow","Course Tools And Workflow",{"path":2535,"title":2536,"order":1247,"module":1216,"status":1239},"\u002Fjava-advanced-programming\u002Fbook\u002Fmodules\u002F01-course-setup-and-workflow\u002F02-terminal-git-and-github","Terminal, Git, And GitHub Basics",{"path":2538,"title":2539,"order":1370,"module":1216,"status":1239},"\u002Fjava-advanced-programming\u002Fbook\u002Fmodules\u002F01-course-setup-and-workflow\u002F03-java-development-environment","Java Development Environment",{"path":2541,"title":2542,"order":1243,"module":1251,"status":1239},"\u002Fjava-advanced-programming\u002Fbook\u002Fmodules\u002F02-java-basics\u002F01-java-program-shape","The Shape Of A Java Program",{"path":2544,"title":2545,"order":1247,"module":1251,"status":1239},"\u002Fjava-advanced-programming\u002Fbook\u002Fmodules\u002F02-java-basics\u002F02-values-types-and-expressions","Values, Types, And Expressions",{"path":2547,"title":2548,"order":1370,"module":1251,"status":1239},"\u002Fjava-advanced-programming\u002Fbook\u002Fmodules\u002F02-java-basics\u002F03-conditions-loops-and-collections","Conditions, Loops, And Collections",{"path":2550,"title":2551,"order":1243,"module":86,"status":1239},"\u002Fjava-advanced-programming\u002Fbook\u002Fmodules\u002F03-java-input-io-and-oop\u002F01-user-input-and-output","User Input And Program Output",{"path":2553,"title":2554,"order":1247,"module":86,"status":1239},"\u002Fjava-advanced-programming\u002Fbook\u002Fmodules\u002F03-java-input-io-and-oop\u002F02-classes-objects-and-modifiers","Classes, Objects, And Modifiers",{"path":2556,"title":2557,"order":1370,"module":86,"status":1239},"\u002Fjava-advanced-programming\u002Fbook\u002Fmodules\u002F03-java-input-io-and-oop\u002F03-file-io-paths-and-exceptions","File I\u002FO, Paths, And Exceptions",{"path":2559,"title":2560,"order":1366,"module":86,"status":1239},"\u002Fjava-advanced-programming\u002Fbook\u002Fmodules\u002F03-java-input-io-and-oop\u002F04-recursion-and-trees","Recursion And Tree Thinking",{"path":2562,"title":2563,"order":1243,"module":1261,"status":1239},"\u002Fjava-advanced-programming\u002Fbook\u002Fmodules\u002F04-sockets-and-oop\u002F01-sockets-client-server","Sockets And Client\u002FServer Thinking",{"path":2565,"title":2566,"order":1247,"module":1261,"status":1239},"\u002Fjava-advanced-programming\u002Fbook\u002Fmodules\u002F04-sockets-and-oop\u002F02-server-socket-flow","The ServerSocket Flow",{"path":2568,"title":2569,"order":1370,"module":1261,"status":1239},"\u002Fjava-advanced-programming\u002Fbook\u002Fmodules\u002F04-sockets-and-oop\u002F03-oop-for-socket-apps","OOP For Socket Applications",{"path":2571,"title":2572,"order":1243,"module":1238,"status":1239},"\u002Fjava-advanced-programming\u002Fbook\u002Fmodules\u002F05-multi-client-sockets\u002F01-multi-client-server-shape","Multi-Client Server Shape",{"path":2574,"title":2575,"order":1247,"module":1238,"status":1239},"\u002Fjava-advanced-programming\u002Fbook\u002Fmodules\u002F05-multi-client-sockets\u002F02-threads-shared-state-and-message-routing","Threads, Shared State, And Message Routing",{"path":2577,"title":2578,"order":1370,"module":1238,"status":1239},"\u002Fjava-advanced-programming\u002Fbook\u002Fmodules\u002F05-multi-client-sockets\u002F03-debugging-socket-programs","Debugging Socket Programs",{"path":2580,"title":2581,"order":1214,"module":1214,"status":1239},"\u002Fjava-advanced-programming\u002Fbook\u002Ftoc","Java Advanced Programming: Table of Contents",{"path":2583,"title":2584,"order":1210,"module":1210,"status":1239},"\u002Fjava-advanced-programming\u002Fpresentations-revised\u002F00-revision-plan","Java Advanced Programming Presentation Revision Plan",{"path":2586,"title":2587,"order":1210,"module":1210,"status":1239},"\u002Fjava-advanced-programming\u002Fpresentations-revised\u002F01-20-minute-recording-plan","Java Advanced Programming Twenty-Minute Recording Plan",{"path":2589,"title":1404,"order":1243,"module":1216,"status":1239},"\u002Fjava-advanced-programming\u002Fpresentations\u002F01-module-1-course-setup\u002F01-basic-cli-commands",{"path":2591,"title":1407,"order":1247,"module":1216,"status":1239},"\u002Fjava-advanced-programming\u002Fpresentations\u002F01-module-1-course-setup\u002F02-install-git-tools",{"path":2593,"title":1410,"order":1370,"module":1216,"status":1239},"\u002Fjava-advanced-programming\u002Fpresentations\u002F01-module-1-course-setup\u002F03-setup-github-ssh",{"path":2595,"title":1413,"order":1366,"module":1216,"status":1239},"\u002Fjava-advanced-programming\u002Fpresentations\u002F01-module-1-course-setup\u002F04-git-commands-prs",{"path":2597,"title":2425,"order":1386,"module":1216,"status":1239},"\u002Fjava-advanced-programming\u002Fpresentations\u002F01-module-1-course-setup\u002F05-course-repo-setup",{"path":2599,"title":2428,"order":1390,"module":1216,"status":1239},"\u002Fjava-advanced-programming\u002Fpresentations\u002F01-module-1-course-setup\u002F06-java-environment-setup",{"path":2601,"title":2431,"order":1243,"module":1251,"status":1239},"\u002Fjava-advanced-programming\u002Fpresentations\u002F02-module-2-java-basics\u002F01-java-basics",{"path":2603,"title":2434,"order":1247,"module":1251,"status":1239},"\u002Fjava-advanced-programming\u002Fpresentations\u002F02-module-2-java-basics\u002F02-flow-control",{"path":2605,"title":2437,"order":1370,"module":1251,"status":1239},"\u002Fjava-advanced-programming\u002Fpresentations\u002F02-module-2-java-basics\u002F03-loops",{"path":2607,"title":2440,"order":1366,"module":1251,"status":1239},"\u002Fjava-advanced-programming\u002Fpresentations\u002F02-module-2-java-basics\u002F04-collections",{"path":2609,"title":2443,"order":1243,"module":86,"status":1239},"\u002Fjava-advanced-programming\u002Fpresentations\u002F03-module-3-java-io-and-oop\u002F01-user-input",{"path":2611,"title":2446,"order":1247,"module":86,"status":1239},"\u002Fjava-advanced-programming\u002Fpresentations\u002F03-module-3-java-io-and-oop\u002F02-oop-modifiers",{"path":2613,"title":2449,"order":1370,"module":86,"status":1239},"\u002Fjava-advanced-programming\u002Fpresentations\u002F03-module-3-java-io-and-oop\u002F03-file-io",{"path":2615,"title":2452,"order":1366,"module":86,"status":1239},"\u002Fjava-advanced-programming\u002Fpresentations\u002F03-module-3-java-io-and-oop\u002F04-recursion-trees",{"path":2617,"title":2455,"order":1243,"module":1261,"status":1239},"\u002Fjava-advanced-programming\u002Fpresentations\u002F04-module-4-sockets-and-oop\u002F01-sockets-overview",{"path":2619,"title":2458,"order":1247,"module":1261,"status":1239},"\u002Fjava-advanced-programming\u002Fpresentations\u002F04-module-4-sockets-and-oop\u002F02-oop-intermediate",{"path":2621,"title":2461,"order":1370,"module":1261,"status":1239},"\u002Fjava-advanced-programming\u002Fpresentations\u002F04-module-4-sockets-and-oop\u002F03-multi-client-chat-part-1",{"path":2623,"title":2464,"order":1243,"module":1238,"status":1239},"\u002Fjava-advanced-programming\u002Fpresentations\u002F05-module-5-multi-client-sockets\u002F01-multi-client-chat-part-2",{"path":2625,"title":2626,"order":1243,"module":1271,"status":1239},"\u002Fjava-advanced-programming\u002Fpresentations\u002F06-module-6-milestone-2-prep\u002F01-prepare-milestone-2-2025","Java Advanced Programming Preparing for Milestone2 2025",{"path":2628,"title":2467,"order":1247,"module":1271,"status":1239},"\u002Fjava-advanced-programming\u002Fpresentations\u002F06-module-6-milestone-2-prep\u002F02-prepare-milestone-2-2026",{"path":2630,"title":2470,"order":1370,"module":1271,"status":1239},"\u002Fjava-advanced-programming\u002Fpresentations\u002F06-module-6-milestone-2-prep\u002F03-gameserver-ready-check",{"path":2632,"title":2473,"order":1243,"module":1487,"status":1239},"\u002Fjava-advanced-programming\u002Fpresentations\u002F07-module-7-game-rooms-and-turns\u002F01-game-rooms-ready-check",{"path":2634,"title":2476,"order":1247,"module":1487,"status":1239},"\u002Fjava-advanced-programming\u002Fpresentations\u002F07-module-7-game-rooms-and-turns\u002F02-round-robin-turns",{"path":2636,"title":2479,"order":1370,"module":1487,"status":1239},"\u002Fjava-advanced-programming\u002Fpresentations\u002F07-module-7-game-rooms-and-turns\u002F03-phase-based-turns",{"path":2638,"title":2482,"order":1366,"module":1487,"status":1239},"\u002Fjava-advanced-programming\u002Fpresentations\u002F07-module-7-game-rooms-and-turns\u002F04-simultaneous-turns",{"path":2640,"title":2485,"order":1386,"module":1487,"status":1239},"\u002Fjava-advanced-programming\u002Fpresentations\u002F07-module-7-game-rooms-and-turns\u002F05-individual-turns",{"path":2642,"title":2488,"order":1243,"module":1275,"status":1239},"\u002Fjava-advanced-programming\u002Fpresentations\u002F08-module-8-grids-cards-and-ui\u002F01-grid-integration",{"path":2644,"title":2491,"order":1247,"module":1275,"status":1239},"\u002Fjava-advanced-programming\u002Fpresentations\u002F08-module-8-grids-cards-and-ui\u002F02-card-integration",{"path":2646,"title":2494,"order":1370,"module":1275,"status":1239},"\u002Fjava-advanced-programming\u002Fpresentations\u002F08-module-8-grids-cards-and-ui\u002F03-equals-6-mini-project",{"path":2648,"title":2497,"order":1366,"module":1275,"status":1239},"\u002Fjava-advanced-programming\u002Fpresentations\u002F08-module-8-grids-cards-and-ui\u002F04-nice-day-for-fishin",{"path":2650,"title":2500,"order":1386,"module":1275,"status":1239},"\u002Fjava-advanced-programming\u002Fpresentations\u002F08-module-8-grids-cards-and-ui\u002F05-java-ui-intro",{"path":2652,"title":2503,"order":1243,"module":1282,"status":1239},"\u002Fjava-advanced-programming\u002Fpresentations\u002F09-module-9-ui-integration\u002F01-ui-integration-2026",{"path":2654,"title":2506,"order":1247,"module":1282,"status":1239},"\u002Fjava-advanced-programming\u002Fpresentations\u002F09-module-9-ui-integration\u002F02-ui-drawing",{"path":2656,"title":2509,"order":1370,"module":1282,"status":1239},"\u002Fjava-advanced-programming\u002Fpresentations\u002F09-module-9-ui-integration\u002F03-baseline-ui-integration",{"path":2658,"title":2512,"order":1366,"module":1282,"status":1239},"\u002Fjava-advanced-programming\u002Fpresentations\u002F09-module-9-ui-integration\u002F04-ndff-ui-integration",{"path":2660,"title":2515,"order":1386,"module":1282,"status":1239},"\u002Fjava-advanced-programming\u002Fpresentations\u002F09-module-9-ui-integration\u002F05-equals-6-ui",{"path":2662,"title":2518,"order":1390,"module":1282,"status":1239},"\u002Fjava-advanced-programming\u002Fpresentations\u002F09-module-9-ui-integration\u002F06-popularity-mini-project",{"path":2664,"title":2521,"order":1243,"module":1243,"status":1239},"\u002Fjava-advanced-programming\u002Fpresentations\u002F10-module-10-wrap-up-and-deployment\u002F01-milestone-3-wrapup",{"path":2666,"title":2524,"order":1247,"module":1243,"status":1239},"\u002Fjava-advanced-programming\u002Fpresentations\u002F10-module-10-wrap-up-and-deployment\u002F02-deploying-java-apps",{"path":2668,"title":2527,"order":1370,"module":1243,"status":1239},"\u002Fjava-advanced-programming\u002Fpresentations\u002F10-module-10-wrap-up-and-deployment\u002F03-ndff-away-spectator",{"path":2670,"title":2671,"order":1243,"module":1216,"status":1239},"\u002Fsystems-integration\u002F2e\u002Fpresentations\u002F01-required-architecture-overview","Required Architecture Overview",{"path":2673,"title":2674,"order":1216,"module":1214,"status":1221},"\u002Fsystems-integration\u002F2e\u002Fsyllabus\u002Ffall-2026","IT490 - Systems Integration Syllabus",{"path":2676,"title":2677,"order":1216,"module":1214,"status":1221},"\u002Fsystems-integration","Systems Integration",{"path":2679,"title":2680,"order":1210,"module":1210,"status":1239},"\u002Fsystems-integration\u002Fpresentations-revised\u002F00-revision-plan","Systems Integration Presentation Revision Plan",{"path":2682,"title":2683,"order":1210,"module":1210,"status":1239},"\u002Fsystems-integration\u002Fpresentations-revised\u002F01-20-minute-recording-plan","Systems Integration Twenty-Minute Recording Plan",{"path":2685,"title":2671,"order":1243,"module":1216,"status":1221},"\u002Fsystems-integration\u002Fpresentations\u002F01-required-architecture-overview",{"path":2687,"title":2674,"order":1216,"module":1214,"status":1221},"\u002Fsystems-integration\u002Fsyllabus\u002Fsummer-2026",{"path":2689,"title":2690,"order":1210,"module":1210,"status":1210},"\u002Fsystems-integration\u002Fworksheets\u002Fit490-authentication-authorization-core-2026-draft","IT490 Authentication and Authorization Core Milestone (2026)",{"path":2692,"title":2693,"order":1210,"module":1210,"status":1210},"\u002Fsystems-integration\u002Fworksheets\u002Fit490-centralized-logging-milestone-draft","IT490 Centralized Logging Milestone",{"path":2695,"title":2696,"order":1210,"module":1210,"status":1210},"\u002Fsystems-integration\u002Fworksheets\u002Fit490-milestone-3-resiliency-2026-draft","IT490 Milestone 3 - Deployment, Promotion, And Recovery",{"path":2698,"title":2699,"order":1210,"module":1210,"status":1210},"\u002Fsystems-integration\u002Fworksheets\u002Fit490-milestone-4-availability-2026-draft","IT490 Milestone 4 - Availability, Load Balancing, And Recovery",{"path":2701,"title":2702,"order":1247,"module":1214,"status":1239},"\u002Fsystems-integration\u002Fworksheets\u002Fmeeting-minutes-template","IT490 Meeting Minutes Template",{"path":2704,"title":2705,"order":1370,"module":1214,"status":1239},"\u002Fsystems-integration\u002Fworksheets\u002Fproject-changelog-template","IT490 Project Change Log Template",{"path":2707,"title":2708,"order":1243,"module":1214,"status":1239},"\u002Fsystems-integration\u002Fworksheets\u002Fproject-proposal-template","IT490 Project Proposal Template",{"id":4,"title":5,"audience":6,"body":2710,"contentType":1208,"course":46,"description":1209,"estimateBasis":1210,"estimatedDiscussionMinutes":1210,"estimatedLiveMinutes":1210,"estimatedTotalMinutes":1210,"extension":1211,"meta":3542,"module":1214,"navigation":1215,"order":1216,"path":1217,"presentationRole":1218,"promptAssist":1219,"revision":1210,"semester":70,"seo":3543,"status":1221,"stem":1222,"syllabus":1210,"tags":3544,"updated":1210,"videoDuration":1226,"videoId":1227,"videoLink":1228,"videoTitle":1229,"week":1214,"__hash__":1230},{"type":8,"value":2711,"toc":3507},[2712,2714,2716,2790,2792,2814,2816,2834,2836,2838,2840,2842,2844,2855,2857,2859,2861,2875,2877,2904,2906,2908,2910,2912,2914,2916,2918,2920,3020,3022,3024,3101,3103,3105,3107,3109,3111,3113,3115,3117,3119,3121,3123,3125,3127,3129,3131,3133,3135,3137,3139,3141,3195,3197,3199,3201,3203,3263,3265,3267,3269,3291,3293,3322,3324,3329,3331,3333,3374,3376,3378,3396,3398,3400,3402,3404,3406,3408,3410,3417,3421,3423,3425,3427,3439,3441,3451,3456,3458,3463,3465,3467,3474,3476,3478,3480,3482,3484,3486,3488,3490,3492,3497,3499,3501,3503,3505],[11,2713,5],{"id":13},[15,2715,18],{"id":17},[20,2717,2718,2726],{},[23,2719,2720],{},[26,2721,2722,2724],{},[29,2723,31],{},[29,2725,34],{},[36,2727,2728,2734,2740,2746,2752,2758,2764,2770,2778,2784],{},[26,2729,2730,2732],{},[41,2731,43],{},[41,2733,46],{},[26,2735,2736,2738],{},[41,2737,51],{},[41,2739,54],{},[26,2741,2742,2744],{},[41,2743,59],{},[41,2745,62],{},[26,2747,2748,2750],{},[41,2749,67],{},[41,2751,70],{},[26,2753,2754,2756],{},[41,2755,75],{},[41,2757,78],{},[26,2759,2760,2762],{},[41,2761,83],{},[41,2763,86],{},[26,2765,2766,2768],{},[41,2767,91],{},[41,2769,94],{},[26,2771,2772,2774],{},[41,2773,99],{},[41,2775,2776],{},[103,2777,106],{"href":105},[26,2779,2780,2782],{},[41,2781,111],{},[41,2783,114],{},[26,2785,2786,2788],{},[41,2787,119],{},[41,2789,114],{},[15,2791,125],{"id":124},[20,2793,2794,2804],{},[23,2795,2796],{},[26,2797,2798,2800,2802],{},[29,2799,134],{},[29,2801,137],{},[29,2803,140],{},[36,2805,2806],{},[26,2807,2808,2810,2812],{},[41,2809,62],{},[41,2811,149],{},[41,2813,152],{},[15,2815,156],{"id":155},[20,2817,2818,2826],{},[23,2819,2820],{},[26,2821,2822,2824],{},[29,2823,137],{},[29,2825,140],{},[36,2827,2828],{},[26,2829,2830,2832],{},[41,2831,173],{},[41,2833,176],{},[178,2835,180],{},[15,2837,184],{"id":183},[178,2839,187],{},[178,2841,190],{},[15,2843,194],{"id":193},[178,2845,197,2846,204,2849,204,2852,215],{},[103,2847,203],{"href":200,"rel":2848},[202],[103,2850,209],{"href":207,"rel":2851},[202],[103,2853,214],{"href":212,"rel":2854},[202],[178,2856,218],{},[15,2858,222],{"id":221},[178,2860,225],{},[227,2862,2863,2865,2867,2869,2871,2873],{},[230,2864,232],{},[230,2866,235],{},[230,2868,238],{},[230,2870,241],{},[230,2872,244],{},[230,2874,247],{},[178,2876,250],{},[227,2878,2879,2884,2889,2894,2899],{},[230,2880,2881],{},[103,2882,259],{"href":257,"rel":2883},[202],[230,2885,2886],{},[103,2887,266],{"href":264,"rel":2888},[202],[230,2890,2891],{},[103,2892,273],{"href":271,"rel":2893},[202],[230,2895,2896],{},[103,2897,280],{"href":278,"rel":2898},[202],[230,2900,2901],{},[103,2902,287],{"href":285,"rel":2903},[202],[15,2905,291],{"id":290},[178,2907,294],{},[178,2909,297],{},[178,2911,300],{},[178,2913,303],{},[178,2915,306],{},[15,2917,310],{"id":309},[178,2919,313],{},[315,2921,2922,2934,2946,2954,2970,2988,2990,3000,3008],{},[230,2923,319,2924],{},[227,2925,2926,2928,2930,2932],{},[230,2927,324],{},[230,2929,327],{},[230,2931,330],{},[230,2933,333],{},[230,2935,336,2936],{},[227,2937,2938,2940,2942,2944],{},[230,2939,341],{},[230,2941,344],{},[230,2943,347],{},[230,2945,350],{},[230,2947,353,2948],{},[227,2949,2950,2952],{},[230,2951,358],{},[230,2953,361],{},[230,2955,364,2956],{},[227,2957,2958,2960,2962,2964],{},[230,2959,369],{},[230,2961,372],{},[230,2963,375],{},[230,2965,378,2966,383,2968,387],{},[380,2967,382],{},[380,2969,386],{},[230,2971,390,2972],{},[227,2973,2974,2976,2978,2980,2982,2984,2986],{},[230,2975,395],{},[230,2977,398],{},[230,2979,401],{},[230,2981,404],{},[230,2983,407],{},[230,2985,410],{},[230,2987,413],{},[230,2989,416],{},[230,2991,419,2992],{},[227,2993,2994,2996,2998],{},[230,2995,424],{},[230,2997,427],{},[230,2999,430],{},[230,3001,433,3002],{},[227,3003,3004,3006],{},[230,3005,438],{},[230,3007,441],{},[230,3009,444,3010],{},[227,3011,3012,3014,3016,3018],{},[230,3013,449],{},[230,3015,452],{},[230,3017,455],{},[230,3019,458],{},[15,3021,462],{"id":461},[178,3023,465],{},[467,3025,3026],{"variant":469},[20,3027,3028,3036],{},[23,3029,3030],{},[26,3031,3032,3034],{},[29,3033,478],{},[29,3035,481],{},[36,3037,3038,3044,3050,3056,3065,3071,3077,3083,3089,3095],{},[26,3039,3040,3042],{},[41,3041,488],{},[41,3043,491],{},[26,3045,3046,3048],{},[41,3047,496],{},[41,3049,499],{},[26,3051,3052,3054],{},[41,3053,504],{},[41,3055,507],{},[26,3057,3058,3060],{},[41,3059,512],{},[41,3061,515,3062],{},[103,3063,520],{"href":518,"rel":3064},[202],[26,3066,3067,3069],{},[41,3068,525],{},[41,3070,528],{},[26,3072,3073,3075],{},[41,3074,533],{},[41,3076,536],{},[26,3078,3079,3081],{},[41,3080,541],{},[41,3082,544],{},[26,3084,3085,3087],{},[41,3086,549],{},[41,3088,552],{},[26,3090,3091,3093],{},[41,3092,557],{},[41,3094,560],{},[26,3096,3097,3099],{},[41,3098,565],{},[41,3100,568],{},[570,3102,573],{"id":572},[178,3104,576],{},[178,3106,579],{},[15,3108,583],{"id":582},[178,3110,586],{},[178,3112,589],{},[178,3114,592],{},[15,3116,596],{"id":595},[178,3118,599],{},[178,3120,602],{},[178,3122,605],{},[178,3124,608],{},[15,3126,612],{"id":611},[178,3128,615],{},[178,3130,618],{},[178,3132,621],{},[15,3134,625],{"id":624},[178,3136,628],{},[178,3138,631],{},[15,3140,635],{"id":634},[20,3142,3143,3151],{},[23,3144,3145],{},[26,3146,3147,3149],{},[29,3148,644],{},[29,3150,648],{"align":647},[36,3152,3153,3159,3165,3171,3177,3183,3189],{},[26,3154,3155,3157],{},[41,3156,655],{},[41,3158,658],{"align":647},[26,3160,3161,3163],{},[41,3162,612],{},[41,3164,665],{"align":647},[26,3166,3167,3169],{},[41,3168,670],{},[41,3170,673],{"align":647},[26,3172,3173,3175],{},[41,3174,583],{},[41,3176,680],{"align":647},[26,3178,3179,3181],{},[41,3180,685],{},[41,3182,688],{"align":647},[26,3184,3185,3187],{},[41,3186,693],{},[41,3188,688],{"align":647},[26,3190,3191,3193],{},[41,3192,700],{},[41,3194,703],{"align":647},[178,3196,706],{},[15,3198,710],{"id":709},[178,3200,713],{},[15,3202,717],{"id":716},[20,3204,3205,3213],{},[23,3206,3207],{},[26,3208,3209,3211],{},[29,3210,726],{},[29,3212,729],{},[36,3214,3215,3221,3227,3233,3239,3245,3251,3257],{},[26,3216,3217,3219],{},[41,3218,736],{},[41,3220,739],{},[26,3222,3223,3225],{},[41,3224,744],{},[41,3226,747],{},[26,3228,3229,3231],{},[41,3230,752],{},[41,3232,755],{},[26,3234,3235,3237],{},[41,3236,760],{},[41,3238,763],{},[26,3240,3241,3243],{},[41,3242,768],{},[41,3244,771],{},[26,3246,3247,3249],{},[41,3248,776],{},[41,3250,779],{},[26,3252,3253,3255],{},[41,3254,784],{},[41,3256,787],{},[26,3258,3259,3261],{},[41,3260,792],{},[41,3262,795],{},[15,3264,799],{"id":798},[178,3266,802],{},[178,3268,805],{},[227,3270,3271,3276,3281,3286],{},[230,3272,3273],{},[103,3274,814],{"href":812,"rel":3275},[202],[230,3277,3278],{},[103,3279,821],{"href":819,"rel":3280},[202],[230,3282,3283],{},[103,3284,828],{"href":826,"rel":3285},[202],[230,3287,3288],{},[103,3289,835],{"href":833,"rel":3290},[202],[178,3292,838],{},[227,3294,3295,3297,3299,3301,3303,3305,3313,3315,3317],{},[230,3296,843],{},[230,3298,846],{},[230,3300,849],{},[230,3302,852],{},[230,3304,855],{},[230,3306,858,3307],{},[227,3308,3309,3311],{},[230,3310,863],{},[230,3312,866],{},[230,3314,869],{},[230,3316,872],{},[230,3318,875,3319],{},[103,3320,880],{"href":878,"rel":3321},[202],[178,3323,883],{},[178,3325,886,3326,892],{},[103,3327,891],{"href":889,"rel":3328},[202],[15,3330,896],{"id":895},[178,3332,899],{},[227,3334,3335,3346,3351,3356,3361,3363,3368,3370,3372],{},[230,3336,3337,204,3340,914,3343],{},[103,3338,908],{"href":906,"rel":3339},[202],[103,3341,913],{"href":911,"rel":3342},[202],[103,3344,919],{"href":917,"rel":3345},[202],[230,3347,3348],{},[103,3349,119],{"href":924,"rel":3350},[202],[230,3352,3353,933],{},[103,3354,932],{"href":930,"rel":3355},[202],[230,3357,3358],{},[103,3359,940],{"href":938,"rel":3360},[202],[230,3362,943],{},[230,3364,3365],{},[103,3366,950],{"href":948,"rel":3367},[202],[230,3369,953],{},[230,3371,956],{},[230,3373,959],{},[15,3375,963],{"id":962},[178,3377,966],{},[227,3379,3380,3382,3384,3386,3388,3390,3392,3394],{},[230,3381,971],{},[230,3383,974],{},[230,3385,977],{},[230,3387,980],{},[230,3389,983],{},[230,3391,986],{},[230,3393,989],{},[230,3395,992],{},[15,3397,996],{"id":995},[570,3399,1000],{"id":999},[178,3401,1003],{},[178,3403,1006],{},[570,3405,1010],{"id":1009},[178,3407,1013],{},[178,3409,1016],{},[227,3411,3412],{},[230,3413,3414],{},[103,3415,1025],{"href":1023,"rel":3416},[202],[178,3418,1028,3419,387],{},[103,3420,1032],{"href":1031},[570,3422,1036],{"id":1035},[178,3424,1039],{},[178,3426,1042],{},[227,3428,3429,3431,3433,3435,3437],{},[230,3430,1047],{},[230,3432,1050],{},[230,3434,1053],{},[230,3436,1056],{},[230,3438,1059],{},[178,3440,1062],{},[227,3442,3443,3445,3447,3449],{},[230,3444,1067],{},[230,3446,1070],{},[230,3448,1073],{},[230,3450,1076],{},[178,3452,1079,3453,1085],{},[103,3454,1084],{"href":1082,"rel":3455},[202],[570,3457,1089],{"id":1088},[178,3459,1092,3460,1098],{},[103,3461,1097],{"href":1095,"rel":3462},[202],[570,3464,1102],{"id":1101},[178,3466,1105],{},[227,3468,3469],{},[230,3470,3471],{},[103,3472,1114],{"href":1112,"rel":3473},[202],[570,3475,1118],{"id":1117},[178,3477,1121],{},[178,3479,1124],{},[570,3481,1128],{"id":1127},[178,3483,1131],{},[570,3485,1135],{"id":1134},[178,3487,1138],{},[178,3489,1141],{},[178,3491,1144],{},[178,3493,1147,3494,387],{},[103,3495,1152],{"href":1150,"rel":3496},[202],[570,3498,1156],{"id":1155},[178,3500,1159],{},[178,3502,1162],{},[15,3504,1166],{"id":1165},[178,3506,1169],{},{"title":1171,"searchDepth":1172,"depth":1172,"links":3508},[3509,3510,3511,3512,3513,3514,3515,3516,3517,3520,3521,3522,3523,3524,3525,3526,3527,3528,3529,3530,3541],{"id":17,"depth":1172,"text":18},{"id":124,"depth":1172,"text":125},{"id":155,"depth":1172,"text":156},{"id":183,"depth":1172,"text":184},{"id":193,"depth":1172,"text":194},{"id":221,"depth":1172,"text":222},{"id":290,"depth":1172,"text":291},{"id":309,"depth":1172,"text":310},{"id":461,"depth":1172,"text":462,"children":3518},[3519],{"id":572,"depth":1185,"text":573},{"id":582,"depth":1172,"text":583},{"id":595,"depth":1172,"text":596},{"id":611,"depth":1172,"text":612},{"id":624,"depth":1172,"text":625},{"id":634,"depth":1172,"text":635},{"id":709,"depth":1172,"text":710},{"id":716,"depth":1172,"text":717},{"id":798,"depth":1172,"text":799},{"id":895,"depth":1172,"text":896},{"id":962,"depth":1172,"text":963},{"id":995,"depth":1172,"text":996,"children":3531},[3532,3533,3534,3535,3536,3537,3538,3539,3540],{"id":999,"depth":1185,"text":1000},{"id":1009,"depth":1185,"text":1010},{"id":1035,"depth":1185,"text":1036},{"id":1088,"depth":1185,"text":1089},{"id":1101,"depth":1185,"text":1102},{"id":1117,"depth":1185,"text":1118},{"id":1127,"depth":1185,"text":1128},{"id":1134,"depth":1185,"text":1135},{"id":1155,"depth":1185,"text":1156},{"id":1165,"depth":1172,"text":1166},{"sourcePath":1213},{"title":5,"description":1209},[1224,1208,1225],1788152082948]