You don't need to be an 'investor' to invest in Singletrack: 6 days left: 95% of target - Find out more
I have a son who needs to learn Python, any recommendations about books and/or an online course. Ideally the online course is free but accept that it may be better to pay for such a course. His old man (i.e. me) is also interested as it has been a long time since I least learnt a new programming language.
I had a look at Codeacademy.com a while ago. Realised I was too old to learn new tricks (or too fick)
But it was free on there iirc
Codecademy is good. I have done it. It gives you a good basic understanding of the syntax and more importantly an understanding of programming flow decision making. (Although I am not sure if it is updated for python3)
Humble bundle has a programming bundle of books currently for a pound which includes automate the boring stuff with python (which is free online to read) which shows basic python programming in context to some common uses.
Python is a really good language to learn IMHO. you can do a lot with it and it’s syntax is not very hard to pick up.
I'd start by doing the free bit of "learn python 3 the hard way". This puppy walks through the essentials to get up and running, and will build some basic confidence etc. Then, once reached the paywall, download "dive into python", its free. Complete it from cover to cover. Job done.
Alternatively, there are close to an infinite number of other resources on the net. Pick any, they may be good, or may not be.
I have a ton of PDFs all about python. Could email them to you or something?
Life of Brian is a good place to start.(sorry)
learn python 3 the hard way
... and don't be scared by the title, it's a lie. Online here: https://learnpythonthehardway.org/python3/preface.html
I'm working my way through the free Code Academy course at the moment. Really well structured course that you can take at your own speed.
"Learn python the hard way" is available on line and good. It's not actually hard it's just having a go at the idea that you don't need to put effort in.
+1 for Learn Python the Hard Way
From there I'd recommend coursera.org to start looking into whatever particular aspect interests him (numpy, Pandas, scikit learn, etc)
I use Python (amongst other languages) to earn my living. It's a quick and easy language to learn, but the implementation of object oriented programming in it is basically bonkers. He shouldn't have to worry about that for a while, though.
Can he already program? I always found the best way to learn a new language is to pick a project and write it in the new language. I find tutorials and books quite boring and difficult to read. Much better to get your hands dirty and then, when you get stuck, scouring the internet / books / tutorials to find the answer.
Forget all that, your first steps should be silly walks.
All the advice above including the codeacademy suggestion for a quick start.
I have a son who needs to learn Python
I'd agree with what nerd says about having a project as otherwise it can be a bit contrived. That said, if you teach yourself a language with a project you can: (1) teach yourself bad habbits; (2) become very good at a very specific aspect; (3) find it hugely frustrating to go back and learn some basics later (because all those tutorials are pitched at the a=4, b="X", a*b="XXXX" level). It can be especially frustrating when moving languages as you tend to try to do things the way you did in C++, or Javascript - often overcomplicating a problem that in Python is 1 line.
OP, why does your son ’have’ to learn python?
He has started a new job - data analysis and one of the tools that they use is python. He asked me since I have a Comp Sci degree (very old now) and work in IT. I asked IT because far too many of us work in IT
If it's for data analysis then the best resource I have found - by far - is https://www.datacamp.com. Has R as well as python, which is more specifically for data analysis. That can be a good thing (it's very, very good at data analysis!) and a bad thing (it's not like 'normal' programming languages in some ways, so is perhaps less transferable).
There's a bit for free, but not loads, and it's not cheap, but if it's for work then why not let work pay for it? Most companies will have training budgets for this kind of thing...
Thought I'd post this here. Might be a bit too basic for the OP though:
Raspberry Pi Foundation are running a FREE four-week Learn Python course with FutureLearn
Programming 101: An Introduction to Python for Educators
Explore the basics of Python. Guided by the Raspberry Pi Foundation, you’ll learn to code your first program.
Starts on 15th October.