Skip to content

This repository provides solutions to the Advanced C++ and Modern Design course jointly provided by the Baruch MFE and Quantnet.

License

Notifications You must be signed in to change notification settings

mjolewis/Advanced-CPP-and-Modern-Design

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Advanced-CPP-and-Modern-Design

Objectives

The goal of this hands-on course is to introduce modern C++11 to C++20 and apply it to the design and implementation of quantitative finance applications.

Syllabus

Level 1 - Modern C++ Essentials

  1. C++11/17/20 Core Language Features
  2. Lambda Functions
  3. Improving classes (avoiding generation of special functions, move semantics, explicit constructors, no except)
  4. Variadic fundamentals
  5. Universal function wrappers and C++11 Bind
  6. Sealed Classes

Level 2 - Advanced C++ Features

  1. Type Traits and Template Metaprogramming
  2. Advanced Lambdas
  3. Variadic Template Metaprogramming
  4. STL and Boost Bitset, Smart Pointers, Function Objects, and Lambdas
  5. Platform-dependent and platform-independent error codes and error conditions
  6. Auto deduction rules for braced initialisation lists
  7. The seven ways to initialise variables
  8. std::byte
  9. Three-way (spaceship) operator
  10. Template parameter lists for lambda functions
  11. Fold expressions for recursive data structures; applications
  12. std::string_view
  13. String literals as template parameters
  14. std::optional
  15. std::span

Level 3 - Concurrency

  1. Essentials of Boost and C++11 threading
  2. Advanced C++ Concurrency
  3. C++ Tasks and tasking applications
  4. Extensions for Parallel STL

Level 4 - STL, Data Structures, and Random Numbers

  1. New data structures and data types
  2. STL algorithms in a multi-paradigm programming environment
  3. Random numbers and statistical distributions

Level 5 - Boost Libraries

  1. Boost Libraries Overview S
  2. tring Algorithm Library
  3. Regular expressions and RegexHash
  4. Unordered
  5. BitmapHeap
  6. Matrix Libraries (Boost uBLAS) Signals and Slots (Boost signals2)

Level 6 - Modern Design Patterns
A refresh of the GOF design patterns using modern C++ techniques. Patterns include

  1. Singleton
  2. Factory
  3. Composite
  4. Prototype
  5. Proxy
  6. Strategy
  7. Decorator
  8. State
  9. Visitor
  10. Observer
  11. Propagator

Level 7 - Modern Design Patterns Continued + Advanced Language Features

  1. Factory
  2. Template Method Pattern
  3. State
  4. Observer
  5. Concepts
  6. Modules

About

This repository provides solutions to the Advanced C++ and Modern Design course jointly provided by the Baruch MFE and Quantnet.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published