• Login
  • Apply
Back to Blog

Why attend a JavaScript Workshop & How it Can Help you Learn to Code - Dive Deeper into JavaScript

Our free, weekly workshop series, JavaScript the Hard Parts, is a great learning tool for those who want to cement their JavaScript knowledge. Our instructors go under-the-hood on a range of concepts through lectures, from Callbacks to Closures to Async and Promises, while you develop your technical skills by pair-programming through challenges in a tight-knit, laid-back environment.

These workshops run for about 2 hours and are designed for those who have some familiarity with JavaScript, but wish to dig deeper in popular concepts. However, since our instructors focus more on the concept versus just the syntax, all levels of coders are welcome to attend.


The difference between attending a workshop and learning on your own through videos and tutorials is that, in the workshop, you’ll get to build something and actually program at various points in the lectures. Not only that, you can ask questions to instructors with solid experience and knowledge of what’s being taught, as well as work side-by-side with fellow coders in similar stages of learning. Another aspect of our workshops that sets them apart from other tutorials is that the instructors at Codesmith go beyond teaching code conceptually by actually diagramming execution context, call stack, etc. on the whiteboard, which is invaluable for most types of learners, especially visual.

Another reason that so many people have been able to solidify their skills with these workshops is because of pair-programming. In this portion, you’ll be working alongside a fellow coder, and take turns as the “driver” and “navigator.” The driver is the person writing code, and the navigator is giving instructions and directions. While it can seem intimidating at first, explaining your code out loud and walking someone through your thought process helps you get a better grasp of what you’re learning. In turn, being the “navigator” allows you to see things through someone else’s perspective and learn different approaches. So if you’re looking to be a better programmer, pair-programming is definitely an approach worth trying!

“I know you may be thinking I don’t want to pair program! I won’t go just because of that, but it really is great! Not only can you possibly make a new friend, but you also get the chance to see how other people think, and how they arrive at a solution. That is invaluable in itself because it can help you approach a problem differently one day.” Joshua David, JSHP attendee.



We currently host 6 different workshops in the series, covering the most essential concepts in JavaScript such as:

Callbacks & Higher Order Functions -

You’ll learn how to build functions from scratch, like map, reduce, and filter, using higher order functions to keep your code clean, even in complex situations, and how to diagram through higher order functions and callbacks scenarios.

Closure, Scope & Execution Context -

Dive into one of the most misunderstood , yet one of the most important features of JavaScript. In this workshop we cover classic closure functions like once and memoize, and then go into password-protected functions. By the end of this workshop, you will understand core JS runtime features — execution context, JavaScript execution model and the variable environment, and will be able to implement the module pattern — one of the cleanest, most resilient design patterns in JavaScript.

Async & Promises -

We will cover the challenges with asynchronicity in JavaScript and how promises fix the problem of inversion of control, while you build a promise from scratch and understand resolve, reject, then and done. You’ll also learn the call stack, event loop, callback queue, and background threads so that you can navigate complex asynchronous problems.

Classes and Prototypes -

We’ll teach 4 approaches to object-oriented programming in JavaScript, and explore the most popular OOP patterns. We’ll cover how the ‘this’ and ‘new’ keywords are working under-the-hood with the prototype chain, ES5 and ES6 approaches, factories, constructors and classes as well as prototype, __proto__ and the prototype chain.

Recursion in JavaScript -

You’ll dive into one of the most powerful, but often confusing concepts in programming: functions that call upon themselves. We’ll cover how to write recursive functions and how you can return a value out of a recursive call.

Iterators -

Learn about iterators, a new feature of ES6+, and discover how to build a powerful universal way of interacting with your data, as well as how to implement iterators from scratch using closure.


Each one of our workshops is carefully designed so that you can be sure you’re learning the latest and most relevant concepts in programming. It’s also a great tool for people that wish to attend a full-time immersive program like Codesmith’s and are looking for a resource to prepare. While we do teach the core JavaScript concepts that you’ll be expected to know in your technical interview, we also focus on helping you develop important skills, like technical communication, that is a core part of our admission process.

Whether you’re looking for a way to improve your JavaScript skills, prepare for our immersive program, or be part of a tight-knit community of developers, come join one of our workshops, and learn through immersive live lectures, pair programming challenges and technical communication practice. Though all of our workshops are live-streamed, we recommend you stop by our campuses in LA or NY to have the best learning experience possible. Check out our upcoming workshops schedule.