Advanced C++ and Modern Design

Advanced C++ and Modern Design

Course Details

Location
Online
Length
20 weeks
Times
Self-paced
Cost
$1,450
Enroll today14 day money-back guarantee* Questions first?

About this program

Created by Dr. Daniel Duffy, an internationally known C++ trainer, book author and software designer, the Advanced C++ and Modern Design course is designed for experienced C++ developers who want to learn cutting edge C++17/C++20 features such as multithreading, advanced STL/Boost libraries, and design techniques to bring their skills the next level.

Highlights

  • One-on-One Support

    Each student is assigned a personal Teaching Assistant (alumni of Baruch MFE with a decade of professional experience as a quant/trader) who will provide timely personalized feedback on homework as well as input on coding improvement.

  • Community Support

    A dedicated forum is available to discuss homework problems where fellow students and instructors are actively helping one another with questions. Most questions are easily searchable.

  • Intuitive, Comprehensive Structure

    This 20-week course consists of 10 levels where students build their cohesive knowledge upon previously mastered material. Access to each level is granted upon successful completion of the previous level's homework and quiz.

  • Student Support

    Our graduates overwhelmingly recommend this course for its values, experience and services.

Exam and Certification

The final exam will be an optional coding project, chosen from a list of topics relevant to the students area of interest. Upon successful completion of the course, the Baruch MFE program will issue a Certificate of Completion to students who pass the final exam and obtain a 70% or higher average. A Certificate of Completion with Distinction will be awarded to students with 90% or higher average.

What You'll Learn

  • C++ Fundamentals

    We introduce some of the most important and far-reaching functionality that C++11 offers, in particular the multi-paradigm approach to modeling functions. We also introduce functionality that improves the robustness and efficiency of C++ code. Lambda functions’ essential functionality, comparing lambda functions with function objects, improving classes in C++11 (avoiding generation of special functions, move semantics, explicit constructors, no except), variadic’ fundamentals and polymorphic behavior, universal function wrappers and C++11 Bind, function wrappers with Inheritance and Composition, Tuples A-Z, sealed classes, other class improvements (alias template, explicit override).

  • Advanced C++11 and C++14

    We introduce advanced syntax and functionality in C++11 and C++14. The main focus is on functionality that promotes the reliability and robustness of C++ code.Introduction to type traits and Template Metaprogramming (TMP), advanced type traits (for example, creating type-independent code), advanced lambda programming (for example, init captures and functional programming in C++), smart pointers in Boost and C++11, IEEE 754 and C++ Floating Point Classification, platform-dependent and platform-independent error codes and error conditions, STL Bitset, Boost dynamic Bitset and mini-applications, STL Function Objects and Lambdas, Variadic Template Programming, Multiparadigm Programming in C++.

  • Modern Design with C++17 and C++20

    We seamlessly incorporate powerful, cutting-edge C++17/20 improvements to syntax, data types, features, and libraries throughout the course. This includes enhancements to auto deduction, new types such as variant and span, ranges, coroutines, modules, and parallel STL. We also introduce Concepts, which are the potential driving force for next-generation design paradigms in C++.

  • C++ Libraries

    Concurrent programming is an essential building block of any high-performance computing application in finance, engineering, and other areas. We discuss how C++ supports multi-threading and parallel programming: Boost and C++11 threading, advanced C++11 concurrency, and Tasks. Additionally, new data structures and types in C++11, STL algorithms, and random numbers/statistical distributions are introduced -- all of which can be building blocks of a high-performance Monte Carlo system.

  • Boost C++ Libraries

    We give a thorough overview of the Boost C++ libraries in order to acquaint the student with their potential and functionality. Boost Libraries Overview, String Algorithm Library, Regular expressions and Regex, Hash and Unordered, bitmap, heap, matrix libraries (Boost uBLAS), signals and slots (Boost signals2).

  • System and Design Patterns

    We discuss the popular design and system patterns that are based on the object-orient model. We concentrate on approximately 20% of the patterns that account for 80% of the effectiveness in software development. We also show how to create next-generation patterns using the multiparadigm programming models that C++11 supports. Class and Component diagrams in UML, Whole-Part pattern, Object-Oriented Metrics,creational patterns, structural patterns, behavioral Patterns, next Generation Design Patterns, examples and applications.

  • C++ Applications

    We present a defined process (based on a combination of Structured Analysis, System patterns and C++11) to architecting, design and implementation of complex software systems.Locating and bounding the Software System, System Decomposition, Presentation Abstraction Control model, Policy-Based Design (PBD) in C++, example and applications, principles of Parallel Programming and Libraries.

Exam and Certification

The final exam will be an optional coding project, chosen from a list of topics relevant to the students area of interest. Upon successful completion of the course, the Baruch MFE program will issue a Certificate of Completion to students who pass the final exam and obtain a 70% or higher average. A Certificate of Completion with Distinction will be awarded to students with 90% or higher average.

Don't forget:

  • Secure your future:

    Thousands of students who successfully completed the certificate have been enrolled and are employed at numerous selective quantitative finance programs and financial institutions.

  • You're not alone:

    From one-on-one support to community support. We want to see you succeed and will be here to support you along your course

Enroll today Questions first?
Back
Top