To your analogy, jumping into the advanced course without solid underlying skills is like trying to drive an 18-wheeler truck with a learners permit to drive a car (having taken a written driving test but have not yet put in any practice hours). My recommendation would be to do both: You can likely get through the first course relatively quickly (4-6 weeks if you really dedicate yourself), and you will then be well-equipped to take the advanced.Yes, I do agree. The important and all required concepts in C++ are covered in the level1. After checking the syllabus I felt it could be an overkill if I start with first course.
I am sure that neither I be able to use the best practices coding and right paradigm taught in Level 1 course nor error free lean code, but doing first course will probably hone my coding skills, teach me right coding standards, how to write cleaner code, better modularization since I know the concepts. But I seek to learn design pattern, Modern C++, multi-threading, concurrency, the industry relevant skills etc. So I am confused about the two as I have no hands-on C++ work experience. Had I been an absolute beginner Level 1 is a no-brainer. Basically I want to learn driving, being good at it is something that I want to leave it for the later when I get my hands dirty working in real world problem solving in a Software engineering setup.