Cg8q4crqosxhukfywbnv pattern 1

Practical JavaScript

Build a strong JavaScript foundation for web development

Focus on what matters most, the fundamentals.

Mastering the building blocks of programming (such as functions, objects, and conditional logic) is your most important task as a beginning programmer. That’s because fluency with these core areas is absolutely crucial for everything you’ll do in any programming language, not just JavaScript. Frameworks, tools, and even languages come and go, but the fundamentals never change.

Learn the JavaScript that you actually need for web development.

Many books and courses like to focus on obscure or novel topics. They seem to think just because something exists, it should be taught. My approach is to instead prioritize topics based on how often they actually occur in day-to-day programming. In other words, I try to focus on the topics that you will almost certainly use every day.

It’s not just about code.

Along the way, we’ll talk about things that you’ve likely wondered about but never thought to ask. For example, you’ll learn how to ask technical questions, how to approach buzzwords, how to think about progress in a productive way, and why memorizing things is a fool’s game.

Instructor-led study sessions every week.

Every week, I jump on video chat and host a live study session that's open to everyone. It's a fun way to get your questions answered and also meet other students in the course. It also means that if you get stuck with something, there are no excuses. The responsibility is on you to show up, ask questions, and take ownership of your progress.

If you're not sure yet . . .

Scroll down and read the reviews to see what students just like you are saying.


Course Curriculum


  Support
Available in days
days after you enroll
  A very short story
Available in days
days after you enroll
  Interlude - Functions and variables
Available in days
days after you enroll
  Interlude - Success is the process
Available in days
days after you enroll
  Next steps
Available in days
days after you enroll

Your Instructor


Gordon Zhu
Gordon Zhu

Before starting watchandcode.com in 2014, I was at Google, where I developed software for the engineering education team. During my four years at Google, I also worked as a product manager on Maps and did marketing for AdWords and TalkBin (a YCombinator company Google acquired in 2011).

I love teaching (even more than programming) and started way back in high school, when I walked around the public library asking total strangers if I could tutor their kids (yes, it worked). So if you replace the library with the internet, I guess I haven't changed much since then.

I work out of my apartment and local cafes in San Francisco, California. Follow can find me at @gordon_zhu or [email protected]


Michelle Shum, December 16, 2019

Practical Javascript is the most thoughtfully constructed JS course I have found. It breaks down JS fundamentals in easy-to-follow videos with clear explanations, which is not always the case with other programming courses, learning sites, and books. The difficulty level in other resources tends to jump inexplicably, whereas the progression of Practical Javascript makes sense, and its structure ensures that you build upon concepts from prior lessons. Gordon walks you through planning and creating a web application, and you come to appreciate the beauty of neatly organized code.

One of the most important things I've learned in the course is how to use the debugger to inspect my code and troubleshoot errors. This skill has not only honed my programming instincts; it has helped me become a more independent thinker and problem solver. Many thanks to Gordon, for imparting this invaluable knowledge.

Blanca Hernandez, December 10, 2019

I thought Practical JavaScript would just be another resource that would add a little something to my knowledge of a concept and then I would have to use some other resource to incrementally add to my knowledge of it. However, I was happily surprised that Gordon’s approach really ensured I learned the concepts he taught well without me having to supplement with another course. I wish I had found Practical JavaScript earlier in my learning path, and I cannot recommend it enough.

I learned a lot more of JavaScript fundamentals with Practical JavaScript course than I did with my $12k online bootcamp. There are many examples I can point to where this was true, but two are my understanding of the "this" keyword and using the debugger.

I used "this" in my code many times in my bootcamp projects, but I didn't really understand it. Gordon has an entire section that helped me learn what "this" is, and shows how it changes depending on where/how it is used. In my bootcamp they introduced me to the debugger, but they didn't walk me through how to use it to debug or understand code the way Gordon did.

Unlike a bootcamp or other learning institutions, Gordon will not rush you into checking a box that you have “learned” something. His approach is for you to take the time to really learn.

Alexandra Caulea, February 7, 2018

Practical JavaScript is the most useful course that I ever took. It teaches you how plan, break things into small pieces, organize the code, use the debugger, refactoring the code and the most important how to think. At the end of each section you find out that the concepts that were introduced aren't difficult at all. Gordon makes difficult concepts seem simple and introduce new concepts only when it's needed. In this way everything it seem simple and straightforward.

I subscribed for the premium content because I want to learn programming and because I learn a lot from going through Practical JavaScript.

Thank you Gordon for making Practical JavaScript the best course on JavaScript for everyone.

Jonas Balieiro Rossi, January 10, 2017

I started Practical JS after trying two different "HTML,CSS,Javascript" courses (one of them top rated in Coursera). Both courses I finished feeling very comfortable with HTML and CSS, but thinking that Javascript isn't my thing. It sounded a little bit frustrating for me and I started to research about where I could learn the basics of javascript and to understand it's logic, otherwise, I couldn't move forward on my learnings. One is not able to simply jump the foundations of javascript.

After big research I found Practical JS. It's very easy to digest, friendly, and a nice path to understand things that may looked very complex before. More than this, Gordon approaches some uses that you'll have when working as a developer, and you can get familiar with the procedures. It's a MUST DO. It completely changed my comprehension of javascript and brought back my motivation to keep learning web development in general. Thank you Gordon, it's a very good work, and I can't wait to keep going!

Jason Baciulis, October 14, 2016

If you're a complete newbie who stumbled upon this course than consider yourself lucky. You have a chance to get on the right track from the start and save a lot of time.

