How to make a plan of learning C++?

0 like 0 dislike
10 views
Good afternoon.
Prompt, please, a coherent plan of learning C++, which will provide knowledge not only to solve educational problems, but to apply in commercial practice.

Most courses give the basics, the plan is always the same. Passed fundamentals, data types, overloading, encapsulation, polymorphism, etc. and finished the theoretical part is the use of templates.

I would like to see something like plan training on hexlet , which details technology to create a specific application.

Found the courses opus plan, and it, too, would like to know the opinion:
  1. Build system: build, test and deploy
  2. Shyrokosmolenka features of the C++11 standard. auto. A closure is a Lambda function. Tuples.
  3. Shyrokosmolenka features of the C++11 standard. an rvalue or lvalue reference. Move semantic. Variadic Templates. POD. The lambda function. Tuples.
  4. Innovations 14 standard.
  5. Deep into the implementation of smart pointers.
    Pitfalls and optimization.
  6. The standard allocator and its disadvantages. Various methods of memory management.
  7. C++: macros. Type traits to STL. SFINAE
  8. Design principles FOR
    UML. Principles: SoC, DRY, YAGNI, KISS, TDA, LoD, SOLID
  9. GRASP
  10. Patterns GoF
  11. Antipattern
  12. STL
  13. Boost
  14. Multithreading
    Streams. Critical sections and synchronization mechanisms: mutex, semaphore, conditional variables, barriers. The thread pools.
  15. The Concurrency pattern. Active Object, Balking, Barrier, Double-checked locking, Guarded suspension, Leaders/followers, Monitor Object, Reactor, Read write lock, Scheduler, Thread pool, Thread-local storage.
  16. Asynchronous programming
    Architecture asynchronous services. Low-level support for asynchronous code execution.
  17. Lockfree DS
    Non-blocking data structures and algorithms. BOOST Lockfree
  18. Networking
    Sockets. Protocols: TCP and UDP. Serialization. HTTP. Json. Zmq. Protobuf.
  19. Asynchronous I/o
    Libraries and practices of non-blocking data transfer
  20. RDBMS
    The use of RDBMS. Connecting and working with databases
  21. Key Value
    The Idea Of NoSQL. Aerospike, redis, leveldb
  22. Map reduce
  23. OOP when working with databases. DAO and Repository patterns
  24. Dlib. Clustering, topic modeling. Regression. Classification.


There is also a matrix of competence , but I would like to project this in C++

And a couple of questions:

1) do I Need a mentor? So whether its presence helps to progress?
2) Should we just "jump from a boat to learn to swim" and try to write some sort of simple game engine, bot tutorials where Google strange parts and study topics?
by | 10 views

3 Answers

0 like 0 dislike
Otus is a training plan June with some commercial experience already to middle. And the idea is to push yourself to mind all of C++ before the start of commercial experience - not very meaningful.
Perhaps it would be better to learn the basics of the language in the volume of the book of Stroustrup ( but not necessarily exactly on it ), plus add the git read some articles on the performance and typical errors and going to get a boyfriend. And even then, to bump, to study patterns/antipatterns etc.

1) do I Need a mentor? So whether its presence helps to progress?

Is useful of course, if you find a good.
2) Should we just "jump from a boat to learn to swim" and try to write some sort of simple game engine, bot tutorials where Google strange parts and study topics?

To write a bot is a good idea, besides you will need some code to show at the interview. Writing something big is not necessary, at the beginning it will be a shitload of bad code, in which we learn.
by
0 like 0 dislike
It is better to write the code theory is nice and necessary, but without practice it is useless.
by
0 like 0 dislike
Try to watch this video. I think it will be useful.

here
by

Related questions

0 like 0 dislike
1 answer
0 like 0 dislike
4 answers
asked Aug 17, 2019 by Ducalius
0 like 0 dislike
2 answers
asked Jun 14, 2019 by Rphoenix
0 like 0 dislike
2 answers
asked May 10, 2019 by danko1307
110,608 questions
257,186 answers
0 comments
33,964 users