Michael Lewis - trading algo developer
Developed by Dr. Daniel Duffy, this 20-week online course is tailored for experienced C++ developers eager to master C++17/C++20 features. Key areas include multithreading, advanced STL/Boost libraries, and modern design techniques.
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.
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.
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.
Our graduates overwhelmingly recommend this course for its values, experience and services.
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.
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).
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++.
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++.
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.
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).
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.
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.
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.
Thousands of students who successfully completed the certificate have been enrolled and are employed at numerous selective quantitative finance programs and financial institutions.
From one-on-one support to community support. We want to see you succeed and will be here to support you along your course