Also, when I was first learning I found the problems on CodingBat to be very helpful. I just looked at the problem, then went through python documentation to find what I needed to do, and kept trying until I had something that worked. Then I looked at the given solution, erased my code, and came back to it a few days later. Once you have the super basics of python down, you might want to look at it.
Check out http://www.codingbat.com, specifically the AP section. They have really helpful quick problems that you can do for as little as 5 minutes to a couple hours. If you need some more help, shoot me a PM (I'm also in the class).
Look at Udemy.com they have nice Java courses (some of them free, but the really good ones are paid). I recommend the ones by John Purcell
Currently, even his premium courses are reduced. Bonus code is: BEST10 - Courses are reduced to $10 each then (and they would be even worth the full price). Offer ends 11:59 pm PST, April 23, 2014.
For coding practice, have a look at Codingbat - they have small exercises that one can perform online. It's nice once one has some understanding of Java.
Try codingbat if you have not already. They have both java and python problems.
Next I reccommend trying the 8-queens problem for java and then afterwards try to develop simple games like pong, brick breaker, etc. If you need help or guidance with any of those PM me but those are all very good options. I also like to play with Graphics2D a lot.
Just out of curiosity, what didn't you like about Google's python class? I did a few of the exercises from the first day, and I was challenged by some of the ones I did, in a good way.
The lecturer for those classes is also the person behind coding bat. He has both Java and Python exercises on the site, and you get instant feedback on your code. My ability to solve promblems has increased significantly since I started with the Java exercises.
The best advice I can give you is to decide what you want to code (games, web apps, mobile apps etc.) and then pick a langauge you enjoy coding in. I flip flopped between PHP, Javascript, Ruby, Python, and a few others. I finally settled on Java, and I'm enjoying it a lot.
I was trying to learn all these different languages because I thought an accumulation of languages would improve my programming skills. Now the way I see it is that if I learn one or two languages thoroughly, then the rest is just a matter of syntax and a few new concepts.
tl;dr - Pick a language, any language you enjoy coding in. Learn it thoroughly and then learn how to solve problems in it. After that you can branch out having that solid foundation.
I think it would be helpful if you formulated one or more concrete questions. What exactly are you confused about?
Everyone starts off learning the fundamentals like the things you've listed. After that, you have to learn how to put those things together to solve problems.
Have you tried solving problems on sites like code wars and coding bat? That will help you to solidify your understand of the fundamentals and teach you to decompose problems and create solutions in code.
Code wars lets you see other people's solutions once you submit your own, which can be very helpful for learning.
Project Euler is awesome especially when you're tackling it with a team of people to keep you on track. I'd love to join a group that tackles these problems weekly. PM me, maybe we can set up a website or a subreddit to collaborate on this.
Another really great way to warm up python skills is codingbat.com. Try doing a few problems every day. It'll really help you with the fundamentals.
I suggest doing some Javabat problems for practice. The site mainly focuses on using your problem solving skills to write methods (you don't have to worry about constructors or making instances). I used this site to teach myself recursion, and it can get addicting
codingbat is a good one. Several interesting exercises which after completing each you're presented a bar graph on the percentage of entries from other users that got the exercise correct on first submission and the number of times the solution was submitted until it was correct.
It supports Java and Python.
I'm going to give you the benefit of the doubt and assume that English isn't your first language. The way you have typed this sounds like a bot!
Anyway, while I still watch videos occasionally, I have been doing the java course over at http://mooc.fi for the past few weeks. It is all text based, with tons and tons of homework problems to do.
I'm also doing the course at http://www.freecodecamp.com as a second priority. I usually do it at work during downtime. It's all a secondary priority, the MOOC course is my main class.
As far as "how to persevere" really, you have to just decide to do it. There's not magic method. Sometimes it is going to be pretty boring, but you have to enjoy the progress you are making. After a couple of weeks of courses, I found I was able to start going through the warmup challenges on http://www.codingbat.com and I found that motivating. I still had to google quite a bit of syntax since they asked for things my class hadn't covered yet, but when I did, I found I could understand what was going on. That has been a nice break/reinforcement of the skills I'm learning.
I realize this is a month late but if you wish to get experience during the summer I would reccomend codingbat they have java and python exercises there and a lot of starter vids and links. Also some classes actually use codingbat exercises as homework so
I feel exactly the same as you on this. I learned my basics of html and css from here: link
I think the only way for people like us in this situation is to find something to do hands-on problem solving sets. Back when I used to first learn python/java, i used to practice on codingbat . I have yet to find the html equivalent of this.
Hey how's it going. It's really going to take you a year of solid dedication to really learn how to program. If you are prepared for that, than some of the links already in this post are great, like those from /u/vmarie086.
I'd also suggest:
/r/programming
/r/learnprogramming
/r/dailyprogrammer
Also, you mentioned that you took a class in C++. Do you still want to learn C++ or do you think you'd be interested in learning a different language first? I learned Java first and love it, but I've often read that python is even better as a first language. Maybe you would be interested in C#?
Also, check out codingbat once you have some foundational knowledge of Java. It's a pretty bland site but that's what I initially started using when I started programming and has some interesting exercises that test code you provide to see if it meets test criteria. Lots of trial (and even more error) but is a great learning tool.
Check out the many beginner books or online resources on the side bar over to the right. Then head out over to codingbat and see if you can do those puzzles. If you struggle with them, then you know right away you didn't really understand the concepts. If after reviewing the books and doing practice problems and you are still having problems solving codingbat puzzles then seriously, programming isn't for you.
Personally, I'm a fan of invent with python. What helped me the most though, was once I got the super basics down (data types, loops, functions, etc.) I used CodingBat to practice. Also, Khan Academy has some videos on python, haven't used them though, so I'm not sure how good they are. His lectures are generally very interesting though.
http://www.codingbat.com formerly known as javabat is a really nice site that has tons of little coding challenges in java and python.
Once you create an account all exercises you do are recorded and your solutions are saved for you to review.
Once you learn Java work your way through the problems at http://www.codingbat.com
A redditor mentioned this site last week and as a beginner to Java myself I'm finding it great fun solving the problems.