Live data from Hacker News

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

cacm.acm.org

11–20 of 375 posts

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

#11
At my university, Python was primarily introduced when teaching certain concepts: scripting & untyped programming, web application development, and deeper diving into list comprehension functions. It was not the first language taught in CS, but many were exposed to it. That said, it was the first language taught in non-CS/non-major courses, and I imagine several other non-CS/Engineering majors were introduced to the language later in their academic career.

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

#12
post #3
post #2

a language without types, without extensive research? Then, why not C/D/Pascal. i strongly believe for universities sml/ocaml/haskell or even rust are far better choices. I prefer sml.

Python's syntax is a breeze to get ahold of without any experience making it ideal for introducing people to CS and algorithmic thinking without overwhelming them with theory or syntax. Also, a lot of colleges (at least the best ones) offer functional programming in a second semester intro course (Berkeley does Scheme I believe). My own institution uses SML.

Berkeley's first intro CS course uses Python for 2/3 of the course, then uses Scheme. The final project is writing a limited Scheme interpreter in Python. To further clarify, Java is used in Berkeley's 2nd CS class (followed by C & MIPS in the 3rd intro class).

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

#13
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…

     String[] word_list = {"hat", "dog", "cat"};
     for(String a: word_list)
     {
        System.out.println(a);
     }
extra brackets but pretty identical

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

#14
post #2

a language without types, without extensive research? Then, why not C/D/Pascal. i strongly believe for universities sml/ocaml/haskell or even rust are far better choices. I prefer sml.

Python is definitely more friendly than those you've mentioned. I think as introductory courses, the number one goal to achieve is to get students interested, rather than throw every possible details at them and intimidate them away.

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

#15
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.

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

#16
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…

NameError: name 'string' is not defined. :)

print(word) means it's even easier for grandma to understand!

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

#18
post #2

a language without types, without extensive research? Then, why not C/D/Pascal. i strongly believe for universities sml/ocaml/haskell or even rust are far better choices. I prefer sml.

> i strongly believe for universities sml/ocaml/haskell or even rust are far better choices.

Rust is a horrible choice now, because it hasn't stabilized. When it has stabilized, it may be a suitable choice (at one point, it looked like it would be too large of a language to a be a great intro language, but since then its been getting smaller, so I'm less convinced that it will remain unsuitable for that role.)

Python's a pretty good intro language; as is Scheme, and Haskell might be, though I haven't seen any good intro-to-programming material built around it, and while I think a good intro should prefer a largely-functional style (as the best Python and Scheme-based courses I've seen have), I'm not convinced that a pure FP language is ideal for an intro to the field (though it certainly a good thing to learn in the course of an education in the field.)

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

#19
post #9
post #2

a language without types, without extensive research? Then, why not C/D/Pascal. i strongly believe for universities sml/ocaml/haskell or even rust are far better choices. I prefer sml.

SML is great, but based on the UW paradigms course, I'd say it gets a lot of backlash from students wanting something common in industry. Transitioning first classes from C to go would make great sense, but it looks like a lot of schools already replaced C with Java and C++ as first languages. Personally, I do think there is merit in teaching a primarily imperative language first, if only to appreciate other paradigm…

What I took from the Coursera version of the UW course was that SML gets out of the way and let Grossman cover the material at a higher level of abstraction than language syntax. On the other hand, his Programming Languages class is not intended to be introductory.

I won't say anything about Python.

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

#20
post #2

a language without types, without extensive research? Then, why not C/D/Pascal. i strongly believe for universities sml/ocaml/haskell or even rust are far better choices. I prefer sml.

Is your name Bob Harper? :) Functional still isn't that popular, in spite of a few vocal supporters. Even MIT went from scheme to Python for their sicp training.

Many of the better European universities teach FP languages in their introductory courses. Off the top of my head, Oxford and Edinburgh use Haskell and Cambridge teaches Ocaml.
Post reply on HN