"I definitely agree that the Advanced C++ course would be a great way to hone your skills. The prerequisites for the advanced course are as follows:
· Proficiency in OOP, inheritance, polymorphism.
· Proficiency in generic programming (C++ templates).
· Deep understanding of C/C++ memory management (dynamic allocation), pointers, references, memory leaks, etc.
· Understanding of the importance and usage of const-correctness, data hiding, etc.
· Experience using Boost libraries.
· Experience with basic STL containers/data structures.
· Solid experience with Object Oriented design (i.e., abstract classes, composition vs. inheritance, class design).
· Great coding habits (best C++ practices, code commenting, code format, etc.)
All of the above are covered in detail and practiced in the first C++ course (the first two levels are more of a 'review' of C whereas the later levels go into detail regarding the above). If you are proficient in the above, then the Advanced course would be for you -- feel free to enrol. Otherwise, the first C++ course should be taken first to get your skills up to par. You may decide what you are most comfortable with.