JavaScript for Developers

As Douglas Crockford once said, JavaScript is the world's most misunderstood programming language. It is also one of the world's most popular programming languages and one of the cornerstones of a modern web application development. With web clients becoming thicker and more complex, it is no longer easy to get away with sloppy, ad-hoc JavaScript programming style. In this JavaScript hands-on workshop you will learn how to write good code (by employing its good features and avoiding quirks and common pitfalls).

    Learn how to

    • Apply best practices and avoid quirks and common pitfalls
    • Use modern language features
    • Take advantage of JavaScript's functional and dynamic nature
    • Understand lexical scope and closure
    • Unit test JavaScript code
    • Write clean, well-structured, object-oriented code
    • Apply asynchronous and event-driven patterns


    • Introduction to unit testing (Jasmine)
    • Objects
      • object literal
      • default & guard operators
      • updating properties & property attributes
      • property enumeration
      • removing properties
    • Functions
      • declaration hoisting
      • function literal
      • arguments
      • invocation patterns and this
      • return
      • prototype
    • Arrays
      • array literals
      • length & delete
      • for vs. for in
      • arrays vs. associative arrays
      • filter/map/reduce & co
    • Functions, part two
      • lexical scope
      • closure
      • revealing module pattern
      • bind
    • Unit testing asynchronous code
    • OOP
      • constructor and factory functions
      • classes
      • inheritance
      • mixins
    • ES6
      • const & let
      • template strings
      • object literals
      • default parameters
      • fat-arrow functions
      • destructuring objects and arrays
      • spread & rest operator
    • Asynchronous programming patterns
      • callbacks
      • promises
      • observables
    • Functions, part three
      • are first-class
      • partial application

    This JavaScript workshop is designed for experienced Web Developers designing, creating and maintaining rich web applications. It will help you tackle the complexity and challenges of the modern Web Development.

    To get the most out of the workshop, you should have hands-on experience with JavaScript and be familiar with HTML, DOM, CSS and Ajax.

    Labs & Exercises
    This workshop is a combination of lectures, discussions and practical exercise

    Computer Setup
    You need to bring your own laptop with the following installed:

    • Git client
    • NodeJS 8
    • Google Chrome (or any other modern browser)
    • Visual Studio Code (or any other text-editor/IDE)

    This is a BYOD (bring your own device) workshop.

    Damjan Vujnovic

    The passion for programming and making new discoveries took me from unlocking the secrets of C=64 machine language to all things web. Today, after 20 years of professional experience, the sheer excitement and pride of making a new technologies "work" is still driving me every day.

    I've worked on various domains in different industries (e-government, fixed-odds betting, online gaming, social networks, investment banking) and with different technology stacks. Designed and helped building several scalable, high-throughput, low-latency transaction processing systems. One of the founding fathers of MindMup.

    Today, I'm helping ambitious teams achieve their goals and improve how they build software.

    Regularly giving talks at various meetups and software development conferences.

    Programutvikling uses cookies to see how you use our website. We also have embeds from YouTube and Vimeo. How do you feel about that?