Live data from Hacker News

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

dailybruin.com

81–90 of 92 posts

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

#81
I think I agree with this article (even if some of its argument is bogus). The other thing that all programming classes should teach, regardless of whether they're for CS majors or not is how to debug using a modern (i.e. not command-line-based) debugger. It's insane that programming is being taught anywhere without teaching debugging at all, or teaching only very hard-to-use debuggers.

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

#82

Earlier quoted context omitted.

I'd be really curious to see a study of the performance of CS majors in later classes by paradigm of the language taught in CS1 (i.e. imperative/OOP vs functional). I've been trying to keep my eye out for a while, but haven't really found anything that answers this specifically.

Maybe course withdrawal rates could be used, but getting access to the necessary statistics seems like it'd be a chore. I just checked with my university and the only statistics I can find are centered around graduation rates. One would likely have to contact all the registrars among a sample of universities individually, as I haven't found a university offering these statistics yet.

CS Educators do this research all the time, but it's pretty challenging to design a CS1 class that's effective but also so radically different from the typical paradigm.

There's also a risk you'll set students back if it's not effective so there are definitely ethical concerns and it requires interrupting a professor's load for the quarter. That said, CS educators conduct research like this all the time and there's probably a lot of value in studying this kind of change.

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

#83
What UCLA is doing, as well as most universities is the difference between a university and a trade school. these courses do, and should focus on the fundamentals. University is teaching the theory, and having a fundamental understanding. Otherwise there are ample trade schools and code camps, that will skip the fundamentals, and teach you the basics of programming tailored to the current job markets needs.

As for the argument that C++ isn't good learning language, I beg to differ, it gets you very close to the meat of how programming works, without the layers of abstraction that higher languages offer. C++ requires that you understand memory, its allocation, and allows you easily to see how it interacts.

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

#85
post #49

Earlier quoted context omitted.

>you both want to span as much of CS as possible in a single language Why? Teaching different languages for different kind of requirements make much more sense.

That would end up being too much to cover during the course. Time spent getting a class to learn new syntax is unnecessary and takes a long time.

Learning syntax is not really that difficult.

On the other hand, a new language (ideally) teaches you a new way to think about problems. If you have a concrete problem to focus on, that part becomes much easier and intuitive.

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

#86
post #85

Earlier quoted context omitted.

That would end up being too much to cover during the course. Time spent getting a class to learn new syntax is unnecessary and takes a long time.

Learning syntax is not really that difficult. On the other hand, a new language (ideally) teaches you a new way to think about problems. If you have a concrete problem to focus on, that part becomes much easier and intuitive.

No, it's not.

Keeping an entire class on the same page is.

Introducing a new side-topic would be detrimental to traditional lecture-based courses.

...not that they are a particularly good method in the first place.

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

#88

When I was in high school C++ was taught as an intermediate language to sophomores. Most everyone in the class had no issues learning the language. We were all making our own versions of frogger in the terminal. There was plenty of focus on problem solving and developing interesting programs. The language didn't get in the way at all. One thing we had that seems lost today is the nice, simple programming environment…

C++ was a much simpler language back in the Turbo C++ days (early 1990s). If I recall, there were no namespaces, exceptions, or templates (and no STL). It was much easier to get started with back then.

I graduated recently and we were taught C first and then C++ of OO concepts. I don't think anybody had issues learning OO concepts this way though most of what we learnt went out of the window when we started learning Data Structures and Algorithms in Java. It seemed a lot easier and a lot more could get done in the same amount of time spent on C/C++.

But I still had a fascination with C. I tried to do a few networking projects using C which turned out to be more tiring than expected thus abandoning the whole project. I think if we would have stuck with C/C++ all the way through the Algorithm's class it would have been much more helpful. Java/Python is way too easy to pickup later on your own and reproduce the same results that one would in C/C++.

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

#89
UCLA is teaching computer science, not programming. To fully understand and appreciate the intricacies of modern computers you cant just ignore the fundamentals because they are too rudimentary. Just ask Tim Duncan about the importance of fundamentals.

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

#90

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, ...

The major shift came when CollegeBoard switched the AP Computer Science exam from C++ to JAVA about 15 years ago.
Post reply on HN