Live data from Hacker News

Ask HN: What's missing in a CS degree?

news.ycombinator.com

31–40 of 64 posts

Re: Ask HN: What's missing in a CS degree?

#31
Hmmm... I think "up-to-date" professors. I've had professors who've been teaching for decades and they're still stuck in the decade they started teaching. In some instances it's ok, but in other instances it's just obsolete and new methods to approach a certain problem have been developed since then, which they are unaware of.

Re: Ask HN: What's missing in a CS degree?

#32
post #13
post #3

A nice start would be actually teaching Computer Science . Computer Science is a branch of mathematics, with both theoretical and applied aspects. This does not mean that learning Java syntax constitutes as "applied". I think it should be expected that CS students pick up languages on their own in order to complete and understand theory-based assignments. Anything else is probably just pandering to people who shouldn…

There's always this tension between the pragmatists and the theorists. I figure we just split it in two. CS focuses on research and theory. CP(rogramming) focuses on the pragmatic and artistic nitty gritty of building software. Now, I personally wouldn't advocate majoring in programming, because you really should just R the F'ing M, and make stuff on your own. But it's hard to argue against its validity as a major wh…

Something like say a masters in applied programming could be the solution. That way if you feel after your degree that you would like to spend some extra time learning specific languages you can, if should be moved away from the basic computer science theory.

Re: Ask HN: What's missing in a CS degree?

#33
I'm a technology ethicist (with a BSc in CS though!), so I have to jump in here and say that society-aware and ethical design principles are seriously missing. Things like how to involve the stakeholders (not just the client, but anyone who might be affected or who thinks they may be affected, or who are simply interested!) in your design process, how to decide whether your technology/program/etc. is actually wanted by society (e.g. the Genetically Modified Organisms issue in Europe, where despite the science being awesome, the public just didn't want it due to the behind-their-backs political wrangling that was going on). And last but not least, how to make sure that, before you start implementing your amazing idea, your idea is acceptable to society. Not accepted, since that's just a matter for compromise in the end, and compromise is not what ethics is about (it's about choice!).

Technology has a bad habit of arriving, and then the mess being sorted out later. It'd be great to get those creating it to realise the impact they will be making on society and do something about it before it creates the mess. Of course, regular feedback loops on how it's all going throughout the lifetime of the project are also necessary -- just look at the facebook debacle recently! And the Google wifi scandal! And I could list a whole bunch of other seriously problematic incidents in the last 10 years (which, incidentally, is around about when I had just started my CS degree).

I realise this is mostly a pipe dream, and that most CS students snore through any "ethics" classes they may have, but instead of these "why are we here?" classes, perhaps integrating ethical design principles into the general procedures for software engineering would be a start.

Re: Ask HN: What's missing in a CS degree?

#34
post #31

Hmmm... I think "up-to-date" professors. I've had professors who've been teaching for decades and they're still stuck in the decade they started teaching. In some instances it's ok, but in other instances it's just obsolete and new methods to approach a certain problem have been developed since then, which they are unaware of.

Interesting this, as part of my degree(computer system engineering) there is a final year engineering management class where the lecturer updates the lecture before it is given to reflect current business details.

I think this is awesome compared to say another subject I have now where there is two lectures on the semantic web which seemed to describe the exact same stuff that has been around for the best part of a decade.

Re: Ask HN: What's missing in a CS degree?

#35
I think one thing which is probably overlooked a lot and could be considered outside of computer science is communication skills. No matter where you go with your degree: academia, industry, start up or further study these are skills which you will need.

It doesn't mean you have to give up a broad education on underlying computer science principles to get these either, just include things like presentations and written reports with the theory work as you go. Team work is a contentious one as well. if there is team work you have to mark each persons contribution to the team rather than the team as a whole. I have had the experience of being lumped with some pretty terrible people work ethic and skill wise and had to produce something as a team.

Re: Ask HN: What's missing in a CS degree?

#36
Everything of importance cannot be taught.

Degrees will always be "inadequate" compared to the fast changing world. What is important is that it gives you tools to apprehend your work and even perhaps your life.

In your case, computer science (mathematics) and fundamental languages are a must (Lisp, C, assembly...).

Get the basics right. You'll have all the time in the world to learn "business stuff".

Re: Ask HN: What's missing in a CS degree?

#37
I just finished my CS degree, and I think that it was worth it. I had time for self-directed projects in any language I wanted, learned about web programming, interface design, compiler and interpreter design, regression testing, prototyping, and all kinds of things that I might not have learned on my own. The only glaring problem was that the professors never had time to teach. They treated classes as an annoying distraction from research and programming, and many of them simply did not focus enough energy on teaching, and were unprepared for class.

Re: Ask HN: What's missing in a CS degree?

#39
I've started realizing just now that your standard CS degree is completely useless in the real world. I feel like I've learned absolutely nothing in these two years. Fortunately, a combination of real life events and comments from people on HN has opened my eyes to what I don't know. So, here's what you - correction, we - need to do to complete our education:

1. Contribute to a FOSS project, or start and manage your own. Alternatively, build a product and try to monetize it. This pretty much covers everything that your CS degree claims to teach you. Now we can move on to more important things like ...

2. Learn to meet and talk to new people. Learn how to be comfortable around people, and to make other people comfortable around you.

3. Learn to speak in public. Learn to clearly present your views and opinions to an audience.

4. Meet women. You won't get time to do this once you're a Silicon Valley billionaire ;P

5. Learn how to negotiate. Learn how salespeople and negotiators employ simple psychological concepts to get people to agree with them. Learn how to protect yourself from these people.

6. Study non-CS subjects. Psychology, economics, music, art, whatever. It's critical that you broaden your horizons beyond standard CS topics.

This is what I've figured out so far. If more experienced people have anything to add to the list, please do :)

Re: Ask HN: What's missing in a CS degree?

#40

I've started realizing just now that your standard CS degree is completely useless in the real world. I feel like I've learned absolutely nothing in these two years. Fortunately, a combination of real life events and comments from people on HN has opened my eyes to what I don't know. So, here's what you - correction, we - need to do to complete our education: 1. Contribute to a FOSS project, or start and manage your…

>I've started realizing just now that your standard CS degree is completely useless in the real world. I feel like I've learned absolutely nothing in these two years.

Does that mean you're a sophomore? If so, you've probably just learned the most basic foundations of CS. I've done 6 years of CS (I was a CS major and I'm just about to finish my master's) and I'm pretty sure I've become a better programmer every year. Maybe I sucked to begin with, in fact I know I did, but nevertheless, I've gained a LOT from my extended education.

Post reply on HN