Live data from Hacker News

What did you cover in your undergrad CS degree?

catalystclass.com

41–50 of 57 posts

Re: What did you cover in your undergrad CS degree?

#41
post #25

The key question that some have touched on is this: What should comprise a CS degree? (E.g., should these (and/or other areas) be a part of a CS degree?) I think the right balance needs to be struck between the academic and vocational views. Big-O, grammar, automata, etc. are the fodder of academic papers, not the Real World. But when you talk about higher ed, here's the rub: its supposed to be the theoretical founda…

I sincerely hope every practical developer knows the complexity and costs of their algorithms, can write a simple parser, and reason about finite state machines (ie, the non-trivial systems people build). I do get what you mean: CS is different than practical skills. Pure theory is interesting and less practical but all the things you mentioned have lots of uses in practice. You don't write a formal proof for every little thing but you use the conceptual tools.

Re: What did you cover in your undergrad CS degree?

#42
post #25

The key question that some have touched on is this: What should comprise a CS degree? (E.g., should these (and/or other areas) be a part of a CS degree?) I think the right balance needs to be struck between the academic and vocational views. Big-O, grammar, automata, etc. are the fodder of academic papers, not the Real World. But when you talk about higher ed, here's the rub: its supposed to be the theoretical founda…

I sincerely hope every practical developer knows the complexity and costs of their algorithms, can write a simple parser, and reason about finite state machines (ie, the non-trivial systems people build). I do get what you mean: CS is different than practical skills. Pure theory is interesting and less practical but all the things you mentioned have lots of uses in practice. You don't write a formal proof for every little thing but you use the conceptual tools.

Re: What did you cover in your undergrad CS degree?

#44
post #25

The key question that some have touched on is this: What should comprise a CS degree? (E.g., should these (and/or other areas) be a part of a CS degree?) I think the right balance needs to be struck between the academic and vocational views. Big-O, grammar, automata, etc. are the fodder of academic papers, not the Real World. But when you talk about higher ed, here's the rub: its supposed to be the theoretical founda…

I didn't read anything on the site that said they wanted to specifically talk about CS degrees.

Re: What did you cover in your undergrad CS degree?

#45

Browser incompatibilities? That's a candidate for the 'information to be most quickly rendered outdated/irrelevant after graduation' award. I would rather spend my $1400 a credit hour on poetry workshops (and I did.)

Are American universities really that expensive?

Re: What did you cover in your undergrad CS degree?

#46
post #27

-Philosophy of science, the scientific method -Object-oriented programming -Basic calculus -Basic discrete mathematics -Linear algebra -Algorithms, data structures and asymptotic analysis -Basic compiler design -Theory of computation, Turing machines and formal languages -Basic practical computing technology, from the gate level -Basic software engineering: SE methodology, version control and developing software in a…

I don't see what OOP has to do with Computer Science. Isn't that Software Engineering?

Re: What did you cover in your undergrad CS degree?

#47
post #25

The key question that some have touched on is this: What should comprise a CS degree? (E.g., should these (and/or other areas) be a part of a CS degree?) I think the right balance needs to be struck between the academic and vocational views. Big-O, grammar, automata, etc. are the fodder of academic papers, not the Real World. But when you talk about higher ed, here's the rub: its supposed to be the theoretical founda…

"(Think the difference between having John Carmack on your team, versus some guy making $8/hr in a developing country)"

A CS degree, or any formal education, has little to do with what kind of programmer you are going to be. You can take a completely vocational approach in school and move on to other work individually. Or the other way around. You will end up being the type of programmer you wish to be regardless of CS. Case in point, John Carmack. And in the other direction, the thousands of CS grads who every year simply churn out "whatever works" once they are in the field and forget about all they were supposed to be learning. I would encourage students to be less critical about what it is they are actually learning in school, because it's what you do after those 2-4 years that will really matter.

Re: What did you cover in your undergrad CS degree?

#48

Personally I find things like version control and system administration to be things that students should learn for themselves. They should be encouraged, even actively encouraged (in fact they are already in most institutions) but there shouldn't be a class dedicated to this stuff. You are in University, studying CS ffs. If you can't learn such petty things for yourself, what good are you?

Or even better, why should the university waste time teaching me petty things like version control instead of focusing on things that I cannot learn by myself.

Re: What did you cover in your undergrad CS degree?

#49
post #2

This doesn't look like a CS degree---this looks more like software engineering requirements. CS and SE focus on distinctly different things. I might suggest changing the page title.

Unfortunately, there isn't any distinction between the two yet. I would posit that very few people graduating with a bachelors of science in computer science are actually doing computer science work. I would posit that the vast majority of them are doing software engineering work. Unfortunately, it doesn't seem like software engineering is a bachelor's level degree (I know of a few M.S. Software Engineering programs, but none at the bachelor's level), there really isn't much of the way in formal software engineering education for someone who wants to go to school for a few years and then get a job.

Re: What did you cover in your undergrad CS degree?

#50
post #36
post #25

The key question that some have touched on is this: What should comprise a CS degree? (E.g., should these (and/or other areas) be a part of a CS degree?) I think the right balance needs to be struck between the academic and vocational views. Big-O, grammar, automata, etc. are the fodder of academic papers, not the Real World. But when you talk about higher ed, here's the rub: its supposed to be the theoretical founda…

> Big-O, grammar, automata, etc. are the fodder of academic papers, not the Real World. I have personally needed all of those things in the Real World. I suspect that if more people remembered the stuff they learned in college, it would get a lot more use. "I'm never going to use this in the real world!" can be a terribly self-fulfilling prophecy.

I knew someone would come in and say that! (And I enjoyed my classes on automata.)

You're right, though. Which goes back to my question around what should be part of a formal education? I bet HN could come up with 10 years worth of courses that are "essential", plus another 10 that are "nice to haves".

Post reply on HN