"but my money is that most programmers learn Python as their nth language, where n > 2."
Off the top of my head, I know at least 3 Universities (near me in Canada: UBC, SFU, UofC) that have recently switched to Python as the first language taught/used in their CS programs.
There is a real demand for intro Python books. And IMHO Python is a pretty good first language.
I think the Head First series is actually quite good for teaching Python as a first language.
I recently purchased the Python one (it's just called Head First Programming from memory) for a friend who wanted to start with coding and she picked the basic concepts up pretty quickly.
SFU still requires their students to learn Java. Python is the introductory programming language of choice, and the introductory programming course is centered around it, but it isn't a requirement. (reference: http://www.cs.sfu.ca/undergrad/Advising/programs/majors.html ; I'm also close to the associate dean).
That being said, Python is a wonderful language to get started in programming.
Comments
"but my money is that most programmers learn Python as their nth language, where n > 2."
Off the top of my head, I know at least 3 Universities (near me in Canada: UBC, SFU, UofC) that have recently switched to Python as the first language taught/used in their CS programs.
There is a real demand for intro Python books. And IMHO Python is a pretty good first language.
MIT recently switched from Scheme to Python for their intro class
Algorithms is also taught in Python.
Caltech, too.
UToronto switched from Java to Python a couple years ago.
I wonder what my high school is using, they started us with BASIC, then Java and finally a little C... I was pretty well prepared for first year.
I think the Head First series is actually quite good for teaching Python as a first language.
I recently purchased the Python one (it's just called Head First Programming from memory) for a friend who wanted to start with coding and she picked the basic concepts up pretty quickly.
SFU still requires their students to learn Java. Python is the introductory programming language of choice, and the introductory programming course is centered around it, but it isn't a requirement. (reference: http://www.cs.sfu.ca/undergrad/Advising/programs/majors.html ; I'm also close to the associate dean).
That being said, Python is a wonderful language to get started in programming.
So apparently the smart money finds out what I'm betting on and bets the other way. :-)
Python really does seem to be a strong contender for the post-Java university language. IIRC they were looking into it at my alma mater.