Home » Community » Forums » GDNet Lounge » Computer Science appreciation thread, or, "What's wrong with computer science ?"
  Intel sponsors gamedev.net search:   
[Control Panel] [Register] [Bookmarks] [Who's Online] [Active Topics] [Stats] [FAQ] [Search]

Add Forum to Favorites |  Send Topic To a Friend | View Forum FAQ | Track this topic

Page:   1 2 3 4 5 »»

 Last Thread Next Thread 
 Computer Science appreciation thread, or, "What's wrong with computer science ?"
Post New Topic  Post Reply 
Something has been itching me for quite some time on these boards. Why are everyone looking down on computer science ? Am I the only one enroled in such a program that enjoy it ? Am I the only one who is learning stuff ? I always seem to hear that "Computer Science is easy" and that I "should learn it on my own."

Sure, computer science is easy, and you can learn it on your own. However, it's the same for any freaking degree out there (with the notable exception of degrees that encompass some kind of accreditation necessary to work in that field, like law schools around here.) I for one, pretty much enjoy my classes. It helps me formalize some of the stuff I learnt on my own, and *gasp* sometimes I learn something totally new (hint: you can test out of classes and take higher level ones). Plus, it gives you double the time to work on it on your own. You are not limited by your degree.

I'm curious to learn the cause of this general animosity toward computer science.

 User Rating: 1639   |  Rate This User  Send Private MessageView Profile Report this Post to a Moderator | Link

It's probably because many CS programs are complete trash, even if yours is good. That's what I gather, at least; I'm not actually enrolled in many CS programs.

But maybe since the people here are pretty much all nerds, CS just conflicts with our idea of what you should be doing in college. Since a lot of us have to pay substantial sums of money to go there, it's a nice comfort to know that you'd be studying something you'd have a very hard time learning independently, without access to the great faculty and resources you're paying so much for.

Also, a lot of people (employers included) want CS to be a sort of certification for programmers, when it's really not supposed to be about programming at all. You could come out of a CS degree with virtually zero practical skills, and there would technically be nothing wrong with that. It's a bit annoying, I suppose, that the skills you're looking to learn from your degree mostly come from things like your own projects and internships.

This is just a distillation of what I've heard CS people complain about. Personally, I'm still thinking about what I'll major in.

 User Rating: 1357   |  Rate This User  Send Private MessageView Profile Report this Post to a Moderator | Link

Quote:
Original post by twix
Also, a lot of people (employers included) want CS to be a sort of certification for programmers, when it's really not supposed to be about programming at all. You could come out of a CS degree with virtually zero practical skills, and there would technically be nothing wrong with that. It's a bit annoying, I suppose, that the skills you're looking to learn from your degree mostly come from things like your own projects and internships.
that's like saying you could come out of an apprenticeship with a master carpenter not knowing how to swing a hammer.





"aut viam inveniam aut faciam"---[My Site]---[Some Research and Development]---[3H-GDC]---[An Art Gallery]

 User Rating: 1567   |  Rate This User  Send Private MessageView ProfileView JournalView GD Showcase Entries Report this Post to a Moderator | Link

Quote:
Original post by twix
It's probably because many CS programs are complete trash, even if yours is good. That's what I gather, at least; I'm not actually enrolled in many CS programs.

But maybe since the people here are pretty much all nerds, CS just conflicts with our idea of what you should be doing in college. Since a lot of us have to pay substantial sums of money to go there, it's a nice comfort to know that you'd be studying something you'd have a very hard time learning independently, without access to the great faculty and resources you're paying so much for.

Also, a lot of people (employers included) want CS to be a sort of certification for programmers, when it's really not supposed to be about programming at all. You could come out of a CS degree with virtually zero practical skills, and there would technically be nothing wrong with that. It's a bit annoying, I suppose, that the skills you're looking to learn from your degree mostly come from things like your own projects and internships.


Oh you're right. I often forget that not everyone has to pay only around 1300USD/year to study. Being a canadian commie ain't easy.

 User Rating: 1639   |  Rate This User  Send Private MessageView Profile Report this Post to a Moderator | Link

I'm heading into my second year of CS at a rather small university. (Well, all depends on my mark for calc. Might go off and take welding or something instead)

The first year is mostly just basic stuff, and is more to cull the heard, and get rid of the people that just can't understand the basics, second year better get into more details. I don't expect to come out of there a master coder or something, I expect to come out with a general idea of what I'm doing and able to pick up just about any language in no time.

I'm not kidding myself, I expect to be doing most of the work myself. Thats what university is all about, you're not going there to have your hand held.

 User Rating: 1339   |  Rate This User  Send Private MessageView Profile Report this Post to a Moderator | Link

Quote:
Original post by capn_midnight
that's like saying you could come out of an apprenticeship with a master carpenter not knowing how to swing a hammer.

A CS degree isn't even analogous to an apprenticeship. If you choose your courses correctly, you could very easily let your programming skills languish and still make it out of the degree with flying colors. That's because CS isn't about programming, no matter how much people want it to be. Software Engineering is about programming.

 User Rating: 1357   |  Rate This User  Send Private MessageView Profile Report this Post to a Moderator | Link

Quote:
Original post by capn_midnight
Quote:
Original post by twix
Also, a lot of people (employers included) want CS to be a sort of certification for programmers, when it's really not supposed to be about programming at all. You could come out of a CS degree with virtually zero practical skills, and there would technically be nothing wrong with that. It's a bit annoying, I suppose, that the skills you're looking to learn from your degree mostly come from things like your own projects and internships.
that's like saying you could come out of an apprenticeship with a master carpenter not knowing how to swing a hammer.
Computer Science would be something more like, "Theory of Carpentry".

 User Rating: 1372   |  Rate This User  Send Private MessageView Profile Report this Post to a Moderator | Link

Computer Science @ The University Of Nottingham both sucks and blows, in that way that you really can't quite comprehend.

People probably slate it a lot because it's a "Jack Of All Trades" type degree, often trying to cover anything/everything to do with computing. It's not necessarily obvious what the benefits are when you consider it that way.

I wish I did Software Engineering as my degree .

Jack


Jack Hoxley [ Forum FAQ | Revised FAQ | MVP Profile | Developer Journal ]

 User Rating: 1947   |  Rate This User  Send Private MessageView ProfileView Journal Report this Post to a Moderator | Link

You know what would be nice? If employers would narrow their programming-job hiring criteria to above all preferring Software Engineering majors, and then give all other degrees equal preference. I think that would be a much more reasonable way to get qualified software engineers than the current "CS or equivalent" system. If I can get a math degree and still be as good a programmer as any CS guy, I think that shouldn't be held against me. Let's just see how things look in four years.

 User Rating: 1357   |  Rate This User  Send Private MessageView Profile Report this Post to a Moderator | Link

What's with all those "<insert subject here> appreciation thread"'s?

Anyway, I've been studying CS for 3 years now, and on the whole, I don't see what's so bad about it. Of course, I don't know how it is elsewhere, but here, at least, we do learn an awful lot. True, you could in principle learn it all on your own, but isn't that true for any degree? (Including the carpentry apprenticeship someone mentioned)

But if you try to learn it on your own, there's no way to ensure that you actually get the whole picture. An example is an acquaintance of mine who despises CS and firmly believes that he can learn anything from Google much easier.

The problem is that once he starts on a big programming project, he has no clue how best to tackle the problems he encounters. He doesn't know what a linked list or a binary tree is, so when he needs a data structure, he simply can't look over the alternatives and pick the best suited. Instead, he has to Google for a solution, copy it, and hope it's somewhat efficient.

Another example was once he tried to "optimize" a program of his, by making it store and sort a few million numbers on the HD, whereas the original version of the program had a few more loop iterations, yes, but it didn't require any HD access, and only a small amount of memory activity even.

Basically, when you try to learn on your own, there's no way to learn what you don't know, to find out exactly what you *should* know.

Anyway, as people have said, computer science is not about programming at all. That's just a tool you occasionally need to get on with the important stuff (from CS's point of view).

