├── .gitignore ├── 1. Build a Passenger Counter App ├── 01. Welcome to the course │ ├── index.css │ ├── index.html │ └── index.js ├── 02. Let's build a passenger counter app │ ├── index.css │ ├── index.html │ ├── index.js │ └── station.jpg ├── 03. Setting up our JavaScript file │ ├── index.css │ ├── index.html │ └── station.jpg ├── 04. Write your first JavaScript variable │ ├── index.css │ ├── index.html │ ├── index.js │ └── station.jpg ├── 05. Basic mathematical operations │ ├── index.css │ ├── index.html │ ├── index.js │ └── station.jpg ├── 06. Reassigning and incrementing │ ├── index.css │ ├── index.html │ ├── index.js │ └── station.jpg ├── 07. Adding a button │ ├── index.css │ ├── index.html │ ├── index.js │ └── station.jpg ├── 08. The onclick event listener │ ├── index.css │ ├── index.html │ ├── index.js │ └── station.jpg ├── 09. Using functions to write less code │ ├── index.html │ └── index.js ├── 10. Write your first function │ ├── index.html │ └── index.js ├── 11. Write a function that logs the sum │ ├── index.html │ └── index.js ├── 12. Write a function that increments │ ├── index.html │ └── index.js ├── 13. Increment on clicks │ ├── index.css │ ├── index.html │ ├── index.js │ └── station.jpg ├── 14. Display the count │ ├── index.css │ ├── index.html │ ├── index.js │ └── station.jpg ├── 15. The Document Object Model │ ├── index.css │ ├── index.html │ ├── index.js │ └── station.jpg ├── 16. Display the count with innerText │ ├── index.css │ ├── index.html │ ├── index.js │ └── station.jpg ├── 17. Create the save button │ ├── index.css │ ├── index.html │ ├── index.js │ └── station.jpg ├── 18. What is a string? │ ├── index.css │ ├── index.html │ ├── index.js │ └── station.jpg ├── 19. Write your first string variable │ ├── index.html │ └── index.js ├── 20. Log a greeting to the console │ ├── index.html │ └── index.js ├── 21. Strings vs. Numbers │ ├── index.html │ └── index.js ├── 22. Render a welcome message │ ├── index.html │ └── index.js ├── 23. Improve the message with string concatenation │ ├── index.html │ └── index.js ├── 24. Use plus equal for count │ ├── index.css │ ├── index.html │ ├── index.js │ └── station.jpg ├── 25. Create the save feature │ ├── index.css │ ├── index.html │ ├── index.js │ └── station.jpg ├── 26. Debugging online │ ├── index.css │ ├── index.html │ ├── index.js │ └── station.jpg ├── 27. Set the count to 0 │ ├── index.css │ ├── index.html │ ├── index.js │ └── station.jpg └── 28. Congrats & recap │ ├── index.css │ ├── index.html │ ├── index.js │ └── station.jpg ├── 2. Practice time - part 1 ├── 01. Variables practice │ ├── index.html │ └── index.js ├── 02. Concatenate two strings in a function │ ├── index.html │ └── index.js ├── 03. Incrementing and decrementing │ ├── index.html │ └── index.js ├── 04. Strings and numbers │ ├── index.html │ └── index.js ├── 05. Rendering an error message │ ├── images │ │ └── shoe.jpeg │ ├── index.css │ ├── index.html │ └── index.js └── 06. Calculator challenge │ ├── index.css │ ├── index.html │ └── index.js ├── 3. Build a Blackjack game ├── 01. Let's build a Blackjack game! │ └── index.html ├── 02. Add the firstCard, secondCard, and sum │ ├── index.html │ └── index.js ├── 03. If...else conditionals │ ├── index.html │ └── index.js ├── 04. Your first if...else statement │ ├── index.html │ └── index.js ├── 05. if:else...if:else statement │ ├── index.html │ └── index.js ├── 06. The if...else statement for our game │ ├── index.html │ └── index.js ├── 07. Add the hasBlackJack variable │ ├── index.html │ └── index.js ├── 08. Add the isAlive variable │ ├── index.html │ └── index.js ├── 09. Let's practice boolean conditions │ ├── index.html │ └── index.js ├── 10. Add the message variable │ ├── index.html │ └── index.js ├── 11. Link to stylesheet │ ├── index.css │ ├── index.html │ └── index.js ├── 12. Add basic styling │ ├── images │ │ └── table.png │ ├── index.css │ ├── index.html │ └── index.js ├── 13. Make the start button work │ ├── images │ │ └── table.png │ ├── index.css │ ├── index.html │ └── index.js ├── 14. Display the message │ ├── images │ │ └── table.png │ ├── index.css │ ├── index.html │ └── index.js ├── 15. Display the sum │ ├── images │ │ └── table.png │ ├── index.css │ ├── index.html │ └── index.js ├── 16. Display the cards │ ├── images │ │ └── table.png │ ├── index.css │ ├── index.html │ └── index.js ├── 17. New card button │ ├── images │ │ └── table.png │ ├── index.css │ ├── index.html │ └── index.js ├── 18. Add to the sum when newCard is clicked │ ├── images │ │ └── table.png │ ├── index.css │ ├── index.html │ └── index.js ├── 19. Rename the startGame function │ ├── images │ │ └── table.png │ ├── index.css │ ├── index.html │ └── index.js ├── 20. Solving our cards problem with an array │ ├── images │ │ └── table.png │ ├── index.css │ ├── index.html │ └── index.js ├── 21. Intro to arrays │ ├── index.html │ └── index.js ├── 22. Array indexes │ ├── index.html │ └── index.js ├── 23. Arrays with multiple data types │ ├── index.html │ └── index.js ├── 24. Adding and removing items from arrays │ ├── index.html │ └── index.js ├── 25. Creating the cards array │ ├── images │ │ └── table.png │ ├── index.css │ ├── index.html │ └── index.js ├── 26. Push a new card to the array │ ├── images │ │ └── table.png │ ├── index.css │ ├── index.html │ └── index.js ├── 27. Counting in JavaScript │ ├── index.html │ └── index.js ├── 28. Write your first loop │ ├── index.html │ └── index.js ├── 29. For loops and arrays │ ├── index.html │ └── index.js ├── 30. Write you first array-based for loop │ ├── index.html │ └── index.js ├── 31. For loops, arrays, and DOM │ ├── index.html │ └── index.js ├── 32. Use a loop to render cards │ ├── images │ │ └── table.png │ ├── index.css │ ├── index.html │ └── index.js ├── 33. How can we avoid to hard-code card values? │ ├── images │ │ └── table.png │ ├── index.css │ ├── index.html │ └── index.js ├── 34. Returning values in functions │ ├── index.html │ └── index.js ├── 35. Use a function to set the card values │ ├── images │ │ └── table.png │ ├── index.css │ ├── index.html │ └── index.js ├── 36. Generating random numbers with Math.random() │ ├── index.html │ └── index.js ├── 37. Math.random() * 6 │ ├── index.html │ └── index.js ├── 38. Flooring the number with Math.floor() │ ├── index.html │ └── index.js ├── 39. Using Math.random() and Math.floor() to create a dice │ ├── index.html │ └── index.js ├── 40. Completing our dice function │ ├── index.html │ └── index.js ├── 41. Make getRandomCard() work │ ├── images │ │ └── table.png │ ├── index.css │ ├── index.html │ └── index.js ├── 42. Complete getRandomNumber function │ ├── images │ │ └── table.png │ ├── index.css │ ├── index.html │ └── index.js ├── 43. Assign values in the startGame function │ ├── images │ │ └── table.png │ ├── index.css │ ├── index.html │ └── index.js ├── 44. Our new card feature is broken │ ├── images │ │ └── table.png │ ├── index.css │ ├── index.html │ └── index.js ├── 45. The logical AND operator │ ├── index.html │ └── index.js ├── 46. Write your first logical operator │ ├── index.html │ └── index.js ├── 47. The logical OR operator │ ├── index.html │ └── index.js ├── 48. Only trigger newCard() if you're allowed to │ ├── images │ │ └── table.png │ ├── index.css │ ├── index.html │ └── index.js ├── 49. Object sneak peek │ ├── images │ │ └── table.png │ ├── index.css │ ├── index.html │ └── index.js ├── 50. Intro to objects │ ├── index.html │ └── index.js ├── 51. Create your first object │ ├── index.html │ └── index.js ├── 52. Use an object to store player data │ ├── images │ │ └── table.png │ ├── index.css │ ├── index.html │ └── index.js ├── 53. Methods on object │ ├── images │ │ └── table.png │ ├── index.css │ ├── index.html │ └── index.js └── 54. Congrats & recap │ ├── images │ └── table.png │ ├── index.css │ ├── index.html │ └── index.js ├── 4. Practice time - part 2 ├── 01. Objects and functions │ ├── index.html │ └── index.js ├── 02. if else │ ├── index.html │ └── index.js ├── 03. Loops and arrays │ ├── index.html │ └── index.js ├── 04. push, pop, unshift, shift challenge │ ├── index.html │ └── index.js ├── 05. Logical operators │ ├── index.html │ └── index.js ├── 06. Rock papers scissors │ ├── index.html │ └── index.js └── 07. Sorting fruits │ ├── index.css │ ├── index.html │ └── index.js ├── 5. Build a Chrome Extension ├── 01. Let's build a Chrome Extension! │ ├── index.html │ └── index.js ├── 02. Add button and input tag │ └── index.html ├── 03. Style the button and input tag │ ├── index.css │ └── index.html ├── 04. Make the input button work with onclick │ ├── index.css │ ├── index.html │ └── index.js ├── 05. Refactor to addEventListener │ ├── index.css │ ├── index.html │ └── index.js ├── 06. Write your first addEventListener() │ ├── index.css │ ├── index.html │ └── index.js ├── 07. Your turn to refactor │ ├── index.css │ ├── index.html │ └── index.js ├── 08. Create the myLeads array and inputEl │ ├── index.css │ ├── index.html │ └── index.js ├── 09. When to use let and const │ ├── index.html │ └── index.js ├── 10. Push to the myLeads array │ ├── index.css │ ├── index.html │ └── index.js ├── 11. Push the value from the input field │ ├── index.css │ ├── index.html │ └── index.js ├── 12. Use a for loop to log out leads │ ├── index.css │ ├── index.html │ └── index.js ├── 13. Create the unordered list │ ├── index.css │ ├── index.html │ └── index.js ├── 14. Render the leads in the unordered list │ ├── index.css │ ├── index.html │ └── index.js ├── 15. How to render