All of them teach the same concepts. Different teachers, different delivery but same content. Why? Because only fundamental concepts can be taught to a beginner. Only semi-guided/non-guided resources can make you a good developer because you learn to build while challenging yourself. Learn to learn, there is enough of free content to take advantage of if you know how to use them while making sure that you are actually learning and not memorizing. Imagine playing cricket after memorizing some different line & lengths of bowling and your shots corresponding to them. Will you learn batting by remembering which shot to play out of your memory or would you to like to learn batting by actually playing some random balls coming your way(semi-guided: footwork, timing fundamentals = syntax, design patterns of a programming language).