addressalign-toparrow-leftarrow-rightbackbellblockcalendarcameraccwcheckchevron-downchevron-leftchevron-rightchevron-small-downchevron-small-leftchevron-small-rightchevron-small-upchevron-upcircle-with-checkcircle-with-crosscircle-with-pluscrossdots-three-verticaleditemptyheartexporteye-with-lineeyefacebookfolderfullheartglobegmailgooglegroupshelp-with-circleimageimagesinstagramFill 1linklocation-pinm-swarmSearchmailmessagesminusmoremuplabelShape 3 + Rectangle 1ShapeoutlookpersonJoin Group on CardStartprice-ribbonShapeShapeShapeShapeImported LayersImported LayersImported Layersshieldstartickettrashtriangle-downtriangle-uptwitteruserwarningyahoo

San Diego Clojure Users Group Message Board › CMU eliminated OOP from their intro curriculum

CMU eliminated OOP from their intro curriculum

Mooneer S.
tmiw
San Diego, CA
Post #: 1
Here's an interesting blog post about how CMU's intro curriculum now uses functional programming instead of OOP in its intro classes. Interesting. :)

-Mooneer
Ron T.
mindbat
San Diego, CA
Post #: 11
Wow.

For me the money quote was:

"Object-oriented programming is eliminated entirely from the introductory curriculum, because it is...unsuitable for a modern CS curriculum."

Sounds like they're turning to functional programming for the same reasons many of us have: the need for reliable programs that can take advantage of parallel computation.
A former member
Post #: 16
At first, I misread the title and thought CMU had eliminated OOP from their entire curriculum. But if it's just for their intro curriculum, that actually makes sense to me. I think the more you can abstract programming concepts from the underlying hardware, the better it is for beginning programmers.

In recent history, intro curriculums passed from C++ -> Java, removing many complex details that the neophyte programmer shouldn't have to worry about (memory management, declaration vs. implementation, pointer manipulation).

But still, even when I had a friend learning Java, I remember she spent a whole night stuck on a simple assignment, bemoaning, "What the hell is a bool? I already have ints, what's the point of a bool?" (Functional languages still have bools, but at least it's more of a input/output concept rather than something a programmer has to declare, pass around, and manage... I hope it's an easier concept to grasp in a functional format, anyway...)

By the way, I only have a basic understanding of functional programming, and it has been my impression that functional programming focuses more on the way a problem is solved rather than organizing underlying data to solve it. If I'm wrong about this, I'd be happy for some experienced insight.
Powered by mvnForum

Sign up

Meetup members, Log in

By clicking "Sign up" or "Sign up using Facebook", you confirm that you accept our Terms of Service & Privacy Policy