Live data from Hacker News

UCLA introductory programming classes should focus more on Python, not C++

dailybruin.com

21–30 of 92 posts

Re: UCLA introductory programming classes should focus more on Python, not C++

#21

I’m quite surprised they are still using c++. I thought most schools switched to java by or in the first half of the oughts.

And apparently employers know a Java-based CS degree isn’t worth as much: https://www.joelonsoftware.com/2005/12/29/the-perils-of-java...

Re: UCLA introductory programming classes should focus more on Python, not C++

#22

I’m quite surprised they are still using c++. I thought most schools switched to java by or in the first half of the oughts.

What does it even mean for a school to 'switch' languages? When I did my bachelors it was straight up a new language in each class, at the discretion of the prof in charge. Intro class homework was in Java, data structures was in C++, operating systems was in C, digital logic design was in Verilog, bioinformatics was in Python, ...

I'm not sure if it was an official policy or not, but at my school, all of the core classes were in Java. Other classes used other languages where appropriate, and "core classes" is not synonymous with "degree requirements"; you had to take classes that used not-Java. But Java was considered the default.

Professors don't like having to waste time in their classes teaching a language, so there's a strong pull to unify as much as possible, so you can be 100% sure that your students have some form of knowledge before they get into your class.

So, the "switch" would be changing that big block of core, required classes.

Re: UCLA introductory programming classes should focus more on Python, not C++

#23

I would like to point out before this discussion moves too far along that UCLA does in fact have an introductory programming course which is taught using Python: http://web.cs.ucla.edu/classes/enroll/97/ Students that are unfamiliar with programming are encouraged to take this course before the C++ course.

Another introductory course, CS 35L (required for CS majors) do somewhat touch on python: http://web.cs.ucla.edu/classes/winter18/cs35L/syllabus.html

Re: UCLA introductory programming classes should focus more on Python, not C++

#24

I’m quite surprised they are still using c++. I thought most schools switched to java by or in the first half of the oughts.

What does it even mean for a school to 'switch' languages? When I did my bachelors it was straight up a new language in each class, at the discretion of the prof in charge. Intro class homework was in Java, data structures was in C++, operating systems was in C, digital logic design was in Verilog, bioinformatics was in Python, ...

In large schools, lower-level intro classes can be huge (many classes with many students in each class), so there's usually an extremely standardized (and mechanized) curriculum that ensures everyone learns basically the same thing and labs and recitation sections are interchangeble.

So when they switch languages, they mean moving all this curriculum to another language at once. The higher level courses don't change.

Re: UCLA introductory programming classes should focus more on Python, not C++

#25
post #17

on lower-level implementation details related to how machines interpret code – knowledge that non-computer science students are unlikely to use after they graduate. Yeah, the world really needs a load more developers with no idea how computers work. We don't see any of those in interviews already.

What's with the false dichotomy? I personally agree with you that knowing lower level things is incredibly helpful to every single good developer, even those who don't touch anything lower than Javascript on daily basis. However, I totally disagree that those computing concepts should be taught in an intro class, when the student not only has to struggle with learning basic computing concepts, but also with memory management and low level quirks that even competent established developers struggle with sometimes.

Tl;dr: agreed that low level computing fundamentals are helpful to every developer, disagreed that intro classes are the right place for them.

Re: UCLA introductory programming classes should focus more on Python, not C++

#26
Computer courses are no different than any other course. What's the first semester requirement for math? You can graduate high school without taking advanced mathematics, it doesn't mean you're prepared for college-level math in the CS field.

Similarly, most high schools offer introductory programming courses. I would expect almost every CS major to have taken these classes prior to being admitted to the major.

If you didn't take those courses in high school, there are avenues to acquire that knowledge before taking the CS required courses.

Re: UCLA introductory programming classes should focus more on Python, not C++

#27
post #17

on lower-level implementation details related to how machines interpret code – knowledge that non-computer science students are unlikely to use after they graduate. Yeah, the world really needs a load more developers with no idea how computers work. We don't see any of those in interviews already.

Did you read your own quote? These aren't developers, they're "non-computer science students" who don't need to know underlying memory details, but they're being required to because this class is a prerequisite for a bunch of computing-related classes in other majors.

Re: UCLA introductory programming classes should focus more on Python, not C++

#28
post #17

on lower-level implementation details related to how machines interpret code – knowledge that non-computer science students are unlikely to use after they graduate. Yeah, the world really needs a load more developers with no idea how computers work. We don't see any of those in interviews already.

It's an _introductory_ course for a reason. Not all of these students are going to be developers. Those that do, will take advanced classes, rather than trying to interview on the basis of an introductory course.

Re: UCLA introductory programming classes should focus more on Python, not C++

#29
post #17

on lower-level implementation details related to how machines interpret code – knowledge that non-computer science students are unlikely to use after they graduate. Yeah, the world really needs a load more developers with no idea how computers work. We don't see any of those in interviews already.

To be fair, there's always a dividing line. Usually, "knowing how a computer works" for a programmer is equivalent to knowing the programmer's model for a cpu. A programmer's model is most definitely not how a computer really works (cf. recent cpu security flaws with speculative execution), but it's usually good enough.

Knowing more and deeper information is usually a good thing, but students don't need to learn it all at an introductory level which I think this article is focusing on.

Re: UCLA introductory programming classes should focus more on Python, not C++

#30
post #14

There is a lot that is factually wrong with this article. Python is not easier because it is an interpreted language. C++ is interpreted too. In fact, python does compile, hence the pyc files. I could go on like this for a while but the point is, the author doesn't know what he or she is talking about. That doesn't mean python shouldn't be used, but that this article fails to make the argument.

C++ is interpreted?
Post reply on HN