Course Outline
Introduction
Functional Programming in Depth
- Object-oriented programming vs functional programming
- First class functions and higher-order functions
Functional Programming in C++
- Writing code in a functional style
- Creating Lambda functions
- Capturing objects
- Merging functions
Metaprogramming and Functional Reactive Programming
- Applying factorials
- Using C++ template libraries and functional programming libraries
- Working with Reactive extensions and RxCpp library
Functional C++ Development
- Building applications
- Using higher-order functions
- Working with error handling
- Implementing functors and monads
- Refactoring code
- Writing unit tests
- Profiling performance
- Multithreading applications
Summary and Conclusion
Requirements
Prerequisites
- An understanding of procedural/object-oriented programming
- Basic experience with C++
Audience
- Web Developers
Testimonials (3)
Detailed explanation, re-iteration of points in a quite subtle way that really drove the knowledge home very well. Rod's willingness to double-check the odd obscure question that we rasied, to be sure that his answers were 100% right. Also, his interest in discussing the pros & cons of alternate coding styles so that we learnt not only how to use C++ in our intended way, but why it should be done that way.
Nick Dillon - cellxica Ltd
Course - Using C++ in Embedded Systems - Applying C++11/C++14
Experience sharing, it's teacher's know-how and valuable.
Carey Fan - Logitech
Course - C/C++ Secure Coding
The live coding