
This course includes our updated coding exercises so you can practice your skills as you learn.
See a demo
Welcome to this course! Please enjoy the intro video where I talk about my background, the goal of the course, the target students, and some tips!
Let's start off with the most basic of things - variables!
Although it might look simple, there's actually multiple quirks with how you create, update, and manage variables depending on the programming language. In this section, I want to show how variables work when it comes to JavaScript and give an overview of the tools and concepts available to you. The coding exercises give you a chance to master the basics of variables and get comfortable using them.
Don't forget to check out the external resources linked here as they can provide more information and is a good deep dive on the topic.
Some pre-requisites
- basic knowledge of arrays
- basic knowledge of objects
Time to dig deeper on one of the core data structures in any language - arrays! When it comes to storing a collection of data, this is pretty much your go-to tool. It's important that you sort out (pun intended) how they work as you are guaranteed to use them with almost everything.
As usual, check out the external reading for more info. And as you might have noticed by now, each section builds upon the previous one. So try your best to work and understand the goal of the challenges and even come up with your own to get more practice!
Ever looked up a word in a dictionary? Psych! we all know we use Google for that. But if somehow you did, you now know the concept for one of the main uses of objects in JavaScript. There's so much more to objects, but we will keep it simple for now and focus on it being a data structure centered around key-value pairs.
Don't forget to glance over the external links!
Now we are jumping from just variables and storing data, to writing multiple lines of code! It's time to make your logic branch out and do different things based on certain conditions. I'll go over the basics and tricky parts of if-else blocks as well as switch statements. Then, the exercises should give you some good exposure on how they work in practice.
Check out the external link as it goes into more detail on what is covered here!
Some pre-requisites
- basic knowledge of logical operators like "and ( && )" and "or ( || )"
Onward to the last building block before we combine everything! But, we need to be careful not to be "infinitely" stuck here. Loops accomplishes a lot of things, but to put it simply, the main goal is to do something repeatedly until a certain condition is met. When it comes to JavaScript, there are many ways to create a loop. Here we will focus on "for" and "while" loops as they are common across other coding languages.
But, check out the external resources if you want to learn more on other forms of loops in JavaScript!
Now, it's time to combine everything we've learned and package them into units that perform a specific function! This section starts with the ways to create function, figuring out the inputs, and being able to process or return a result.
If you get stuck on anything, take a look at the external resources "Hints Doc" for some clues before playing the solution video.
Ever wonder what happens behind the scenes when you click that play button on the lecture video? It's time to get a little more complex with functions and really understand one of the most crucial concepts in JavaScript - callback functions! Not all languages have this feature, but in JS functions are just like any data that can be passed around to other functions.
The external resources linked here have tons of info on the concept so check them out!
So far we've been dealing with synchronous code which is code that you can trace and follow from start to end. But what about when we have to deal with processes or logic that takes more time? We want to be able to run them on the side and do something else, like bread toasting in the oven while you cook your eggs.
With JavaScript, there are multiple ways of doing asynchronous code, so we will touch on each one lightly and get some practice on it.
Again, the external resources are good reads that expand on this info so check them out!
No, this is not a cooking lecture! And yes, "currying" is the actual term. In a sentence, it basically means transforming a function so that it can accept partial arguments. But this is just possible because JavaScript allows us to return functions from another function! The video lecture talks about how this works and why this is useful!
One thing to really also understand here is the concept of "closure". As your code and functions get more complexed, it is a very significant concept to learn. So make sure you check out those external resource links!
When there's unlimited concepts and things to know about coding or learning a coding language, how do you know what to focus on?
I'm Dom and I've been a Front-End/UI Engineer for the past decade. I have worked at companies such as Meta and Roblox and have applied my skills in building their products and applications. I also do software engineering coaching and mentoring on the side.
This course is about taking the time to build a strong foundation when it comes to learning how to code. Think of it as the "brush on, brush off" drill to have the proper reflexes and muscle memory. Although taught in JavaScript, majority of the concept here applies to different languages as well.
This is a beginner course, but it does require that you have had some experience writing JavaScript. Nothing too crazy, just as far as being able to write a simple function. In fact, this course is best used as a supplement as you work through a comprehensive coding course.
This course is structured by doing a lecture about a concept, giving exercises to apply those concepts, then going over the solutions and explanation. Each section builds upon each other, so it gets a little more challenging each time but that means more practice!
Topics include:
Variables
Arrays
Objects
Conditionals
Loops
Functions
and so much more!
Happy Coding!