Live data from Hacker News

Python is now the most popular introductory language at top U.S. universities

cacm.acm.org

41–50 of 375 posts

Re: Python is now the most popular introductory language at top U.S. universities

#41
post #29

I think Python is the perfect first language for beginners. Yea we all know it's not fast or low level or the best language to teach about types or advanced CS topics etc. But it is extremely readable and easy to understand, it makes coding fun and once the students are engaged and know the basics it is much easier to teach more advanced concepts like typing and memory allocation.

Couple of thoughts: 1) I hope they are teaching Python 3.x instead of 2.7.x. 2) A good portion of the schools cited in the Appendix are not "computer" schools. UC Davis for example, is the last place I would attend for a CS degree (I know many students at UC Davis -- it's much better suited for other degrees). 3) My school (CSU Sacramento) does not even offer any Python courses, but there's a lot of Java and C course…

UC Davis student here. To be fair, ECS10 is not a class that CS majors usually take--it's primarily an elective, and taken by non-majors as a way of satisfying science and engineering general elective credit. The CS majors start with ECS30, which uses C; ECS10 isn't even a required class for the Computer Science programs.

As for whether or not they are computer schools, that criterion was determined through USN&WR, as mentioned in the article, which is where your criticism of not being a computer school should lie. Davis is listed at #34 though, so there may be a sharp decline after the first 10, first 15, etc...

Re: Python is now the most popular introductory language at top U.S. universities

#43
Python was heavily based on ABC, a language which targeted new programers and made syntax choices based on user testing:

  http://python-history.blogspot.ca/2009/02/early-language-design-and-development.html
It says a lot about our understanding of our field that new languages generally do not formally test their syntaxes (and other "mental model" features) for usability.

Re: Python is now the most popular introductory language at top U.S. universities

#44
post #29

I think Python is the perfect first language for beginners. Yea we all know it's not fast or low level or the best language to teach about types or advanced CS topics etc. But it is extremely readable and easy to understand, it makes coding fun and once the students are engaged and know the basics it is much easier to teach more advanced concepts like typing and memory allocation.

Couple of thoughts: 1) I hope they are teaching Python 3.x instead of 2.7.x. 2) A good portion of the schools cited in the Appendix are not "computer" schools. UC Davis for example, is the last place I would attend for a CS degree (I know many students at UC Davis -- it's much better suited for other degrees). 3) My school (CSU Sacramento) does not even offer any Python courses, but there's a lot of Java and C course…

Why do you think the flavor of Python taught matters?

I would say that compared to learning how to write and understand a small program, the difference between Python 2.x and Python 3.x is trivial.

(I'm talking about learning the language; for a large Python 2.x code base, the transition to 3.x is likely to have unclear payoff.)

Re: Python is now the most popular introductory language at top U.S. universities

#45
post #6
post #4

Earlier quoted context omitted.

rust? please. maybe 3 years from now, once it matures. python is good for teaching programming because it's easy to read - a feature that not a single language you mention can brag about.

It's easy to read and it just makes more sense when someone only knows English. I could show this to my 80 year old grandmother and have her understand what it does with minimal help on my part. word_list = ["hat", "dog", "cat"] for word in word_list: print(word) The same example in Java isn't extremely hard to understand, but it definitely is a decent jump in complexity from the almost plain English syntax of Python…

Who cares? If I'm a teacher I don't want to have to update material extensively every semester / year because the language is changing rapidly. Three are plenty of good, stable languages to use.

Re: Python is now the most popular introductory language at top U.S. universities

#46
post #21

One of the classes offered in my major (biochemistry) is "Python Programming for Biology" which is generally the first exposure that most of my peers get to programming, and I tell anyone who will listen how important that class is. Especially in the sciences, Python has a plethora of scientific libraries and great resources to do just about anything that a non-career coder would need. Except in computational chemist…

What are the ancient libraries used by computational chemists? I hope to get some insight to the field based on the answer to this question ;-)

I work with computational chemists at the moment, major offenders are LAPACK and ATLAS in FORTRAN-90

Re: Python is now the most popular introductory language at top U.S. universities

#47
post #6

Earlier quoted context omitted.

It's easy to read and it just makes more sense when someone only knows English. I could show this to my 80 year old grandmother and have her understand what it does with minimal help on my part. word_list = ["hat", "dog", "cat"] for word in word_list: print(word) The same example in Java isn't extremely hard to understand, but it definitely is a decent jump in complexity from the almost plain English syntax of Python…

mapM_ putStrLn ["hat", "dog", "cat"] I'd say the above is pretty simple if explained after: putStrLn "hello world" You don't really have to go into Monads for this to be understood/used. You can just leave it at "you use functions ending with an M if they do something like print out to the screen or get stuff from a web page".

My first reaction to this was that this was definitely less understandable, but I realized there were two pieces to this. One is banal - mapM_ and putStrLn are not near as simple as `for' and `print' (the latter have English meanings directly).

The second piece is interesting: Is something of the sort " " easier to explain to someone who's new to programming than " "? I've always thought the latter was easier to understand, but I'm curious which one someone who has no previous programming experience would grasp more immediately.

Re: Python is now the most popular introductory language at top U.S. universities

#48
post #39

Yes, Python is an excellent language for beginners, but so is Ruby in my opinion. Not trolling: why nobody is using Ruby in introductory courses?

Maybe many of the people who take these intro course are not CS professionals. With the numpy and scipy modules there are a number of uses for Python for science/other majors that don't involve building web pages.

This is my best guess as why Python VS Ruby.

Re: Python is now the most popular introductory language at top U.S. universities

#49
post #30

While I love python, I feel like Java has more application for beginners. While I am a backend guy, Java is better right now for split front end backend sorts as you can build a client Nd server for an Android app in Java. This lets you learn front and backend without having to know two languages. I say this knowing I hate a lot about Java, but thinking about how I would teach concepts and techniques while making a s…

I think the idea that the simplicity, lax compiler and readability of python will serve as a easier introduction to programming and keep more students from dropping out early. Java certainly has its place in enforcing verbosity, OO, coding standards, etc.

I think the mission here is to ease people into coding so if they don't want to progress any further up maybe they'll just manage a companies small PHP website or something and have the knowledge to do that.

Re: Python is now the most popular introductory language at top U.S. universities

#50
post #29

I think Python is the perfect first language for beginners. Yea we all know it's not fast or low level or the best language to teach about types or advanced CS topics etc. But it is extremely readable and easy to understand, it makes coding fun and once the students are engaged and know the basics it is much easier to teach more advanced concepts like typing and memory allocation.

Couple of thoughts: 1) I hope they are teaching Python 3.x instead of 2.7.x. 2) A good portion of the schools cited in the Appendix are not "computer" schools. UC Davis for example, is the last place I would attend for a CS degree (I know many students at UC Davis -- it's much better suited for other degrees). 3) My school (CSU Sacramento) does not even offer any Python courses, but there's a lot of Java and C course…

For reference, the ranking used by the author is from US News & World Report[1]. While it's far from objective, it certainly holds enough merit such that UC Davis being the last school you would attend for CS sounds ridiculous.

[1]: http://grad-schools.usnews.rankingsandreviews.com/best-gradu...

Post reply on HN