At my uni, we learned some programming on the first year (a course on Java, and one on ML). This taught us a bit of each language, and a lot about the OO and functional programming paradigms.

Since then, we've done a lot of programming, but never as actual programming courses. When we wrote a kernel, it was just assumed that we could pick up C++ in a week or so, given our foundation in the above languages). Because C++ itself wasn't important, it was just something we had to figure out to be able to write the kernel.

The same goes on the courses on algorithms and data structures. Sure, we occasionally had to do some programming, but it wasn't the focus of the course, just a small distraction that occasionally had to be done, in about the same way that the carpenter mentioned previously occasionally has to hammer a nail. But that doesn't mean his apprenticeship is about learning to hammer nails.

And of course most of the courses have some importance for programming (learning about algorithms is damn useful to a programmer, for example). But CS is really about all this background fluff, not about the specific tool called 'programming'.

But of course, people who sign up for CS expecting to just sit at a computer all day writing C++ are going to be disappointed, and a lot of them think CS sucks because of this. If you just want to code, there are more specialized and direct ways of learning that.

In most of scandinavia, computer science is called 'datalogi', meaning something like the science of data. (Historically, the guy who founded our CS department came up with the name because he thought the name 'computer science' wasn't very accurate, and didn't have much to do with the stuff that's actually taught.)
It isn't about computers, it's about data. Manipulating, managing and generating data. Sure, computers are useful for this, but they're not required. Same goes for programming. Sure, it helps making a lot of these tasks easier, but it's not the focus of this branch of science.

Personally, I love studying CS. I've learned an awful lot, some completely new, and some just formalizing or expanding on stuff I've found out on my own. It's also thrown me into crazy projects I wouldn't have dreamed of tackling otherwise (like writing a multithreaded kernel for an Alpha CPU in 3 weeks, or a compiler written in ML, or just learning strange languages like Prolog.)

However, I'm under the impression that our particular version of CS has a lot more practical exercises and projects than is usual. I'm glad we get to try out all the stuff we learn in practice. Sure, it can get tough, and practically eliminates the free time everyone else says they have plenty of, but it's usually great fun, and it helps understanding a lot.
Being told how a kernel schedules threads or switches between processes is one thing, but having to actually implement this really drives home the point, and forces you to understand every bit of it.

 User Rating: 1769   |  Rate This User  Send Private MessageView Profile Report this Post to a Moderator | Link

Old Eddie D's famous quote bears repeating here:

Quote:
"Computer science is no more about computers than astronomy is about telescopes."

-- Edsger Dijkstra


 User Rating: 1836   |  Rate This User  Send Private MessageView ProfileView Journal Report this Post to a Moderator | Link

Quote:
Original post by capn_midnight
Quote:
Original post by twix
Also, a lot of people (employers included) want CS to be a sort of certification for programmers, when it's really not supposed to be about programming at all. You could come out of a CS degree with virtually zero practical skills, and there would technically be nothing wrong with that. It's a bit annoying, I suppose, that the skills you're looking to learn from your degree mostly come from things like your own projects and internships.
that's like saying you could come out of an apprenticeship with a master carpenter not knowing how to swing a hammer.


Entirely not true. Your analogy does not fit the case. Computer science is a science, you learn theories and how they are applied. You are learning the science of, well, computing. More appropriately compared to a carpenter would be a computer programmer who learns, strictly, how to program.

 User Rating: 1150   |  Rate This User  Send Private MessageView Profile Report this Post to a Moderator | Link

My computer science program at my college seems fine. In the upper division courses the professors assume that everyone learned what they need in the lower division programming/data structures courses to make a program. With this assumption they make us program some godawful things.

I guess since my campus is so close to UC Berkeley, my Systems Programming professor wanted us to learn everything about Motes. But being a poor college (unlike Berkeley) we didn't have many Motes and just worked with simulators to program some tough algorithms.

I don't see how one can avoid programming altogether because one should be able to translate some theory into actual code.

The lower-division courses are all pretty easy; even some upper-division courses are easy. But all of my CS projects were not that easy.



 User Rating: 1394   |  Rate This User  Send Private MessageView Profile Report this Post to a Moderator | Link

IMHO the problem is that college/university in general is not really meant to teach "job skills". They're really meant to train people to become researchers. Research after all is what most professors *do* - the teaching is just a sideline that's necessary to ensure a new supply of researchers.

However most people don't really understand that. They expect to coast through school and end up with a good job at the end. What you really have to do is to take what you're learning in school and apply it to even more studies outside the immediate cirriculum that has a more practical / employable bent to it.

 User Rating: 1632   |  Rate This User  Send Private MessageView Profile Report this Post to a Moderator | Link

I'm going to be graduating with a B.S. in computer science soon and I have no skills to get a decent job when I'm done. I don't even know HTML. I know a little sql, but that is it. I spend my free time learning stuff about game programming instead of things that can help me get a decent job in the future. I'm a bit worried.

 User Rating: 1033   |  Rate This User  Send Private MessageView ProfileView GD Showcase Entries Report this Post to a Moderator | Link

Dude, you must have partied a LOT then! :)

 User Rating: 1059   |  Rate This User  Send Private MessageView Profile Report this Post to a Moderator | Link

