==== @channel A Few JS Resources and Two Video Walkthroughs: =====================
JavaScript Workbook <--- A fabulous way to practice this stuff: https://javascript-workbook.netlify.com/
Double vs Triple Equals (loose vs strict equality): https://codeburst.io/javascript-double-equals-vs-triple-equals-61d4ce5a121a
Truthy vs Falsy (a great resource!): https://www.sitepoint.com/javascript-truthy-falsy/
JavaScript Dinner Video Walkthrough (Steak vs Tofu): https://www.youtube.com/watch?v=rlhhRVO5EOg
(slightly outdated walkthrough but still covers the same rough concepts)
Zoo Loop Video Walkthrough: https://www.youtube.com/watch?v=zJO9g7S2_Xo
(a warmup for the loopiness tomorrow)
==== @channel Some Resources for Today’s Materials (including three video walkthroughs and recommendations for study/practice!): ======================
What is Pseudo-coding? https://www.vikingcodeschool.com/software-engineering-basics/what-is-pseudo-coding
Pseudo-coding 101: https://medium.com/coding-in-simple-english/pseudo-coding-101-b623d6b8820?sk=a5d4575c8c73bb84c62e0a1a0900db1b
Video walkthrough: Zoo Loop: https://www.youtube.com/watch?v=zJO9g7S2_Xo
Video walkthrough: Guide to pseudo-coding and solving problems (based on rock-paper-scissors): https://www.youtube.com/watch?v=zRWDJOqeDhg
Video walkthrough: Rock-Paper-Scissors: https://www.youtube.com/watch?v=Tio88WjwFO0
(this uses the old version of RPS, which collects the user’s choice via keypress and prints the results to the page)
Consider tackling our first three algorithm challenges this week: https://du.bootcampcontent.com/denver-coding-bootcamp/DU-DEN-FSF-FT-12-2019-U-C/tree/master/Algorithms
(these are contained inside the class repo that you have cloned to your system!)
Practice with the JavaScript Workbook (this is a great way to firm up the basics!!!): https://du.bootcampcontent.com/denver-coding-bootcamp/DU-DEN-FSF-FT-12-2019-U-C/blob/master/Resources/JavaScript/Workbook/Workbook.md
==== @channel Resources/Walkthroughs for Today (objects, while loops, switch statements, callbacks, and DOM traversal): =======================
Traversing the DOM with JavaScript: https://zellwk.com/blog/dom-traversals/
(this is a great primer on the basics)
Events in JavaScript: addEventListener: https://www.bitdegree.org/learn/javascript-addeventlistener
Scheduling: setTimeout and setInterval: https://javascript.info/settimeout-setinterval
Practice the JS Basics w/the JavaScript Workbook: https://du.bootcampcontent.com/denver-coding-bootcamp/DU-DEN-FSF-FT-12-2019-U-C/tree/master/Resources/JavaScript/Workbook
(^^^ highly recommended ^^^)
==== @channel Resources/Walkthroughs for Today (objects, while loops, switch statements, callbacks, and DOM traversal): =======================
Traversing the DOM with JavaScript: https://zellwk.com/blog/dom-traversals/
(this is a great primer on the basics)
Events in JavaScript: addEventListener: https://www.bitdegree.org/learn/javascript-addeventlistener
List of Different JS Event Types: https://developer.mozilla.org/en-US/docs/Web/Events
Scheduling: setTimeout and setInterval: https://javascript.info/settimeout-setinterval
Practice the JS Basics w/the JavaScript Workbook: https://du.bootcampcontent.com/denver-coding-bootcamp/DU-DEN-FSF-FT-12-2019-U-C/tree/master/Resources/JavaScript/Workbook
(^^^ highly recommended ^^^)
==== @channel Resources from Today’s Class: ===============
Local Storage vs Session Storage vs Cookies: https://scotch.io/@PratyushB/local-storage-vs-session-storage-vs-cookie
Browser Cookies: What Are They & Why Should You Care? https://www.whoishostingthis.com/resources/cookies-guide/
The Complete Guide to Using localStorage in JavaScript Apps: https://blog.logrocket.com/the-complete-guide-to-using-localstorage-in-javascript-apps-ba44edb53a36/
Array .splice() (not to be confused with .slice(), this allows you to either add or remove items from specific indexes in an array): https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/splice
Array Method Practice Activities: https://github.com/lnchapin/arraymethods
Traversing the DOM with JavaScript (practice makes perfect!): https://zellwk.com/blog/dom-traversals/
Loops: for loop vs forEach loop: https://davidtang.io/2016/07/30/javascript-for-loop-vs-array-foreach.html
JavaScript Template Literals: https://flaviocopes.com/javascript-template-literals/
JavaScript Workbook <--- A fabulous way to practice the basics: https://javascript-workbook.netlify.com/
*==== @channel Related Resources/Video Walkthroughs for Today's Activities: ===================*
*What is the DOM (Document Object Model):* https://css-tricks.com/dom/
*What is the difference between undefined and not defined in JavaScript?:* https://www.quora.com/What-is-the-difference-between-undefined-and-not-defined-in-JavaScript
*Preventing cross-site scripting attacks when using innerHTML in vanilla JavaScript:* https://gomakethings.com/preventing-cross-site-scripting-attacks-when-using-innerhtml-in-vanilla-javascript/
*Securing jQuery against unintended XSS:* https://blog.box.com/blog/securing-jquery-against-unintended-xss
_(re: the two previous articles, maybe bookmark em for later... know for now that there are some security risks in using JavaScript's .innerHTML and jQuery methods like .html, .append, etc)_
*JavaScript and jQuery Drink List Video Walkthrough:* https://www.youtube.com/watch?v=9_9-NeU2L_U
*jQuery Sandwich List Video Walkthrough:* https://www.youtube.com/watch?v=6BLReDBUZRk
*Lottery Generator Video Walkthrough* (this is the "bonus" challenge we recommended you try, built on the '07-TriggerRandom' solution): https://www.youtube.com/watch?v=Nh4wxhzePIs
_(this is your 'take-home' challenge... we'll code through it during morning office hours on Monday!)_
*jQuery Fridge Art Video Walkthrough:* https://www.youtube.com/watch?v=gC529k3KzmE
*Practice, Practice, Practice with the Weekly Algorithms* (hint, try to conquer 1-9 for now): https://du.bootcampcontent.com/denver-coding-bootcamp/DENVDEN201905FSF4-FT/tree/master/Algorithms
*...Or the JavaScript Workbook, it you'd like to go back to basics:* https://du.bootcampcontent.com/denver-coding-bootcamp/DENVDEN201905FSF4-FT/blob/master/Class-Content/03-javascript/Workbook.md
*jQuery Drink List Activity Coded Three Ways (JavaScript for loop, jQuery for loop, and jQuery forEach with streamlined syntax):* https://du.bootcampcontent.com/denver-coding-bootcamp/DENVDEN201905FSF4-FT/blob/master/Class-Content/04-jquery/01-Activities/04-jQueryDrinkList/liveCodedJSJQDrinkList.html
*Fridge Game Activity Streamlined:* https://du.bootcampcontent.com/denver-coding-bootcamp/DENVDEN201905FSF4-FT/blob/master/Class-Content/04-jquery/01-Activities/11-FridgeGame/fridge-advanced-and-streamlined.html
_(fun to take a look at/challenge yourself with)_
*==== @channel Related Resources/Video Walkthroughs for Today’s Activities: ==================*
*Understanding jQuery Event Delegation* (*HINT:* you’ll need this if you can’t get click events to work properly on dynamically-created jQuery elements): https://learn.jquery.com/events/event-delegation/
_(I’ll do a demo of this concept during after-class office hours tomorrow)_
*Remember that these Crystal Collector prep activities (the ones I went over in office hours) will help a lot!* https://du.bootcampcontent.com/denver-coding-bootcamp/DENVDEN201905FSF4-FT/tree/master/Class-Content/04-jquery/01-Activities/12-CrystalExample
*How to differentiate between deep and shallow copies in JavaScript:* https://medium.freecodecamp.org/copying-stuff-in-javascript-how-to-differentiate-between-deep-and-shallow-copies-b6d8c1ef09cd
*Window Object:* https://www.w3schools.com/jsref/obj_window.asp
*JavaScript Closures:* https://developer.mozilla.org/en-US/docs/Web/JavaScript/Closures
*Understand JavaScript’s “this” With Clarity, and Master It* (a bit of a deeper read, btw): https://javascriptissexy.com/understand-javascripts-this-with-clarity-and-master-it/
*jQuery `.val()`* (use .val() to get the value of HTML form elements, like *HINT HINT* buttons): http://api.jquery.com/val/
*Use `parseInt()` to convert a string into a number* (you’ll need this!): https://www.w3schools.com/jsref/jsref_parseint.asp
*JavaScript Comparison and Logical Operators* (look into the !, &&, and || operators): https://www.w3schools.com/js/js_comparisons.asp
*Feeling bored with `if/else`? Consider the JavaScript `switch` statement:* https://www.w3schools.com/js/js_switch.asp
*JavaScript `return` statements* (you may want to use returns to break out of your functions if certain conditions apply): https://codeburst.io/javascript-what-is-the-return-statement-97d8b11a1a0c
*Lottery Generator Video Walkthrough:* https://www.youtube.com/watch?v=Nh4wxhzePIs
*jQuery Calculator Video Walkthrough:* https://www.youtube.com/watch?v=yKE7016Ioxc&feature=youtu.be