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