About This Course

This course is hands-on and lab based. Developers will learn through coding and building with React.

Learn from the experts with years of experience in building and scaling production applications.

Courseware and labs will be custom-built for your team's interests, level, and stack.

Over 50,000 developers (since 2003) have trained with us and given us an average evaluation score of 4.6 out of 5.

Course Details

(We can customize any part of this course to better suite your team)

Course Summary

Angular (aka Angular.js or AngularJS) is a web application framework that is developed and maintained by Google. It quickly became the most popular web application framework around 2013-2014. Angular gives developers everything they need to build full interactive data-driven applications.

The Advanced AngularJS with Test Driven Development covers advanced Angular topics while also covering how to write unit and E2E testing for Angular. The course starts with a brief review of HTML, CSS, and ES5 and Angular concepts (MVVM, Directives, Controllers, ES5 vs. ES6 features/syntax).  It then jumps into how to setup dynamic routing and application states using ui-router. Test-driven development with Jasmine and ng-mocks is covered thoroughly. Responsive design best practices is given a half-day review. Developers will learn how to test each major Angular module type, including directives, controller, services, templates and events.


Developers with intermediate JavaScript experience and preferably some experience working with MVC or MV* frameworks.

Course Objectives

Upon completion of this course, developers will understand or know how to:

  • Correctly utilize the major features of HTML5, CSS3, and ES5
  • Understand the difference between bind, call, and apply
  • Build basic Angular demo applications using directives, controllers, and services
  • Design applications to be responsive to mobile, tablet, laptop, and large monitor screen sizes
  • Setup routing for application states using ui-router
  • Independently test Angular modules using E2E and unit tests


This is a five-day hands-on course.

Course Curriculum

  • Automated Testing
  • HTML5 and CSS3 Review
    • Overview of HTML5
    • Semantic Markup
    • Semantic Tables
    • HTML5 Forms and JavaScript
    • Overview of CSS3
    • Responsive Design and Media Queries
    • Transitions, Transforms, Animations
  • Introducing Frameworks and Responsive Design
    • What are frameworks and why are they used?
    • What is mobile first?
    • What is responsive design?
    • Understanding Media Queries
    • Working with Grid Layouts
  • ECMA Objects
    • What is ECMAScript?
    • Function Arguments
    • Call and Apply
    • Window Object
    • Closures
    • Array Methods
    • Binding Functions to Objects
    • Object.Create
    • Descriptors
  • Design Patterns
    • What are design patterns?
    • Common JS Design Patterns
    • Currying

Web Services for Java

  • Creating Web Services with Java EE
  • Difference between JAX-WS and JAX-RS

Review of core AngularJS key concepts

  • MVW framework
  • Directives
  • Controllers
  • Services


  • UI-Router Nested Views
  • UI-Router Multiple Views
  • UI-Router Extras


  • Provider Service
  • Service Decorator
  • Web Services
    • $http VS $resource VS Restangular for REST
    • Promises
    • Messaging
  • Best Practices with AngularJS
    • Angular Design Patterns
    • Effective Angular testing strategies
    • Controller-as-syntax
  • Angular scenario runner
    • End-to-End (E2E) testing
    • Simulating user interaction
    • Navigating pages and routes
    • Reloading pages
    • Location object
    • Setting expectations
    • Page content interaction
    • Handling Angular Binding
    • Form interaction
    • Testing loops
  • Angular mocks (http mocks, etc)
    • Angular Mocks library with ‘angular-mocks.js’
    • Dependency injection
    • Fake HTTP back-end with ‘$httpBackend’
    • Setting expectations with ‘expect’
    • Request handling
    • Setting back-end definitions with ‘when’
    • Stub responses and calls
    • jasmine spies
  • Writing Effective Tests
    • Page content
    • controllers, Unit and E2E
    • filters, Unit and E2E
    • directives, Unit and E2E
    • services / factories, Unit and E2E
    • templates, Unit and E2E
    • events, Unit and E2E

What Developers Say

I had trouble understanding a certain concept, and told the instructor that I just didn't get it. While the class was busy with an exercise, he sat down with me, gave me material to read, and made sure I understood it before I moved on. I really appreciated that.

Developer at Paypal

The instructor was very knowledgeable, making it easy to ask questions and provided good conversation about the topic at hand.

Web Developer at Dell

I liked that we could determine what to learn, no time was wasted.

JavaScript Developer at RetailMeNot

The hands-on exercises were well through through, which made the understanding of the course clear.

Front-End Engineer at Dish Networks

Learn More About This Course

Give us a bit of contact information to get in touch with you


* These fields are required.

Learn from the top JavaScript experts

A sample of some of our experienced developers/instructors

Eric Green

Eric is a professional trainer and software developer who loves learning new things, sharing what he learns, and helping clients to solve business problems. He holds a BS in Computer Science from the Virginia Military Institute, and numerous software certifications to include the Microsoft Certified Professional Developer certification.

Ryan Morris

Ryan provides remote and class-based training for students of all skill levels for a variety of technologies such as JavaScript, HTML/CSS, Git, Node.js, PHP, Test-Driven Development, and Software Architecture & Design.

Jason Aden

Jason is a 15-year software engineering veteran with experience in front and back end technologies. After spending nearly 10 years working heavily on the back end, Jason ventured into the front end/single page application space. He’s worked with libraries and frameworks such as Sencha, Backbone, JavaScriptMVC, and AngularJS has been his primary focus since 2012. He has spoken at conferences such as the inaugural ng-conf (2014) and Dreamforce (2014).

Peter Munro

A frequent speaker at tech meetups, he has spoken on topics such as Node.js, the HTML5 Audio API, WebRTC and Web Components. He started a Meetup group for participants to discuss new and upcoming web technologies, and recently wrote and taught a series of workshops on JavaScript and related web technologies.

You'll Be in Good Hands

Our full-time operations and support staff

Marketing + Content


Program Manager

Program Manager
VP of Product Development

Our home base: Boulder, CO

appendTo (owned by DevelopIntelligence) works all over the US and world. But between trainings, beautiful sunny Colorado is home for us.

Postal address: 3200 Carbon Pl #101, Boulder, CO 80301

Phone: (720) 445-4360

Email: info@appendto.com