Quote:
Original post by ManaStone
I'm going to be graduating with a B.S. in computer science soon and I have no skills to get a decent job when I'm done. I don't even know HTML. I know a little sql, but that is it. I spend my free time learning stuff about game programming instead of things that can help me get a decent job in the future. I'm a bit worried.


Well, is there ANY program at a university that really gives you all the skills you need to get a job in that field? You get a toolkit to work with and then apply those to whatever job you do.

As for HTML, really, I know a little HTML and I'm in first year. All I've done is looked at source for webpages to pick up what little I have used. If you have done 4 years in a B.Sc. (BSc sounds so much better than a BS,...) you shouldn't have any problems learning HTML in a few days. If you can think about how to lay out a GUI, and you can't learn HTML, a simple markup language, then you have a LOT of problems :P

 User Rating: 1339   |  Rate This User  Send Private MessageView Profile Report this Post to a Moderator | Link

At least here in computer science at McGill you get to take lots of software engineering courses (50% of the degree are courses you choose). I do find that they teach things from an overly theoretical point of view. Computer science is not much without computers after all.

What is most positive about my program is that its 3 years (vs 4 for software engineering), and I get more flexibility on the courses I choose.



Looking for a serious game project?
www.xgameproject.com

 User Rating: 1438   |  Rate This User  Send Private MessageView Profile Report this Post to a Moderator | Link

