Video Tutorials that Saved my Brain!!

Ian McKenzie
4 min readAug 25, 2020

--

Whenever I need to learn something as abstract as programming, oftentimes I have to review a concept multiple times–that includes books as well as videos–before the information is internalized. Now, there are excellent videos online where many people have painstakingly spent hours planning and thinking on what points are important, and in what sequence should said points be conveyed, and then being kind enough to share that concept, thereby demystifying the confusing side of code. That opportunity of receiving instruction that might be the missing piece of one’s gap of knowledge, is almost as satisfying an experience as solving a Time-complexity coding challenge!

In it’s essence, explaining a concept to another person is a lot like programming in general. An advanced coder should be cognizant of how the information that might be second-nature to that seasoned programmer would be advanced hieroglyphics to a newly-minted coder, such as myself. So the list of instructions, the understanding as to why certain values are utilized, and the order in which they appear are paramount in communicating concepts that might take a while to absorb. Then the next nugget of information must line up with the previous in order to make sense to the receiver; that is the definition of syntax!

And this is where videos are king. In one of my previous blogs I touched on the subject of arrow functions. Even after discussing that topic, and spending quality time learning about arrow functions, I am not always certain that I know what to do with arrow functions and when to use them. Arrow functions do come up quite a bit when using callbacks, but again, when these items are being used and why are they necessary, definitely needs to be explained in great detail.

Incidentally, I recently gained better understanding as to what are arrow functions and how they are used in callbacks after watching this video from Daniel Shiffman of The Coding Train. This video series is excellent in its ability to break down complex topics to the point where a novice can easily understand and retain the information being parted.

When I was in the beginning phase of learning React.js, I reviewed a YouTube video by Brad Traversy titled “React.js Crash Course” multiple times to get clarity on understanding how JavaScript operates, and is embedded within React.js.

The writing that you see in the photo attachments are out-of-sequence to what Traversy was teaching. Please pardon me if my writing resembles someone having a nervous breakdown (although, it felt like that at times). As stated earlier, there were many times where Traversy would explain a concept, then erase that concept so that he could get to his main objective. This happened often when he would console.log something (ultimately to prove that the code he created was operating correctly), then erase whatever point being demonstrated — several times it was an arrow function that proceeded to manipulate different parts of code that was imported along the way; mostly objects within the state life-cycle. Or the video would show a component that would be imported into the render() return/JSX section of the main component object being worked on, and later require either an object or method to finish that segment of the code. This would happen when “props”–the attribute(s) that would follow a component during the import process– would be implemented to either travel down a series of parent/child component relationships, and would also have to be converted to a function when having to travel up a series of child/parent components. From time-to-time it would be necessaty to “lift state up” when having to send props data from sibling to sibling.

Fortunately, in the comments section of the video, some other coders used certain terms to explain what he was doing. So, for me, the ones that were most challenging:

  • Why arrow functions and .bind(this)
  • Component drilling
  • Passing props through methods using component drilling
  • Deconstructing
  • Updating state through a method

Anyway, I found the Traversy video to be extremely helpful as a template for how to create components within React.js. Thanks to countless hours of viewing videos like this one, as well as reading a blog or two, I have begun to improve at coding after a year of non-stop code lessons that I have just started to solve without knowing the outcome.

One of the most effective things a new programmer/web developer can do to increase their understanding of a subject is to explain a concept within programming to someone else. I hope that these explanations are helpful to someone.

--

--

Ian McKenzie

JavaScript, Python, Django, and React, are beginning to become my friends. Maybe I can introduce them to some other new friends.