{"version":1,"pages":[{"id":"2mljAIKaRHhRnZyrhd3m","title":"Curriculum Overview","pathname":"/js-the-interactive-web","siteSpaceId":"sitesp_xrNSv","description":"A NYS Computing Standard-Aligned Intermediate High School Computer Science Curriculum using HTML/CSS/JS."},{"id":"suvhGR1CkYV5kwArixN7","title":"Leave Us Feedback","pathname":"/js-the-interactive-web/leave-us-feedback","siteSpaceId":"sitesp_xrNSv","emoji":"1f4ec","description":""},{"id":"Xt9rjzqEwh9QSxy9Aswk","title":"Unit 1 Overview","pathname":"/js-the-interactive-web/unit-1-html-and-css-good-vs-bad-design/unit-1-overview","siteSpaceId":"sitesp_xrNSv","emoji":"1f52e","description":"How can I create well designed and accessible webpages with HTML and CSS?","breadcrumbs":[{"label":"Unit 1: HTML & CSS: Good vs Bad Design"}]},{"id":"MaYXYHUfYLOnqyP2vSux","title":"U1LA1.1: Building with HTML","pathname":"/js-the-interactive-web/unit-1-html-and-css-good-vs-bad-design/u1la1.1-building-with-html","siteSpaceId":"sitesp_xrNSv","description":"How can I build a website using HTML?","breadcrumbs":[{"label":"Unit 1: HTML & CSS: Good vs Bad Design"}]},{"id":"pglCSgCV9JwvtrS8otcM","title":"U1LA1.2: Structuring Pages with Divs, Classes, IDs","pathname":"/js-the-interactive-web/unit-1-html-and-css-good-vs-bad-design/u1la1.2-structuring-pages-with-divs-classes-ids","siteSpaceId":"sitesp_xrNSv","description":"How can I use divs, classes, and IDs to create structure on a page?","breadcrumbs":[{"label":"Unit 1: HTML & CSS: Good vs Bad Design"}]},{"id":"Jmggrm4K7jHShKNCax0I","title":"U1LA1 Mini Project: My Fan Page Part 1","pathname":"/js-the-interactive-web/unit-1-html-and-css-good-vs-bad-design/u1la1-lab-my-fan-page-part-1","siteSpaceId":"sitesp_xrNSv","emoji":"1f5c3","description":"How do you use HTML elements to build a webpage?","breadcrumbs":[{"label":"Unit 1: HTML & CSS: Good vs Bad Design"}]},{"id":"4hoHdeApBAxYOMTJybYy","title":"U1LA2.1: Styling your page with CSS","pathname":"/js-the-interactive-web/unit-1-html-and-css-good-vs-bad-design/u1la2.1-styling-your-page-with-css","siteSpaceId":"sitesp_xrNSv","description":"How can I add style to my HTML page using cascading style sheets?","breadcrumbs":[{"label":"Unit 1: HTML & CSS: Good vs Bad Design"}]},{"id":"NuVFd0Jg6ukpXnsioY1a","title":"U1LA2 Lab: My Fan Page Part 2","pathname":"/js-the-interactive-web/unit-1-html-and-css-good-vs-bad-design/u1la2-lab-my-fan-page-part-2","siteSpaceId":"sitesp_xrNSv","emoji":"1f5c3","description":"How can I add specific styles such as color, spacing, and font to my web page?","breadcrumbs":[{"label":"Unit 1: HTML & CSS: Good vs Bad Design"}]},{"id":"IE6q7fd7nvdnpw6UQBDy","title":"U1LA3.1: Layout with CSS Grid","pathname":"/js-the-interactive-web/unit-1-html-and-css-good-vs-bad-design/u1la3.1-tbd-grid-lesson","siteSpaceId":"sitesp_xrNSv","description":"How can I structure the content/elements on my HTML page using CSS grids?","breadcrumbs":[{"label":"Unit 1: HTML & CSS: Good vs Bad Design"}]},{"id":"kFREYGy228kl3Ru0L8a1","title":"U1LA3.1 Lab: Grid Interview","pathname":"/js-the-interactive-web/unit-1-html-and-css-good-vs-bad-design/u1la3.1-lab-grid-interview","siteSpaceId":"sitesp_xrNSv","emoji":"1f5c3","description":"How can I use CSS Grid to format sections of a webpage into different sizes and orientations?","breadcrumbs":[{"label":"Unit 1: HTML & CSS: Good vs Bad Design"}]},{"id":"GD9WuIUgSQaF8AtScGGq","title":"U1LA3.2: Layout with Flexbox","pathname":"/js-the-interactive-web/unit-1-html-and-css-good-vs-bad-design/u1la3.2-tbd-flexbox-lesson","siteSpaceId":"sitesp_xrNSv","description":"How can I place container items using Flexbox?","breadcrumbs":[{"label":"Unit 1: HTML & CSS: Good vs Bad Design"}]},{"id":"isaKiNoNYeYUdqnK37CH","title":"U1LA3.2 Lab: Flexbox Interview","pathname":"/js-the-interactive-web/unit-1-html-and-css-good-vs-bad-design/u1la3.2-lab-flexbox-interview","siteSpaceId":"sitesp_xrNSv","emoji":"1f5c3","description":"How does Flexbox offer more specific formatting than Grid?","breadcrumbs":[{"label":"Unit 1: HTML & CSS: Good vs Bad Design"}]},{"id":"UhtyiaSMBFlRUOl5MqKz","title":"U1LA4.1: Focus on Design in HTML && CSS","pathname":"/js-the-interactive-web/unit-1-html-and-css-good-vs-bad-design/u1la2.4-focus-on-design-in-html-and-and-css","siteSpaceId":"sitesp_xrNSv","description":"What elements of HTML and CSS make a well-designed page?","breadcrumbs":[{"label":"Unit 1: HTML & CSS: Good vs Bad Design"}]},{"id":"N1oh0Iu608XbhUYIcMna","title":"U1LA4.2: Breakpoint Lesson","pathname":"/js-the-interactive-web/unit-1-html-and-css-good-vs-bad-design/u1la4.2-tbd-breakpoint-lesson","siteSpaceId":"sitesp_xrNSv","description":"How can I use media queries to create responsive layouts?","breadcrumbs":[{"label":"Unit 1: HTML & CSS: Good vs Bad Design"}]},{"id":"1ZZnXUgftWXPVvV1rnu3","title":"U1LA4 Lab: ChefHub Goes Mobile","pathname":"/js-the-interactive-web/unit-1-html-and-css-good-vs-bad-design/u1la4-lab-chefhub-goes-mobile","siteSpaceId":"sitesp_xrNSv","emoji":"1f5c3","description":"How can media queries at certain breakpoints be used to make for a responsive webpage?","breadcrumbs":[{"label":"Unit 1: HTML & CSS: Good vs Bad Design"}]},{"id":"wqeS8WhRtjyYLA3LzAym","title":"U1LA5.1: Creating Accessible Websites","pathname":"/js-the-interactive-web/unit-1-html-and-css-good-vs-bad-design/u1la5.2-creating-accessible-websites","siteSpaceId":"sitesp_xrNSv","description":"How can I adjust my HTML to create websites that are accessible for all?","breadcrumbs":[{"label":"Unit 1: HTML & CSS: Good vs Bad Design"}]},{"id":"MVmkFkpcAZqMIAzMZ7O9","title":"U1LA5 Lab: What Do You Hear? Make it Accessible","pathname":"/js-the-interactive-web/unit-1-html-and-css-good-vs-bad-design/u1la5-lab-what-do-you-hear-make-it-accessible","siteSpaceId":"sitesp_xrNSv","emoji":"1f5c3","description":"What can one do to make a website more easily accessible?","breadcrumbs":[{"label":"Unit 1: HTML & CSS: Good vs Bad Design"}]},{"id":"PGDDKm2cY9pSX7C0yiwX","title":"U1LA6.1: Working with CSS Frameworks - Bulma","pathname":"/js-the-interactive-web/unit-1-html-and-css-good-vs-bad-design/u1la6.1-tbd-bulma-lesson","siteSpaceId":"sitesp_xrNSv","description":"How can a CSS Framework help me to quickly build organized, well-designed websites?","breadcrumbs":[{"label":"Unit 1: HTML & CSS: Good vs Bad Design"}]},{"id":"a8IGI3EZnL30Pa5ZCplG","title":"U1LA6 Lab: CheeseBook Computers with Bulma","pathname":"/js-the-interactive-web/unit-1-html-and-css-good-vs-bad-design/u1la6-lab-cheesebook-computers-with-bulma","siteSpaceId":"sitesp_xrNSv","emoji":"1f5c3","description":"How Bulma make styling webpages easier?","breadcrumbs":[{"label":"Unit 1: HTML & CSS: Good vs Bad Design"}]},{"id":"tSQcubHIK2jlQzvwkbxx","title":"Unit 1 Final Project: My Travel Page","pathname":"/js-the-interactive-web/unit-1-html-and-css-good-vs-bad-design/unit-1-final-project-my-travel-page","siteSpaceId":"sitesp_xrNSv","emoji":"1f3a8","description":"How can one use HTML, CSS, and Bulma together to make an accessible and responsive website?","breadcrumbs":[{"label":"Unit 1: HTML & CSS: Good vs Bad Design"}]},{"id":"bD2ypsPaZrCP1GUt1XM2","title":"Unit 2 Overview","pathname":"/js-the-interactive-web/unit-2-intro-to-dom-manipulation-basics/unit-2-overview","siteSpaceId":"sitesp_xrNSv","emoji":"1f52e","description":"How can I create a more interactive webpage using Javascript?","breadcrumbs":[{"label":"Unit 2: Intro to DOM Manipulation Basics"}]},{"id":"ngcnl0QIxIBXGyD4J59t","title":"U2LA1: JavaScript Essentials - Variables to Arrow Functions","pathname":"/js-the-interactive-web/unit-2-intro-to-dom-manipulation-basics/u2la1-javascript-essentials-variables-to-arrow-functions","siteSpaceId":"sitesp_xrNSv","description":"How can I store and manipulate data to later be used in various ways throughout my website?","breadcrumbs":[{"label":"Unit 2: Intro to DOM Manipulation Basics"}]},{"id":"CO03PmhVFA45mDl8ykQi","title":"U2LA1 Mini Project: JavaScript Essentials","pathname":"/js-the-interactive-web/unit-2-intro-to-dom-manipulation-basics/u2la1-mini-project-javascript-essentials","siteSpaceId":"sitesp_xrNSv","emoji":"1f5c3","description":"How can I store and manipulate data to later be used in various ways throughout my website?","breadcrumbs":[{"label":"Unit 2: Intro to DOM Manipulation Basics"}]},{"id":"8CvHIHzZGx0Pa5P0dP9V","title":"U2LA2.1: DOM Manipulation with JavaScript Click Interactions","pathname":"/js-the-interactive-web/unit-2-intro-to-dom-manipulation-basics/u2la2.1-dom-manipulation-with-javascript-click-interactions","siteSpaceId":"sitesp_xrNSv","description":"How can JavaScript help me make my websites interactive?","breadcrumbs":[{"label":"Unit 2: Intro to DOM Manipulation Basics"}]},{"id":"VGP8jVL8uOol0fNSchAt","title":"U2LA2.2: Accessible Shopping Cart","pathname":"/js-the-interactive-web/unit-2-intro-to-dom-manipulation-basics/untitled","siteSpaceId":"sitesp_xrNSv","description":"How can I make it easier for someone using a screen reader to interact through a webpage?","breadcrumbs":[{"label":"Unit 2: Intro to DOM Manipulation Basics"}]},{"id":"9gJx54gWgDjeBwSkO2Sn","title":"U2LA2 Mini Project: The National Horse Race","pathname":"/js-the-interactive-web/unit-2-intro-to-dom-manipulation-basics/u2la2-mini-project-the-national-horse-race","siteSpaceId":"sitesp_xrNSv","emoji":"1f5c3","description":"How do you change a webpage based on clicked buttons?","breadcrumbs":[{"label":"Unit 2: Intro to DOM Manipulation Basics"}]},{"id":"XY1jvdoAKrgQUQPQel9E","title":"U2LA3: Inputs and Conditionals","pathname":"/js-the-interactive-web/unit-2-intro-to-dom-manipulation-basics/u2la3-inputs-and-conditionals","siteSpaceId":"sitesp_xrNSv","description":"How can I make changes to a page based on an input?","breadcrumbs":[{"label":"Unit 2: Intro to DOM Manipulation Basics"}]},{"id":"99U1OxqHuwI0Y1KZfAtz","title":"U2LA3 Mini Project: The Interactive Site","pathname":"/js-the-interactive-web/unit-2-intro-to-dom-manipulation-basics/u2la3-mini-project-the-interactive-site","siteSpaceId":"sitesp_xrNSv","emoji":"1f5c3","description":"What are ways you can change a webpage based on other inputs while maintaining accessibility?","breadcrumbs":[{"label":"Unit 2: Intro to DOM Manipulation Basics"}]},{"id":"ZhR9mL6q7WqevR5R5uBX","title":"U2LA4: Add, Remove, and Toggle","pathname":"/js-the-interactive-web/unit-2-intro-to-dom-manipulation-basics/u2la4-add-remove-and-toggle","siteSpaceId":"sitesp_xrNSv","description":"How can I change the classes an element has as I interact with the page?","breadcrumbs":[{"label":"Unit 2: Intro to DOM Manipulation Basics"}]},{"id":"mqxWlRg0hKWFSm5QWTh0","title":"U2LA4 Mini Project: The Cross-Wired Lightbulbs Puzzle","pathname":"/js-the-interactive-web/unit-2-intro-to-dom-manipulation-basics/u2la4-mini-project-the-cross-wired-lightbulbs-puzzle","siteSpaceId":"sitesp_xrNSv","emoji":"1f5c3","description":"How can you use add, remove, and toggle in Javascript to change an element's classList and other attributes in HTML?","breadcrumbs":[{"label":"Unit 2: Intro to DOM Manipulation Basics"}]},{"id":"fkGh7MsFvT1fxtVMNnIu","title":"Unit 2 Final Project: Input-Output Helper Site","pathname":"/js-the-interactive-web/unit-2-intro-to-dom-manipulation-basics/unit-2-final-project-input-output-helper-site","siteSpaceId":"sitesp_xrNSv","emoji":"1f3a8","description":"How can you use Javascript to create seamless interaction on a webpage?","breadcrumbs":[{"label":"Unit 2: Intro to DOM Manipulation Basics"}]},{"id":"a0qcz9guzuxY9M3EHVO8","title":"Unit 3 Overview","pathname":"/js-the-interactive-web/unit-3-advanced-dom/unit-3-overview","siteSpaceId":"sitesp_xrNSv","emoji":"1f52e","description":"What data structures, algorithms, and resources can I use to enhance the quality and efficiency of my Javascript backend.","breadcrumbs":[{"label":"Unit 3: Advanced DOM"}]},{"id":"NTEd33yTbxhKqSS8bwWm","title":"U3LA1: JavaScript Arrays, Iteration, and Objects","pathname":"/js-the-interactive-web/unit-3-advanced-dom/u3la1-javascript-arrays-iteration-and-objects","siteSpaceId":"sitesp_xrNSv","description":"What structures can I use to store and manipulate larger and more nuanced data?","breadcrumbs":[{"label":"Unit 3: Advanced DOM"}]},{"id":"W67azVGd6LSqCgSSY1Iv","title":"U3LA1 Mini Project: Arrays, Iteration, and Objects Lab","pathname":"/js-the-interactive-web/unit-3-advanced-dom/u3la1-mini-project-arrays-iteration-and-objects-lab","siteSpaceId":"sitesp_xrNSv","emoji":"1f5c3","description":"How can I store and manipulate data to later be used in various ways throughout my website?","breadcrumbs":[{"label":"Unit 3: Advanced DOM"}]},{"id":"K0stAIDslx1C3Qvi7Xpl","title":"U3LA2.1: JavaScript Essentials - Variables to Arrow Functions","pathname":"/js-the-interactive-web/unit-3-advanced-dom/u3la2.1-javascript-essentials-variables-to-arrow-functions","siteSpaceId":"sitesp_xrNSv","description":"How can you add functionality to an array of similar interactive components such as a button?","breadcrumbs":[{"label":"Unit 3: Advanced DOM"}]},{"id":"stuG5JzZg8YxgQLGTI6z","title":"U3LA2.2: Typeahead Search","pathname":"/js-the-interactive-web/unit-3-advanced-dom/u3la2.2-typeahead-search","siteSpaceId":"sitesp_xrNSv","description":"How do you implement a type ahead search so that users can see recommendations as they search?","breadcrumbs":[{"label":"Unit 3: Advanced DOM"}]},{"id":"JvW1CDgyL4BRuCpUWs4B","title":"U3LA2.3: Fuzzy Matching - Autocorrect","pathname":"/js-the-interactive-web/unit-3-advanced-dom/u3la2.3-fuzzy-matching-autocorrect","siteSpaceId":"sitesp_xrNSv","description":"How do you think critically to solve a not-so-straight-forward problem","breadcrumbs":[{"label":"Unit 3: Advanced DOM"}]},{"id":"iUtQyPWIQKRUnKde8pVY","title":"U3LA2 Mini Project: Fuzzy Matching Personality Quiz","pathname":"/js-the-interactive-web/unit-3-advanced-dom/u3la2-mini-project-fuzzy-matching-personality-quiz","siteSpaceId":"sitesp_xrNSv","emoji":"1f5c3","description":"How can you use advanced data structures and functional computing with DOM elements and user interaction?","breadcrumbs":[{"label":"Unit 3: Advanced DOM"}]},{"id":"aUDYqTj02CrR6Q5CY6cn","title":"U3LA3.1 JavaScript Mutability","pathname":"/js-the-interactive-web/unit-3-advanced-dom/u3la3.1-javascript-mutability","siteSpaceId":"sitesp_xrNSv","description":"What structures can I use to store and manipulate larger and more nuanced data?","breadcrumbs":[{"label":"Unit 3: Advanced DOM"}]},{"id":"qkOZdQXYZtkBPm5Pjk8W","title":"U3LA3.2: Advanced DOM Manipulation","pathname":"/js-the-interactive-web/unit-3-advanced-dom/u3la3.2-advanced-dom-manipulation","siteSpaceId":"sitesp_xrNSv","description":"What is a DOM element and how can we use it to navigate and manipulate the DOM tree.","breadcrumbs":[{"label":"Unit 3: Advanced DOM"}]},{"id":"HoqG9XyaYbD06S2qt24s","title":"U3LA3 Mini Project: Card Organizer","pathname":"/js-the-interactive-web/unit-3-advanced-dom/u3la3-mini-project-card-organizer","siteSpaceId":"sitesp_xrNSv","emoji":"1f5c3","description":"How can you use advanced data structures and functional computing with DOM elements and user interaction?","breadcrumbs":[{"label":"Unit 3: Advanced DOM"}]},{"id":"hivN9JWUSrgc9IIR1ka6","title":"U3LA4: Local Storage","pathname":"/js-the-interactive-web/unit-3-advanced-dom/u3la4-local-storage","siteSpaceId":"sitesp_xrNSv","description":"How can you use local storage to save the current state of the website.","breadcrumbs":[{"label":"Unit 3: Advanced DOM"}]},{"id":"pQHat0hgpiKRHW0IVXxr","title":"Unit Final/U3LA4 Project: Twenty in Ten Game","pathname":"/js-the-interactive-web/unit-3-advanced-dom/unit-final-u3la4-project-twenty-in-ten-game","siteSpaceId":"sitesp_xrNSv","emoji":"1f3a8","description":"How can you use local storage to better the experience of a website?","breadcrumbs":[{"label":"Unit 3: Advanced DOM"}]},{"id":"SFwT16qLfkoVTRF0LTKW","title":"Unit 4 Overview","pathname":"/js-the-interactive-web/unit-4-intro-to-apis/unit-4-overview","siteSpaceId":"sitesp_xrNSv","emoji":"1f52e","description":"How can access remote data and incorporate it into a webpage?","breadcrumbs":[{"label":"Unit 4: Intro to APIs"}]},{"id":"ylLYrHgATzO48Fr1tb4m","title":"U4LA1: Intro to APIs","pathname":"/js-the-interactive-web/unit-4-intro-to-apis/u4la1-intro-to-apis","siteSpaceId":"sitesp_xrNSv","description":"What is an API?","breadcrumbs":[{"label":"Unit 4: Intro to APIs"}]},{"id":"VslhHcXe4v7Qdp0tgQNP","title":"U4LA1.2: JavaScript Arrays, Iteration, and Objects","pathname":"/js-the-interactive-web/unit-4-intro-to-apis/u4la1.2-javascript-arrays-iteration-and-objects","siteSpaceId":"sitesp_xrNSv","description":"What structures can I use to store and manipulate larger and more nuanced data?","breadcrumbs":[{"label":"Unit 4: Intro to APIs"}]},{"id":"T6V75y2Hhr1mOTmphntU","title":"U4LA1 Mini Project: Deck of Cards: Higher Lower","pathname":"/js-the-interactive-web/unit-4-intro-to-apis/u4la1-mini-project-deck-of-cards-higher-lower","siteSpaceId":"sitesp_xrNSv","emoji":"1f5c3","description":"What does the use of APIs look like in a website.","breadcrumbs":[{"label":"Unit 4: Intro to APIs"}]},{"id":"u2iCnrBA4ldURsZjEpxL","title":"U4LA2: Connecting to Closed APIs using the Giphy API","pathname":"/js-the-interactive-web/unit-4-intro-to-apis/u4la2-connecting-to-closed-apis-using-the-giphy-api","siteSpaceId":"sitesp_xrNSv","description":"How do you work with APIs that require authentication?","breadcrumbs":[{"label":"Unit 4: Intro to APIs"}]},{"id":"6JEqy2oXiqBgWNEWmnUL","title":"U4LA2 Mini Project: DIY Dictionary","pathname":"/js-the-interactive-web/unit-4-intro-to-apis/u4la2-mini-project-diy-dictionary","siteSpaceId":"sitesp_xrNSv","emoji":"1f5c3","description":"What makes an API closed and how do we safely incorporate our API key?","breadcrumbs":[{"label":"Unit 4: Intro to APIs"}]},{"id":"Vz1e8mP2q4gqTUgJTFmy","title":"U4LA3.1: APIs vs SDKs","pathname":"/js-the-interactive-web/unit-4-intro-to-apis/u4la3.1-apis-vs-sdks","siteSpaceId":"sitesp_xrNSv","description":"How do you integrate other people's software into yours?","breadcrumbs":[{"label":"Unit 4: Intro to APIs"}]},{"id":"JqAP89QF6hKVNtJ5hMsA","title":"U4LA3.2: Requests on the Web - GET & POST","pathname":"/js-the-interactive-web/unit-4-intro-to-apis/u4la3.2-requests-on-the-web-get-and-post","siteSpaceId":"sitesp_xrNSv","description":"What do API calls look like on other websites?","breadcrumbs":[{"label":"Unit 4: Intro to APIs"}]},{"id":"TFAN23t5rIErkl1WUNNw","title":"Unit 4 Final Project: API GUIs","pathname":"/js-the-interactive-web/unit-4-intro-to-apis/unit-4-final-project-api-guis","siteSpaceId":"sitesp_xrNSv","emoji":"1f3a8","description":"What does the use of APIs look like in a website.","breadcrumbs":[{"label":"Unit 4: Intro to APIs"}]},{"id":"1P7YDE6NbWgYsO5np0nx","title":"Unit 5 Overview","pathname":"/js-the-interactive-web/unit-5-simple-websockets-and-final-project/unit-5-overview","siteSpaceId":"sitesp_xrNSv","emoji":"1f52e","description":"How can I use websockets to communicate between a client and server?","breadcrumbs":[{"label":"Unit 5: Simple Websockets and Final Project"}]},{"id":"t65f8fcZZZOOQdJyQiyC","title":"U5LA1: Servers and Express","pathname":"/js-the-interactive-web/unit-5-simple-websockets-and-final-project/u5la1-servers-and-express","siteSpaceId":"sitesp_xrNSv","description":"How are files delivered on the web?","breadcrumbs":[{"label":"Unit 5: Simple Websockets and Final Project"}]},{"id":"r0gYiO0QKkdDwK3GBjB2","title":"U5LA1 Mini Project: Express Lab","pathname":"/js-the-interactive-web/unit-5-simple-websockets-and-final-project/u5la1-mini-project-express-lab","siteSpaceId":"sitesp_xrNSv","emoji":"1f5c3","description":"How can I set up a basic static file server with Node and Express?","breadcrumbs":[{"label":"Unit 5: Simple Websockets and Final Project"}]},{"id":"ZM7caaHD1fjM3hRW2O68","title":"U5LA2: Intro to WebSockets","pathname":"/js-the-interactive-web/unit-5-simple-websockets-and-final-project/u5la2-intro-to-websockets","siteSpaceId":"sitesp_xrNSv","description":"What can real-time client/server communication add to the web?","breadcrumbs":[{"label":"Unit 5: Simple Websockets and Final Project"}]},{"id":"Pz1JqTgDrxw77Cp74L1F","title":"U5LA2 Mini Project: Simple Sockets Lab","pathname":"/js-the-interactive-web/unit-5-simple-websockets-and-final-project/u5la2-mini-project-simple-sockets-lab","siteSpaceId":"sitesp_xrNSv","emoji":"1f5c3","description":"","breadcrumbs":[{"label":"Unit 5: Simple Websockets and Final Project"}]},{"id":"VWeCYWi0fXSDoxba5j3K","title":"U5LA3: Socket Servers","pathname":"/js-the-interactive-web/unit-5-simple-websockets-and-final-project/u5la3-socket-servers","siteSpaceId":"sitesp_xrNSv","description":"What role do servers play in socket communication?","breadcrumbs":[{"label":"Unit 5: Simple Websockets and Final Project"}]},{"id":"HJFnb8YLSqAoqZG27Y26","title":"U5LA3 Mini Project: Socket Server Lab","pathname":"/js-the-interactive-web/unit-5-simple-websockets-and-final-project/u5la3-mini-project-socket-server-lab","siteSpaceId":"sitesp_xrNSv","emoji":"1f5c3","description":"","breadcrumbs":[{"label":"Unit 5: Simple Websockets and Final Project"}]},{"id":"xGJ90JWWGJqhYosjXmuz","title":"U5LA4 [TBD]","pathname":"/js-the-interactive-web/unit-5-simple-websockets-and-final-project/u5la4-tbd","siteSpaceId":"sitesp_xrNSv","description":"","breadcrumbs":[{"label":"Unit 5: Simple Websockets and Final Project"}]},{"id":"iCqVqqJMS8mISklkxqhs","title":"Course Final Project Guide","pathname":"/js-the-interactive-web/unit-5-simple-websockets-and-final-project/course-final-project-guide","siteSpaceId":"sitesp_xrNSv","emoji":"1f3a8","description":"","breadcrumbs":[{"label":"Unit 5: Simple Websockets and Final Project"}]}]}