UCLA introductory programming classes should focus more on Python, not C++
81–90 of 92 posts
Re: UCLA introductory programming classes should focus more on Python, not C++
#82Earlier 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.
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++
#83As 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++
#84Re: UCLA introductory programming classes should focus more on Python, not C++
#85Earlier 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.
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++
#86Earlier 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.
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++
#87Re: UCLA introductory programming classes should focus more on Python, not C++
#88When 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.
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++
#89Re: UCLA introductory programming classes should focus more on Python, not C++
#90I’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, ...