Udemy is an awesome platform for learning programming languages. I've bought to date 26 courses, mostly programming ones. (I got stuck in Udemy Course Hell for a bit.)
Before I go on, this is just my opinion, and I don't mean to say any particular instructor is bad. There are a lot of great instructors on Udemy, and know their stuff, and the two examples I used were the two extreme ones I could find out of the bunch of courses I own.
Most people will say "build a project on your own". The issue is, (in my opinion of course) that without knowing the basics, being able to WRITE the basics, what I needed was cold hard practice. Unfortunately, there's hardly any practice to be found in most Udemy courses.
The Udemy platform has a way for instructors to write exercises, set certain parameters for passing, and for students to write actual code and have it checked. I saw this for the first time in Tim Buchalka's "Java Programming Master Class for Developers". It is chock full of exercises.
In contrast, Tim Buchalca's Java Master Class has 13 coding exercises. In just one section. Each one so far has taken me anywhere from 30 minutes to 2 hours to complete, a couple I worked on over a few 2 hour sessions. He takes whatever concept is being worked on, and makes you write a whole bunch of them. over and over.
Here's just one example of a exercise from Tim's course:
-using the for statement, call the calculateInterest method with
the amount of 10000 with an interestRate of 2,3,4,5,6,7, and 8
and print the results to the console window.
-How would you modify the for loop above to do the same thing as
shown but to start from 8% and work back to 2%
-Create a for statement using any range of numbers
-Determine if the number is a prime number using the isPrime method
-if it is a prime number, print it out AND increment a count of the
number of prime numbers found
-if that count is 3 exit the for loop
-hint: Use the break; statement to exit
This is one of the exercises that doesn't get checked by Udemy's system.
A student should be able to write basic code with whatever concepts he's learning, even if it is just filling a method with if/else statements.
The whole point of learning to code is writing lots of it. I think most of the Udemy instructors are dropping the ball by not giving what they promise students - "the last course/only course you will ever need" by not giving them plenty of opportunities for practice.
But that's just my take. If you know of any other courses that provide lots of coding practice outside of building projects, please post them in the comments, I'd love to check them out. Thanks for reading.