JavaScript: From First Steps to Professional

Course Overview

Anjana Vakil

Anjana Vakil

Software Engineer & Educator
JavaScript: From First Steps to Professional

Check out a free preview of the full JavaScript: From First Steps to Professional course

The "Course Overview" Lesson is part of the full, JavaScript: From First Steps to Professional course featured in this preview video. Here's what you'd learn in this lesson:

Anjana provides an overview of the material covered in the course, including the DOM, data types, arrays, objects, functions, events, branches, loops, fetching data, and real-world JavaScript. A student's question regarding how much time will be spent writing code is also covered in this segment.


Transcript from the "Course Overview" Lesson

>> We have a hefty hefty course, planned here. And I'm excited you all are along for this wild roller coaster ride. We have three jam packed days of JavaScript ahead of us, or three parts to the course if you're watching the recordings. And in each part we're going to focus on some kind of particular aspects or topics or concepts in the language.

And we're gonna do that by working through a project, as I mentioned. So today in the morning we're gonna spend most of our attention on the DOM the Document Object Model. So we're gonna start by talking about where JavaScript fits into the overall website ecosystem, with HTML and CSS and we're gonna be talking about data in JavaScript.

And the different types of data that we encounter and what even a type of data is. So we're gonna be looking at that in the morning and then the afternoon we're going to be talking about some ways that we can group data together in JavaScript, namely constructs that we call arrays and objects and how we can work with those.

And throughout the day we're going to be kind of messing with a little project where we will be using our JavaScript knowledge to play tic-tac-toe against our neighbors or ourselves In the browser, so that's day 1. So day 1 we're gonna talk about the values, the things in JavaScript, the entities in the world.

Day 2, we're gonna talk about doing things. We're going to talk about functions which are ways that we can carry out actions in JavaScript. And we're gonna talk about events which are things that we can react to when the user does stiff. We can make JavaScript react to the user behavior by means of events.

And so, we're gonna talk about how JavaScript and the browser handle events and what we can do to make our websites interactive. And then in the afternoon, we're also gonna talk about how we can control which code we're running and how we can decide what the program should be doing at any given point in JavaScript, by means of, for example, branches with conditional statements.

And then how we can also take chunks of code that we need to run over and over and over again and make our lives easier by running them in loops. So we're gonna talk about branches and loops tomorrow afternoon. And tomorrow's project, which we're gonna work through throughout the day is going to be building a little quiz game to quiz ourselves and our neighbors and our coursemates on how much JavaScript we're remembering from day one.

By the time we get to day 3, we're going to be getting into some of the trickier bits of JavaScript. So we're gonna talk about fetching data, how we can grab data from elsewhere on the web. And that means we're also gonna have to talk about some a little bit more advanced concepts in JavaScript such as a synchronous code.

We're going to talk about what that means and how JavaScript handles code that we don't know exactly how long it's gonna take to run or when it's gonna run. So we're gonna talk about that because that is a concept in JavaScript that's a little tricky. And we're also gonna spend the afternoon talking about some of the kind of real life struggles that we're gonna have if we're doing JavaScript development.

So we're gonna talk about errors and debugging, and how we can take the pieces of knowledge that we've learned and then start kind of iteratively working through our programs and working on our code. We're also gonna talk a little bit about refactoring and things like that that we need to do in order to make our code hopefully better.

And we're gonna talk about dogs cuz I'm a dog person, sorry cat people. So our day 3 project is going to be a fun little dog related game, which yes is a pun on the word fetch. We'll get to that [LAUGH] in a couple of days. So this is our grand plan.

We're gonna be working through it together. It's going to be an adventure, I'm excited you all are along with me on this ride. And before we jump in just a couple of expectations or ground rules. So first and foremost, everyone belongs here in this course, whether you are in the room with me today, whether you are dialing in from all around the world on the livestream, whether you're watching the recording at home, after the course has been released.

You belong here regardless of what your experience level is, whether you've ever programmed before, whether you've ever seen JavaScript or perhaps you've been working with JavaScript for quite a long time, everyone belongs here. So let's please be mindful of that. And let's be really respectful of each other's different perspectives and different backgrounds.

And keep in mind that anytime you have a question, that is a good question, there is no such thing in my mind as a dumb question. There is no such thing as a question that doesn't deserve to be asked. First even if you think maybe you're the only person in the world who has this question, you are wrong.

If you have a question I guarantee you somebody else has had or will have the same question. And the other thing I want us to focus on is, yes we have a few projects to complete, yes we have some topics we wanna cover, but the goal for this course that I would like everybody to walk away with is just to grow in our understanding.

Maybe that's filling gaps in our existing JavaScript knowledge. Maybe we've been working with JavaScript for a while, or maybe it is encountering some of these concepts for the first time and just getting a sense that they exist. Just so let's be focused more on growing our skills, on walking away with more knowledge and more tools in our tool belt than we had before, rather than hitting specific goalposts.

So if you don't manage to complete one of the exercises or if you don't manage to complete a project the way that I've intended in the course, that is not as important as, have you walked away with some new insight that you didn't have before. So these are just kind of the expectations.

And maybe before we move on, does anyone have any comments or questions at the moment, yeah?
>> Question about how much time are we going to spend writing code. So maybe generally like lecture versus type along versus like the projects.
>> How much time are we going to spend writing code?

Well, basically as we go, we're going to be tinkering with code pretty much continuously. So there will be a few parts where we're kind of zooming out and talking a little bit more and thinking and maybe even sketching to make sure our mental models are kinda in line with what's happening.

But the most of the course you're gonna be seeing little tiny snippets of code, where you can be tinkering along, coding along and even just trying out other things yourself in the browser. And then we will also be having some time to solve some dedicated exercises towards implementing our projects that are probably be, I don't know, one for this section.

We'll probably spend maybe 15 minutes writing some code kind of on our own. So I would say expect to have your laptop in front of you the whole time. We're gonna talk about where and how we're gonna write JavaScript but with your JavaScript interface open. And as we go through we're gonna be talking about the code that we're writing and especially on day one, it's gonna be kind of short little snippets.

And as we go through later in the course we'll be spending longer chunks of time writing code.

Learn Straight from the Experts Who Shape the Modern Web

  • In-depth Courses
  • Industry Leading Experts
  • Learning Paths
  • Live Interactive Workshops
Get Unlimited Access Now