Hacker News new | ask | show | jobs
by pvg 3034 days ago
eg., after 5-7 years of french in the UK, no 18 year old can speak french. And so on for every subject. The same is true all the way up until PhD.

Those seem like a series of stridently unrelated and evidence-free statements.

1 comments

Completely unsupported, in fact.

Of course no foreign part-timer can speak French like a native, but able students can certainly hold a basic conversation and read French to a reasonable level.

Language degrees include an exchange program which offers extended full immersion, so it's simply nonsense to say that a graduate in French won't be able to speak it.

But... the problem with CS is that it has no idea what it is. Most engineering degrees have well-formed requirements, which include a lot of math and domain-specific detail.

The sciences and math have a core curriculum which hasn't really changed all that much for fifty years or so now.

CS has... what? What's the basic skill set, what are the core requirements, and how are they recognised?

No one agrees. Employers mostly want "Minimum Viable Developers" who can crank out code using the Framework du Jour.

Academics do what academics do.

You can certainly make the case for any one specific curriculum, which will include a mix of theory and programming projects in various languages and environments.

But there's really no such thing as a definitive core CS skill set. For everyone who says "You should know C" someone else is going to say "Bad example - learn this teaching language instead."

And so it goes for the rest. Machine code? Compiler theory? DSP? It's all optional.

At the same time, CS has spent far too little time on the psychology of programming and system design. There's a fair amount of unicorn chasing, in the form of tidy concepts like type theory and side-effect free coding, but far too little research into designing languages and practices that are verifiably better at managing concurrency, handling versioning, and minimising avoidable bugs.

So the "learn theory vs learn by practice" question is a side issue, and can't be answered unless there are specific goals. For now, there's no such thing as a "qualified developer" in the sense that there are qualified (actually chartered) engineers.

Until there is, how can anyone decide which teaching approach is better when there's limited agreement about what needs to be taught?