Max, you mean McGill in Montreal has a 3 year B.Sc.CS in only 3 years? If it wasn't for the fact that I can stay here and go to UPEI for like a tenth of the price I might consider that. (That, and my brother lives in Montreal, and I would rather he stayed farther away)

 User Rating: 1339   |  Rate This User  Send Private MessageView Profile Report this Post to a Moderator | Link

Quote:
Original post by Talroth
Max, you mean McGill in Montreal has a 3 year B.Sc.CS in only 3 years? If it wasn't for the fact that I can stay here and go to UPEI for like a tenth of the price I might consider that. (That, and my brother lives in Montreal, and I would rather he stayed farther away)


Its 3 years for us French Canadians. 4 years for the rest of the world. This is because our high school lasts one year longer (sort of), and it covers all the basic science courses.



Looking for a serious game project?
www.xgameproject.com

 User Rating: 1438   |  Rate This User  Send Private MessageView Profile Report this Post to a Moderator | Link

Quote:
Original post by twix
You know what would be nice? If employers would narrow their programming-job hiring criteria to above all preferring Software Engineering majors, and then give all other degrees equal preference. I think that would be a much more reasonable way to get qualified software engineers than the current "CS or equivalent" system. If I can get a math degree and still be as good a programmer as any CS guy, I think that shouldn't be held against me. Let's just see how things look in four years.

If only Software Engineering wasn't an engineering course, lol... admissions (at least, around here) require Bio, Chem, and Phys, as well as Math Adv., pre-Cal and Cal (well, only Pre-Cal if I was from PEI :\)... if I go for CS, all I need is Math Adv, Pre-Cal and Cal.

In any case... relevant coding experience is easy to get outside school. The theory... that's what takes 5x longer to learn. (Though I doubt I'd ever exchange a loop for HD swapping, lol). A much easier course to get into, and it will give more of the necessary knowledge (which can't be achieved as easily outside of school); Around here, anyone who wanted relevant coding experience could have taken CRS 12 (and opted to write their projects in their favourite language, instead of VB).


 User Rating: 1127   |  Rate This User  Send Private MessageView Profile Report this Post to a Moderator | Link

Not true - most universities in europe have 3 year BA/BSc's

/* what matters most is
how well you
walk through the
fire. */

 User Rating: 1051   |  Rate This User  Send Private MessageView Profile Report this Post to a Moderator | Link

These are the reasons I'm not choosing to do a Computer Science, even though being a game developer is one of the career choices I want to be. I'm going to go for a Maths degree, from looking at some books I think Maths could be learnt solo. Maths > CS :)

 User Rating: 1109   |  Rate This User  Send Private MessageView Profile Report this Post to a Moderator | Link

Quote:
Original post by xMcBaiNx
Something has been itching me for quite some time on these boards. Why are everyone looking down on computer science ? Am I the only one enroled in such a program that enjoy it ? Am I the only one who is learning stuff ? I always seem to hear that "Computer Science is easy" and that I "should learn it on my own."

Sure, computer science is easy, and you can learn it on your own. However, it's the same for any freaking degree out there (with the notable exception of degrees that encompass some kind of accreditation necessary to work in that field, like law schools around here.) I for one, pretty much enjoy my classes. It helps me formalize some of the stuff I learnt on my own, and *gasp* sometimes I learn something totally new (hint: you can test out of classes and take higher level ones). Plus, it gives you double the time to work on it on your own. You are not limited by your degree.

I'm curious to learn the cause of this general animosity toward computer science.


No animosity in general, just skeptisism of weather its really a science. Almost all fields with the word 'science' in them are fairly soft.

Consider:

1) Political science
2) Computer Science
3) Socal Science
4) Sports Science

Versus:

1) Chemistry
2) Physics
3) Math
4) Biology


The second list are generally accepted to be harder subjects then the first one. Like many things, appending a name to something is usually a sign that it's far from it. Hence, when countries refer to themeslves as "The democratic blah of blah," its usually anything but.

Having said that, I actually have a degree in computer science, and a minor in math. The degree in CS is, IMHO, useless. You learn very little useful things in school. The minor in math is far more useful.


 User Rating: 1171   |  Rate This User  Send Private MessageView Profile Report this Post to a Moderator | Link

It's "math" I say!

 User Rating: 1148   |  Rate This User  Send Private MessageView Profile Report this Post to a Moderator | Link
Page:   1 2 3 4 5 »»
All times are ET (US)

Post Reply
 Last Thread Next Thread 
Forum Rules:
You may not post new threads
You may not post replies
You may not edit your posts
You may not use HTML in your posts
Jump To:
Administrative Options: