These courses are for beginners, but I started with what I learned from a few courses in Coursera and turned it into a career as a software engineer. https://www.coursera.org/learn/learn-to-program and https://www.coursera.org/learn/program-code from Jennifer Campbell and Paul Gries from the University of Toronto laid a great foundation to build on. I think I took them the first time they offered it and I still don't understand how they completely nailed a new medium like that first try. It was very accessible, but with enough detail to make sense and the videos were so clear and concise.
The Python one from Rice University, is a fun, awesome course, where you build games to learn. https://www.coursera.org/learn/interactive-python-1