Want to be good at programming (C++) and then start learning game development, where should I start? This semester in my university we learned C++ but I feel like I am not that much good at programming as much as I should be, and because I am also interested in game development so of course it will be helpful for me in future. So I decided to learn it completely and not like leaving in the middle but I don't know from where should I take a course that can be best for me.... I chose a course from Udmey website (https://bit.ly/2nW4ayE) but I am not sure that I should go with it or should I take another course? 

After that my main goal is to learn game development, I have zero knowledge in it. But I think I should go with Unreal Engine for game development. I am solo for game development. I also find a course for learning Unreal Engine from Udemy. So should I do Unreal Engine or another engine?

And should I learn anything other before starting game development solo, while I learn programming I can have enough time for learning anything other that can be helpful for game development, would you suggest anything?

Please also tell me that is it a nice idea of learning C++ and then starting game development.
How do you eat an elephant? One bite at a time.

First, learn how to properly code in C++.  This can be done by reading "The C++ Programming Language 4th edition" by Bjarne Stroustrup (The creator of C++) and coding at the same time; that is, while you read the book.  The key word here is "properly", though.  The following is a very accurate quote about C++: "In C++ it's harder to shoot yourself in the foot, but when you do, you blow off your whole leg."  Improper use of the "new" keyword in C++ can lead to big problems. 
This one actually got me, since I had a Java background prior to learning C++.  

Second, learn about game development.  This will involve learning about how to build physics engines and collision detection systems (using spatial data structures).  A little bit of knowledge on vector calculus can go a long way when developing a physics engine.  You will also need to learn computer graphics.  You can buy a book on OpenGL, which is a graphics library that you can use in C++.