:3

Everything is barely weeks. Everything is days. We have minutes to live.

My profile photo

"Javascript Crash Course" by Nick Morgan Review -- No Starch Press

Posted

Introduction

The book I’m reviewing today is JavaScript Crash Course , authored by Nick Morgan and published by No Starch Press in 2024. It’s a relatively recent release and sits at 376 pages—making it a mid-length read. I picked up this book while starting my journey into learning JavaScript for web development. It came highly recommended by people on Reddit (where else would one look for such recommendations?), and since I’ve had great experiences with other No Starch Press titles, I decided to give it a try. Spoiler alert: I wasn’t disappointed! But also, this is a review written by a very green beginner to webdev, so if you are in any way experienced, you will likely not find the parts I describe as “challenging” actually “challenging”.

Book Structure and Content Overview

The book is divided into two main parts:

Part 1. Crash Course in JavaScript: The first part consists of nine chapters covering JavaScript fundamentals. This section introduces basic programming concepts, JavaScript syntax, and DOM manipulation.

Part 2. Project-Based Learning: The second part features three hands-on projects that showcase more advanced JavaScript capabilities:
A Pong Game: A classic game coded entirely in JavaScript.
Music Composition with JavaScript: An interesting and specialized project focused on creating music through code.
GitHub API Visualization: A project that demonstrates how to interact with APIs and visualize data.

This structure works well, starting with the basics and then walking the reader through 3 very different and more complex projects. The fundamentals are covered thoroughly, and the projects give a taste of what you can do with JavaScript once you have the basics down.

Writing Style and Readability

The book is very well-written, with a clear and engaging style. Nick Morgan manages to inject a bit of humor throughout, making it a fun read without sacrificing clarity or conciseness. The explanations are thorough enough without going into excessive detail, making it easy to follow along even if you have just a basic understanding of programming concepts. I did have to look to other sources for more in-depth information on some of the material presented though. Nick also provides sample code for all exercises and projects on CodePen.

Strengths of the Book

One of the biggest strengths of JavaScript Crash Course is its engaging, accessible approach. It really lives up to its title—offering a quick yet comprehensive introduction to JavaScript basics, followed by practical examples that demonstrate what you can build with these new skills.

The projects are particularly well-done. They cover a range of topics and skills, from game development to API usage. This variety makes the book appealing to a broad audience, offering something for everyone. Even though the projects are challenging, they provide great inspiration and plenty of opportunities to experiment and customize, which I found to be quite fun and inspiring.

Weaknesses and Areas for Improvement

While the book is mostly beginner-friendly, there are a couple of areas that might pose challenges for absolute beginners. The first part of the book covers fundamentals well, but it lacks practical exercises to help solidify the concepts. For someone with no prior programming experience, this might make it harder to develop hands-on skills before diving into the projects.

The projects, although fantastic, are quite advanced. For example, the music composition project feels highly specialized and might be intimidating for a beginner. While I could follow along with the code, replicating these projects on my own would have been nigh impossible at my current level of experience. Including an appendix with beginner-level exercises would have been a great addition to bridge this gap and provide more practice opportunities.

Who Should Read This Book?

I would recommend JavaScript Crash Course to anyone with an interest in learning JavaScript who already has a basic understanding of programming concepts. It’s ideal for students, hobbyists, and beginner-intermediate learners looking to broaden their knowledge and explore what’s possible with JavaScript. However, if you’re a complete beginner with no coding experience, you might find the lack of introductory practice exercises challenging.

My Learning Experience

For me, this book served as a true crash course. I spent roughly 40 hours working through it, including following all the exercises and coding along with each project. It clarified a lot of concepts and gave me a good sense of JavaScript’s capabilities. While I found the projects difficult, they were also rewarding and gave me a lot of ideas for my own experiments.

Conclusion and Final Rating

Overall, I would rate JavaScript Crash Course 4.5 out of 5 stars. It delivers exactly what it promises: a quick but comprehensive introduction to JavaScript, paired with three cool projects that showcase what you can build with the language. The writing is engaging, the content is relevant and up-to-date, and the projects are diverse and well-designed. I’m only deducting half a star because I felt the book could benefit from some beginner-friendly exercises to practice the fundamentals before tackling the more advanced projects.

Additional Resources Recommendation

As a final note, I highly recommend checking out other titles from No Starch Press. I’ve read several of their books, and they consistently provide high-quality content, written by talented authors. Their books are well-edited, fun, and a great resource for anyone looking to improve their programming skills and knowledge. I particularly enjoyed Al Sweigart’s and Lee Vaughan’s Python books(for example).

Author
Categories book review, javascript