Anything realy. Udemy has a terrible signal to noise ratio, and they do scummy stuff like what's going on here. Read a respected book, try Udacity or Coursera, or ask the community what course is good.
I don't know why kids these days are so down on programming ebooks. I have a ton of them in a Dropbox folder, and they're my main source of learning new programming languages. Sure, they date fast, can't be updated fast, and aren't interactive. They're old school now that we're in the era of MOOCs.
But you can still learn a lot if you know what to look for, know how to skim, and know which books are good.
I agree about ebooks, but I'd argue that they have a whole virtue of their own: Nothing beats the speed at what you can skim them, to quickly narrow down on the parts you're interested in, thus being exponentially more efficient than watching hours of video just to find out that it wasn't what you needed (yea, well, except physical books of course, which even ebooks can't beat.)
I'm 21. I've been teaching myself programming for about three years (outside of school). With a few notable exceptions, good old books have been the best learning materials.
I find that physical books work way better for me.. I have a mostly photographic memory and the feel of book, and position of the content adds additional context I just don't have reading an e-format for too much at once. It all tends to just blur together pretty quickly.
Quick blog posts, and tutorials aren't too bad.. short specifications are fine too.. but longer content just doesn't work in an electronic interface for me.
But you can still learn a lot if you know what to look for, know how to skim, and know which books are good.
Alternatively: maybe I'm just old.