Gordon will shift your focus on what matters most - strong fundamentals. He explains concepts clearly and with awesome analogies. Also, a course gets more difficult gradually (no crazy jumps in logic) as you build version by version.

Nikia Shaw, September 1, 2016

Gordon is offering something really valuable and the fact that he really cares shows through in the quality of the material. He's also super-responsive which is not something that I see often.

I found the course because I was literally Googling 'practical javascript exercises' or something similar. I was so frustrated and desperate to find something just like this. I just really need something that is not going to bore me to death with the same explanations and random exercises - I was losing my mind! I'm about half-way through Practical Javascript and got so excited that I got ahead of myself and peeked at the next course too, I can't wait :-)

Hema Pillay, August 19, 2016

I just want to thank you for creating a course of such high quality. I am a Java, C, C++ programmer who took few years off to raise my kids.

I was having a hard time learning Javascript from books or online and felt it would take a long time for me to get beyond beginner level. There are a lot of resources online but very few folks know how to teach even though they know the subject matter really well. You have that rare skill of knowing subject matter and being a great teacher. Being a visual learner, videos work best for me. I stumbled onto your website through a twitter feed that unfortunately I can't locate. Thank God for that post. I was trying to restart learning Javascript and I am so glad I found your course. It's like a light bulb came on finally. And your approach on teaching by creating a project is spot on. Thanks again. Looking forward to continued learning in the paid course.

Ej Cruz, August 11, 2016

Gordon Zhu, thank you for explaining Javascript in plain English. I'm currently in V4 of the lessons, and feel like I have a steady grip of the js syntax, and reasons why we're learning this. As a past math tutor for those in grades K-community college, I could see that you've really given yourself the time to think about how to lay out this information in a clear and understandable manner for those earnestly learning js from unit 1...or wait, 0! YES, I learned something. It takes a lot of patience and dedication and thoroughly appreciate the work you've put in.

So in summary, if you're still thinking about taking this js course and reading this review...#jfdi. This course makes so much sense, and Gordon gives you the tools to begin. Plain and simple.

Preston Geiken, June 20, 2016

Finally, a practical way to learn JavaScript.

There are many websites that claim they can teach JavaScript. If you’re relatively new to learning JavaScript like me, then you are probably left wondering, “Where do I go from here?” after you have completed those courses. Are you ready to make a project on your own, or are you not even close? Is it exciting to learn a new language, or does the subject seem dry with no practical use? If you experienced those thoughts, I highly recommend Gordon Zhu’s Practical JavaScript.

Gordon teaches by building a real, functional application. He starts at such a basic level, someone with no programming knowledge can dive in. He keeps things simple, he explains concepts clearly, and he puts everything in perspective and relates the project to real-life programming experience.

The best quality about Gordon is that he cares. He wants you to grow and become a better programmer. He has empathy and is eager to answer questions. Not only does Gordon possess an abundance of expertise and experience, he can communicate the material in a way that really resonates to someone starting to learn JavaScript.

Adam Lea, May 27, 2016

This is the one Javascript class I recommend to everyone. I've tried just about every JS class, course, and book. I just don't understand how a compassionate person can recommend (for beginners) Eloquent JS or JS The Good Parts. Those books are just confusing and not presented in the linear, logical fashion of Gordon's course.

With JS The Good Parts I looked at the silly diagrams and lost my mind and just put it down. Eloquent JS was better at the start, but eventually it just sort of lost me. I've been doing this web-thing for a while ( mostly hack-y WordPress, PHP stuff ) and I always just blamed my lack of "getting" JS on my age and, well, JavaScript itself! I have some anti-JS bias. You see, I am old enough to remember JS being something I copied and pasted from my HomeSite (Google it!) snippets to make things blink!

In all seriousness, this is THE JS class that most everyone should start with. If you get through the "Version 1 Arrays" video, I think you'll be hooked. So refreshing. No, I didn't learn anything new about arrays (total newbs will of course) but it was presented in such an easy, refreshing way - AND in the console (nothing to install, get started right away) AND a real tool you will use everyday should you proceed in your JS learnings.

I sound like a damned commercial! But that's OK - this course is THAT good.

Jonathan Schwob, May 5, 2016

Gordon understands how to break ideas down so that true beginners can understand them, while at the same time being succinct and laser focusing on what you need to get things up and running. These videos helped me to better understand concepts that other website's courses just weren't getting through to me and I'm looking forward to the rest of the course. Very thankful to Gordon for creating this as I haven't found anything quite like it. It's also really nice of him to patiently answer all my noob questions haha.

Daniel Hsueh, May 4, 2016

Finally a javascript course that both conceptual and practical….and won’t bore you to death! Gordon is a super talented teacher. He explains difficult concepts in simple, jargon-free language — then challenges you to apply them in small incremental challenges on a real world application. Really can’t say enough good things. Thanks Gordon!

Yat So, April 23, 2016

Damn it! Wish Gordon would've built this last year, then I wouldn't have had to waste 8 months dabbling with Codecademy, TeamTreeHouse, CodeSchool, and other online resources and still not be able to build anything on my own. I love the way he explains javascript concepts in the most straight forward way (for ex: an array is just a list or a function is just a recipe). He has the rare gift of breaking things down for non-technical people and I'm so glad I found him. A big thank you to Gordon for his hard work. Don't just take my word for it but I highly recommend you, the person who wants to learn JS, box off a few hours to give his practical javascript course a try. The ROI of your time is tremendous and most important of all, he makes learning javascript fun again!

Read more here on my blog post: https://medium.com/yats-blog/how-watch-and-code-saved-me-from-coding-hell-a0c8c4b6573e#.ve8smjm1n.