Personally I don't like youtube videos, unless it's demonstrating how to use software, or a particularly extensive framework. I prefer written tutorials and books.
By all means, try videos, and stick with them if you think they help best.
>How many hours should I practice?
Try to set aside an hour every day. Depending on your workload for college, add 4 hours to some of your days off. Definitely don't go more than a week without coding while you're still learning - it's very easy to get out of practice.
>How should I learn?
le generic "do wats gud for u".
But to give you a starting point, try a tutorial and/or book. When they give you some code, play around with it. Change parts of it, and see how that changes the behavior. If it breaks the program, what kind of error does it give you? etc. I recommend books, but the important thing to remember is that you cannot learn to code purely by reading - you need to do some coding too. If you have no clue what to write, follow tutorials and try to change the code to do something a little difference once you get it working. When you understand most of the basics, set small goals - a goal should always push the limits of your current skills.
Also remember: google is your friend
searching "[language] [thing you want to do]" will generally solve all your problems. Definitely google error messages too, if you don't know what they mean. An important skill to develop is to be able to break systems down into programs, programs into processes, and processes into steps. This gets easier with practice.
>How will I know if im ready?
When you can comfortably develop a desktop application using a common industry language like Java or C# which stores data using an SQL database without closely following tutorials, you'll be better than a surprising number of applicants for junior positions.
Typical things enterprise employers are looking for:
Fluency in a mainstream language
Experience with databases (use parameterized queries when dealing with user input!)
Some SQL fluency
Experience with version control (git is a good choice)