I can also recommend edX, they offer a couple of courses where you'll get introduced into programming basics (granted, at a pretty decent speed). I did there a Python as well as a C# course, and both would be fine for beginners, if they're eager to learn. If you look specifically for Python, I can recommend Introduction to Computer Science and Programming Using Python by the MIT. It started just two weeks ago, so you'd have to do a bit of catching up, but while teaching you the basics of Python (a very versatile and beginner friendly language), the course also teaches to 'think like a programmer'. A book I'd recommend, would be Think Python which is free and available for Python 2.x as well as 3.0. Another resource: once you started to get a feeling for the stuff, you can also check out pluralsight.com, a great resource for tutorial videos. While lacking a bit of content for Python, it offers a lot of general programming tips or for example C# stuff. Good luck! PS: The cs50x course amar mentioned is also one of the courses I did and I liked it as well! With the MIT and this one, you should be more than fine on a basic level.