I would get a book from Murach.com. I've used them a bunch to learn different languages (java, c#, Html/css). They are basically a classroom book. You have assignments at the end of each chapter and get to but what you're reading into use. Also you learn some great programming principles along the way: https://www.murach.com/shop-books/all