Thoughtram Angular Master Class review
On August 25th and 26th I attended the 2-day Angular Master Class by thoughtram at Silversquare Brussels.
The purpose of this short review is to share how I experienced the class as an attendee. It summarizes my personal thoughts only and is by no means influenced by thoughtram or the instructors.
All pictures we took during the class can be found here.
Class details
- Date: August 25+26, 2015
- Location: Silversquare, Brussels, Belgium
- Ticket price: 500 EUR for 2 days
I ordered my ticket on the thoughtram Angular Master Class page.
The booking process was easy and handled by Eventbrite.
The instructors
Thoughtram was represented by Pascal Precht and Christoph Burgdorf.
Pascal Precht is the author of angular-translate and actively contributes to AngularJS and Angular 2. His knowledge about JavaScript and AngularJS is incredibly thorough and he has a remarkable talent of explaining things fleuntly and efficiëntly. I wonder if there is anything about AngularJS that Pascal does not know!?
Christoph Burgdorf is a friendly giant with extensive programming knowledge that reaches far beyond JavaScript and AngularJS. He has a great nose for detecting code smell and put in a great effort to provide us with many prepared exercises. He is the author of Nickel, which was used to serve classroom presentations during the class.
Both Pascal and Christoph were amazingly humble and incredibly helpful towards everyone during the whole class.
Day 1
09:30 — Who is thoughtram?
Pascal and Christoph introduced themselves and thoughtram.
09:50 — Who are we?
All attendees quickly introduced themselves. There were 18 attendees with many different skill levels and ambitions.
Although this is beyond the class review and it is not something you can predict in advance, I was very fortunate to be part of a group with really great people.
10:30 — Introduction to AngularJS
In this lesson we were introduced to the fundamental concepts of AngularJS such as data binding, controllers, services and directives.
It was made clear why these concepts are important for AngularJS to allow declarative application development with a focus on testability.
Finally we dove into the details of AngularJS' runtime, its compiler and two-way data binding.
13:00 — Lunch
14:00 — Controllers
In this lesson we learned about controllers, the controllerAs syntax and why we should opt for controllers instead of scopes.
15:00 — Scopes
In this lesson we learned about the scope hierarchy and the different types of scopes.
16:00 — Services
In this lesson we learned about the built-in services and how to build custom services. We also learned about factories and providers and when to use them.
16:00 — Dependency injection
In this lesson we learned about the inner workings of the AngularJS injector.
17:00 — Promises
In this lesson we learned about promises and how we can use them to improve asynchronous code.
17:30 — End of day 1
Day 2
09:30 — Routing with ngRoute
In this lesson we learned about routing with ngRoute.
10:00 — Advanced routing with ui-router
In this lesson we learned about states, nested views, properly resolving asynchronous dependencies with ui-router.
13:00 — Lunch
14:00 — Advanced routing with ui-router (continued)
After lunch we created an entire sample application using ui-router.
14:30 — Directives
In this lesson we learned about the ins and outs of directives, compile functions, linking functions and directive controllers.
We also learned about the different types of scopes in directives and how transclusion allows us to create highly reusable components.
Finally we talked about how directives compare to components in Angular 2 and how we can already prepare ourselves for Angular 2 in AngularJS 1.x.
This was the longest lesson in the class and it was by far the best explanation on directives I have heard so far.
17:00 — Unit testing
In this final lession we learned how to write unit tests using Karma.
17:30 — End of day 2
Conclusion
I really liked the strong focus on "why" during the entire class.
Instead of just teaching us how things work, Pascal and Christoph went out of their way to also explain why things work the way they do in AngularJS.
This greatly benefited my true understanding of AngularJS and as a result it was amazing to see how attendees with no prior knowledge of AngularJS successfully managed to write some of the most complex directives by the end of the class.
The class program was well laid out and divided into logical sections. Each lesson was followed by a Q&A, a recap and practical exercises.
The instructors are both fenomenally clever and humble people, tirelessly answering all questions that emerged during the class.
I enjoyed (and benefited from) the class so much that I would sign up to other thoughtram classes without hesitation.
Would I recommend this class to others?
Absolutely yes!
Whether you are new to AngularJS or already use it in production, there is so much to learn from Pascal and Christoph.
So if one of thoughtram's future Angular Master Classes takes place in your area, don't hesitate and join.
You will not regret it!
Upcoming classes are published here.
Thoughtram also provides in-house training if you have a team that needs a thorough Angular education. Feel free to contact Pascal Precht or Christoph Burgdorf for more info.