Hacker News new | ask | show | jobs
by RodgerTheGreat 5344 days ago
HTML, SQL and VB.net... as courses in a Computer Science program? I don't understand. You might as well have a course on PowerPoint.

Where I'm from, Computer Science is an applied mathematics discipline. Our introductory courses are topics like Data Structures, Discrete Mathematics and Formal Models of Computation.

4 comments

I've seen writing and communication courses scheduled into engineering degrees too.

There's demand for something that's not your definition of computer science but which teaches a combination of theory and tooling. It would teach you some of the things you're talking about, but also cover practical stuff like SQL and TCP/IP. I think it's reasonable.

A pure networks course that teaches the standard theory without touching TCP/IP would be doing you a disservice for all but a few very academic futures. Same with data and SQL.

The purity you talk about can be taken a lot further. You could concoct arguments for avoiding C and unix throughout the course because you don't want to streamline people into certain ways of thinking.*

People learn lots from considering the practicalities that come from hacking around on existing tools. I took a technical-college unit in VB once and remember learning about the value of standard libraries and interactive debugging from this experience.

* Hmm. This could amazing. Imagine a course where you started by learning how to build hardware, and then learnt how to script it with machine code, and gradually learnt how to recreate lisp in assembly. Plagiarise all you like but if you can't defend your ideas at interview you won't pass. Better still if the course could be assessed by your progress through the stack and assessment by interview rather than on fixed exam periods.

Indeed. The school I attended had two disjoint (as in, nobody ever took both), non-required introductory "programming language" courses whose goal was to give the students a language in which to complete the assignments for the real CS.

Other courses would cause you to learn languages (for example, one would cause you to learn Scheme, one would cause you to learn Prolog) to demonstrate particular quirks of language design, but that's a means to an end. Most of them were things like "Algorithms", "Foundations of Computer Science", and "Introductory A.I."

I didn't study CS in university, but my friends who have often mention subjects named after languages and frameworks (remarkably, I remember hearing about a year-long course on COBOL "because most national banks have a backend writen in COBOL").

(To clarify: I'm talking about schools in São Paulo, Brazil. No names mentioned because I've no first-hand experience — maybe they do have better courses and my friends are the ones picking the language-and-framework–related subjects.)

Agreed, sounds like an Information Systems curriculum - a trade vs. a field.
She's currently going for an Associates degree at a technical college and then she's going to go for her Bachelors at another school. She'll get into Data Structures and the rest in another year. That's basically the way I was taught with a couple of languages first and then the real classes later. (Although my languages were very different at the time.)