Live data from Hacker News

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

cacm.acm.org

281–290 of 375 posts

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

#281
post #242

I work at Monash University in Melbourne, Australia. Last year we moved our foundational course in data structures and algorithms from Java to Python, with great success. This is a course that used to be taught in C, then moved to Java. I tutored it as a Java course, and was in charge of adapting the tutorial (classroom exercises) and laboratory (programming assignments) materials when we started using Python to teac…

At the University of Queensland, Python is used for mech engineering courses. One of the other considerations that I think helped give Python the edge was its simplicity, in that it can be 'programming for non-programmers' and helps a lot of newcomers meet the simple scripting requirements they have without needing to understand more complex programming concepts. Secondly, it makes for an easy transition from Python…

I don't know, though recently we've been merged with Engineering, so I'm sure there will be more collaboration.

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

#282
post #122

Earlier quoted context omitted.

For 90+% of the problems out there, a business programmer doesn't need to know anything about memory#. Short of a few rules, I don't see why they can't ever go without learning about memory space, allocation, reference types, etc. They will make mistakes, sure. But they will get the work done, and that's pretty much what most businesses need. Eventually, as problems creep in, the messes created by lack of knowledge g…

I can see this rationale as an argument if it was an associate's or 1 yr degree, but for four years of study I expect real depth about what's happening all the way down memory etc

Then I'd say: What you expect is required and what is actually required to complete the task to a client's expectations could possibly be two very vastly different things.

Besides, most of what is being asked of four-year-degreed individuals is not really worthy of it. Which is why I keep mentioning stuff to the effect of "to a client's expectation" to most of my comments on this.

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

#283
post #278

I know, I know, what I'm about to say is just an artifact of the Language Wars and will cost me karma. I can't help myself. We should not be teaching impressionable students that whitespace has semantic significance. This is a fundamental design flaw of Python, and it's just a Bad Idea. Sorry, Guido.

I guess you agree that "impressionable students" should be taught that collaboration is essential, hence clear formatting is necessary and precise indentation (aka whitespace) is critical. However, when a language comes around that actively enforces and promotes these rules... you say it's a "Bad Idea". Could you elaborate on why you think it's so bad?

> I guess you agree that "impressionable students" should be taught that collaboration is essential, hence clear formatting is necessary and precise indentation (aka whitespace) is critical.

Not particularly, no. Or at least I think that should be the IDE's problem.

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

#284
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?

I've taught both, and IMHO, the Ruby is less suited for the job of an introductory language because a block (i.e. an anonymous function) is a hard concept for a beginner to grasp and a core part of idiomatic Ruby. Python's syntax simply has "less magic" and is more regular. Ruby's syntax seems to be suited for either folks who don't really want to know what's going on (just give me a DSL and leave me alone) or studen…

The "Programming Language" course at coursera [1], which is directly adapted from a course at U. Washington by Dan Grossman [2] features SML, Racket and Ruby as three languages exhibiting different properties (FP, OO and static typing).

(I have to say that it was extremely good !)

[1] https://www.coursera.org/course/proglang

[2] http://courses.cs.washington.edu/courses/cse341/13sp/

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

