Skip to content

Comment on How to make CS courses better

Comments

The article completely lost me at,

> "These should be the heart of the course, and is what matters in “the real world”, anyway. No one’s going to give you a bonus for remembering the difference between inheritance and polymorphism: let’s face it, you’d take the 5 seconds to Google the definitions and move on."

Not that OOP is the be-all end all, but within that realm, if you have to google that, you never understood the concepts in the first place.

It sounds to me as if the problem is more with the writer's alma mater, and not "computer science curriculum" as a whole.

In fact, I feel a give-away is,

> "IF YOU MUST MAKE STUDENTS TAKE EXAMS, STOP ASKING LANGUAGE-SPECIFIC SYNTATICAL QUESTIONS"

I recall very little of this. There were probably a few courses with some of it, but probably where it was relevant, i.e. testing that you actually grasped pointers in a low level focused course that covered C, etc.

An aside, this is kind of what saddens me about the current, twitter/blog centric world. I'm sure the writer has some valid frustrations, but rather than directing those to a general "How to improve CS courses" article that misses the mark due to CS programs varying so much, why not have some discussion with the department heads? There has been too much of a shift to be publicly vocal with complaints globally, rather than to try and privately sort them out with actual stakeholders.

>It sounds to me as if the problem is more with the writer's alma mater, and not "computer science curriculum" as a whole.

From OPs description, I would agree. I attend a run of the mill state college, but thus far have been pretty pleased with the CS courses -- even though they center around Java. I can't remember a single assignment that was graded based on writing definitions of polymorphism and inheritance (although we did have in-depth class discussions about inheritance vs composition) nor were we ever quizzed on language specific syntax. Every assignment we had was basically "build [x] using the tools covered during the week." The homework for the inheritance week was building a simple console game. Results were based on the code that you cranked out.

I do wonder why they're based around java, though. I don't really understand where it fits in the world right now. I know a lot of companies use it, and it's still one of the highest paying languages out there, but.. is that just for legacy reasons? Just because it's already deployed in so many places?

Additionally, I know it grew on the web, but now, I mean, with the speed of modern computers, and high level languages like Python/ruby/etc., what would the advantage of choosing Java be. If you need something faster, why not just hop to C++?

I've gotten a little off track now... but it's just something I've been wondering. And for the record, I'm not deriding Java -- I rather enjoy writing it -- I'm just curious where it fits into the modern world.

> > "IF YOU MUST MAKE STUDENTS TAKE EXAMS, STOP ASKING LANGUAGE-SPECIFIC SYNTATICAL QUESTIONS"

> I recall very little of this.

I recall quite a lot: every exam I took where I had to produce a program, minor syntax errors like forgetting a semicolon at the end of a line would cost me some points. I think this is an artefact from the old days of batch processing, when syntax errors where actually costly.

AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.