C++Courses

Best C++ Courses for Banking, Finance & FinTech (2020)

In FinTech by Gaurav SharmaUpdated On:

C++Courses

C++ is one of my favourite programming languages because I enjoyed learning it more than anything else. However, I am not the only one and C++ is also the favourite of many large corporations and banks whose entire core systems are build on it. It is indeed a very powerful language and it held an almost revolutionary status for quite a while.

C++ is one of the most universal programming languages and is used almost everywhere – from cutting edge gaming engines to virtual reality, from low level device drivers to operating systems, from core banking systems to desktop applications and more. It is one of the fastest languages and is widely utilized anywhere that requires real time performance.

In the financial services industry, a good percentage of jobs still require C++ skills. It is the quintessential foundational programming language and I think it is the first language that anyone should learn. It will just make you a better programmer.

Here are the best C++ courses and training programs.


1. C++ Developer Nanodegree Program from Udacity

Why take this Course?

  1. This is the most comprehensive and complete C++ course available online. It is suitable for beginners as it does not require any previous C++ coding experience. It is chock full of excellent content and no less than five real-world projects for you to complete. That is more than enough to get you desk ready for almost any C++ development job.
  2. You obviously start with some foundational modules. You will learn how to develop, compile and execute C++ programs as well as about the syntax, functions, containers and linking files together. C++ is an object-oriented programming language and you will focus on building classes, interfaces, and templates to create objected-oriented C++ programs. Including all the tools you need to write clean and reusable code.
  3. Next up is the rather important topic of memory management and controlling static and dynamic memory in C++ using pointers, references etc. You will also learn about concurrency as C++ supports running multiple execution path sin parallel. You will lean how to launch processes and threads to execute in parallel including thread synchronization and communication to really make use of concurrency.
  4. As mentioned, there are a lot of real-world projects that really drive home the learning. You will work on projects like a route planner, resource monitor, memory management chatbot, concurrent traffic simulation and a final capstone project where you build your own full-fledged C++ application. All of this should serve to give you the confidence to ace any interview or test.
  5. Udacity’s Nanodegree programs offer a whole host of additional services which is one reason I tend to like them. For example, you will get access to technical mentors, a career coach, interview preparation and even CV and LinkedIn profile help. The whole shebang.

Summary

  • Time to Complete: Should take around 4 months depending on your weekly commitment and prior experience.
  • Offered fully online and on-demand.
  • The complete C++ learning experience chock full of real world projects and value added services to get you desk ready.

Preview Course/ Apply


2. Accelerated Computer Science Fundamentals from the University of Illinois

Why take this Course?

  1. This a course all about data structures and algorithms in C++. It is an intermediate level course and does require some prior understanding of any programming language. It focuses more on the object-oriented programming aspects of C++ and its other advanced features that you need to learn to get to the next level.
  2. You start right away with an introduction to object-oriented data structures in C++. You will lean how to write a program in C++, how to set up a development environment for wiring and debugging C++ code and how to implement data structures as C++ classes. Next, you move on to ordered data structures. Here, you will learn new data structures for efficiently storing and retrieving data, lists, trees, arrays, linked lists, queues, stacks, binary trees heaps, AVl trees, B-trees, calendars etc.
  3. Lastly, you focus on unordered data structures and algorithms needed to implement hash tables, disjoint sets and graphs. These are the fundamental data structures that are used for unordered data and leaning about these will allow you to code for advanced applications.
  4. There is a significant focus on applied learning. Which means you will be completing weekly challenge problems that will require you to implement fragments of C++ code to achieve specific tasks. You will also have several longer-format coding projects where you will have to build C++ programs to achieve advanced tasks like editing images, manipulating data structures, solving graph search problems and so on.

Summary

  • Time to Complete: Should take around 50-60 hours depending on your prior skill level.
  • Offered fully online and on-demand via Coursera’s eLearning platform.
  • An intermediate level course that has been designed to get you ready for building advanced C++ applications.

Preview Course/ Apply


3. Coding for Everyone: C and C++ Specialisation from UC Santa Cruz

Why take this Course?

  1. This is the most beginner-friendly course for learning C++. It actually starts off with C to get you familiar with the basics of computer programming and then moves on to the more advanced features of C++ like object-oriented programming and also semantics and syntax. This approach seems to work well enough.
  2. The first half of the specialisation focuses on C. This includes concepts like lexical elements, data types, flow of control, simple functions, advanced functions, recursion, arrays, pointers and so on. You will also be taught about structured programming techniques.
  3. The latter half of the specialisation then move son to elements unique to C++. You will learn how to convert C programs to C++, C++ functions, generics, classes and object-oriented programming, using safe input/ output, default constructors, conversion constructors, copy constructors, list and dynamic memory allocations, basic container classes, iterators etc.
  4. You will also learn about the Standard Template Library and how to use iterators to access container to produce highly efficient generic algorithms. You will learn about Hex as a graph and inheritance. C++ move semantics, Monte Carlo programs, and the idea of design patterns.

Summary

  • Time to Complete: Should take around 72 hours depending on your prior skill level.
  • Offered fully online and on-demand via Coursera’s eLearning platform.
  • A beginner friendly course that starts off by teaching you the very fundamentals of programming eases you into the more advanced and powerful C++ language.

Preview Course/ Apply


4. Introduction to C++ from Microsoft

Why take this Course?

  1. This is a short introductory course to teach you the basics of C++ from the guys over at Microsoft. This is a useful introduction that may be used to get some programming understanding before moving on to some more advanced courses.
  2. You will learn C++ syntax, language fundamentals and how to create functions and basic programs using C++.

Summary

  • Time to Complete: Should take around 15 hours. This is a short introductory course.
  • Offered fully online and on-demand on edX – an eLearning platform created by Harvard and MIT.
  • A basic conceptual course for those without any programming experience.

Preview Course/ Apply

About the Author

Gaurav Sharma

Gaurav started his career as a Corporate and Investment Banking intern at Citi in 2009 and eventually ended up as an Associate Director at Standard Chartered Bank’s Wholesale Banking division a few years later. By 2016, Gaurav was consulting FinTech start-ups in London with product development in the institutional banking space. He also advises mid-market Private Equity/ Asset Management firms and Banks in North America and Europe with investments in the financial services and FinTech sector. Gaurav writes on topics ranging from European Union banking regulations and FinTech to Blockchain startups and the inevitable rise of our AI overlords! He has an Engineering degree in Computer Science and an MBA with a double major in Finance and Marketing. He is also a Certified Financial Risk Manager.