#285
OT: Since I don't have permissions for an Ask-type post I'll do this here. The lines in this thread break extremely 'late' (http://imgur.com/IzmwWBo), causing me a lot of painful sideways scrolling - my screen only has a 1024x600 resolution, but all other threads I have open look normal (http://imgur.com/Q45ZDQ6). What causes this and how can I get rid of it (FF30 with NoScript and Disconnect)?

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

#286

I work at Monash University in Melbourne, Australia. Last year we moved our foundational course in data structures and algorithms from Java to Python, with great success. This is a course that used to be taught in C, then moved to Java. I tutored it as a Java course, and was in charge of adapting the tutorial (classroom exercises) and laboratory (programming assignments) materials when we started using Python to teac…

I do not know any Python (yet) - and my comment is probably off-topic. I spent a fall semester at Northeastern U, Boston in '97 and took a graduate course in Data Structures which was taught in C. I loved this course and finished top of the class (It helped that I was already familiar with C from an undergrad engg course). I fell in love with C. Implementing dequeues, linked lists, trees etc. with C was a pleasure -…

Our unit is a first year unit, and runs for twelve weeks.

This means that we have ten weeks to take people who may have never programmed by typing text into an editor and teach them enough CS and programming that they can implement their own hashmap in Python and reason about its big O performance in one week, start programming in MIPS assembly the next week, and implement function calls in assembly and reason about stack frames the following week.

Anything we can do to make their learning curve less steep is good. You say that your Data Structures course was graduate level, and that you were already familiar with C from a lower course. These are two big differences between you and our first year intake.

Now, like Spolsky, I too have a bit of the Yorkshireman in me, and I wish our students would be forced to work with simple text editors and the command line, instead of having the IDE to do some of their lifting for them. I wish they were taught more maths too. And spelling, now that we are at it. And C, why not.

But when you say that in your course you "just had to focus on our algorithm and nothing else", it echoes exactly our intention when we picked Python for this unit. We wanted the language that would allow our students to focus on the fundamentals, and spend the least time and effort on the incidentals. We were already running the unit in Java, which was an inherited decision. I think Python was the best of our available choices.

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

#287
Bit of a reversal from that "Python is dieing" post a few weeks ago. But like i said then - just one person posting some anecdote about people switching away from python does not a trend make. While Python becoming a teaching language of choice among many universities does make a trend (to add to similar upwards trends in job postings, high TIOBE rankings, etc etc).

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

#288

I work at Monash University in Melbourne, Australia. Last year we moved our foundational course in data structures and algorithms from Java to Python, with great success. This is a course that used to be taught in C, then moved to Java. I tutored it as a Java course, and was in charge of adapting the tutorial (classroom exercises) and laboratory (programming assignments) materials when we started using Python to teac…

I'm so happy to hear that! I graduated from Monash Clayton a few years ago when the Java train was in full effect and the focus on Java was a big source of frustration for me. I distinctly remember an algorithms & data structures assignment about Markov chains which had to be done in Java. I spent a good 40 minutes writing what was effectively boilerplate to load the provided files into a meaningful representation an…

Regarding "small projects," how useful are they in motivating learners to continue the learning the language? Having robust tooling introduces overhead initially (and to be honest, seemingly eternally), but also makes the impractical possible.

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

#289
post #278

Earlier quoted context omitted.

I guess you agree that "impressionable students" should be taught that collaboration is essential, hence clear formatting is necessary and precise indentation (aka whitespace) is critical. However, when a language comes around that actively enforces and promotes these rules... you say it's a "Bad Idea". Could you elaborate on why you think it's so bad?

> I guess you agree that "impressionable students" should be taught that collaboration is essential, hence clear formatting is necessary and precise indentation (aka whitespace) is critical. Not particularly, no. Or at least I think that should be the IDE's problem.

*> Not particularly, no. Or at least I think that should be the IDE's problem.

You still have to tell the IDE what to do with your code, which you do with brackets, I guess?

So now your code is full of brackets and parentheses, which are naturally less readable (how many levels of parentheses do you use in natural language?), and their role is almost entirely to... help the IDE indent your code.

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

#290
post #96

Hey there! I've just started learning to code for building web apps (I know about Fortran 90, it doesn't fit very well on the browser haha), and it took me a while to decide. I looked up in an endless number of hacker websites, but at the end I'm sorry for betraying Python lovers... I'm learning ruby on rails..! I've just started learning, please tell me If it's best to learn python (I'm not looking for an easy langu…

My take on Ruby vs Python is this: While Python has a healthy web dev ecosystem, Ruby's feels much larger to me. That's almost certainly because Rails is so wildly popular. And Rails is an excellent, mature framework. So for web dev, I would consider Ruby the winner. Python is the clear winner for scientific computing. That's not really due to anything inherent in the language. It's an ecosystem thing. If you were us…

> While Python has a healthy web dev ecosystem, Ruby's feels much larger to me.

It's funny because I actually feel the opposite: Ruby is mostly a niche language for the web community, whereas Python is now mainstream in so many different areas (graphics, scientific, sysadmin, financial...).

I've yet to see a non-webdev tool embedding Ruby as a scripting language, while Python is now featured in office suites, spreadsheets and enterprise software. Anywhere simple and clear syntax is more valued than metaprogramming features, Python is likely to appear at some point.

Post reply on HN