Poll: Do you have a formal CS or a general computing degree?

27 points by Nick_C ↗ HN
One recurrent theme, especially when talking about interviews, is the need to display some CS skill set, such as algorithm design.

My degree focussed on programming, simple database design, simple network stuff. It was designed to produce grads for business applications.

I'm curious how many have the specialist knowledge that comes from a CS degree as opposed to some other computing degree.

For the purposes of keeping it simple, let's define CS as algorithms, designing a compiler, designing an OS, the hardcore stuff. We define general computing as designed for business use: basic programming in ,say for example, java and C++ or any other common language, some database knowledge, some networking knowledge. We define other degree as, say, engineering or physics that involves some programming knowledge. The rest are self-explanatory.

46 comments

[ 2.6 ms ] story [ 93.8 ms ] thread
Computer Engineering
That's an interesting one -- sitting very neatly between EE and SE (or CS, if you will).

What are your thoughts on it, now having gotten the degree? Happy with it? Would do it over again if given the chance?

I would never under any circumstance go back to college. However young folks definitely should.

Computer Engineering was new 25 years ago, and exactly what I wanted. Circuits, thermo, statistics, CS languages, OS, microprocessors. All useful, got me my 1st job and many afterward.

I'll include the interesting details since there's more to this subject than simply being present on HN and having a CompSci degree.

Self-taught and proud.

I can regale you of the set theoretic basis of SQL JOINs, or of n-base arithmetic all you like.

1 decade of MIT OCW and as well as various books goes a long way.

Been programming since I was about 11 years old. 8 if you count AT&T GW-BASIC.

22 years old and working as a dev for the past 4-5 years. Moving to San Francisco for work in 2 days.

My way of becoming a dev is not the easiest or the best. I will do my damndest to get any potential children of mine into a good school. (It wasn't an option for me.)

We were to poor for a real computer, so I actually first taught myself basic on one of these babies http://www.mervderv.com/wp-content/uploads/2010/04/precomput...

Later I picked up Visual Basic, C++, Perl, PHP, Python, Java and more recently Objective-C and Scala.

I've been all over the place programming language wise. It's no longer meaningful for me to list them off other than to say what my current specialty is. (Web app dev)

I grew up fairly poor, but my Dad built the computers using parts he begged/borrowed/haggled. Eventually I started working (My first full-time job was at age 13) and taking care of my own hardware since I'd been building with my Dad long enough.

BA Economics. Dropped out of EE, thank god.
I studied music at a conservatory, took night classes in CS at UC Berkeley and hacked my way to startdom!
very nice. the best programmers I've worked with almost all had conservatory degree's :)
Interestingly, the psychometric profiles for music and engineering share quite a few characteristics. It's common for engineers to be polymaths, esp with music.
Computer engineer here (not to be confused with CS or EE!)... and your statement is dead on! Especially the polymath part... I'm a bit of an ambidextrous drummer who can play in any time signature - was pro up until last June (to work on my startup)! I haven't played since but I sense a strong correlation between my drumming skills and ability to think in patterns (as is required for computer/algorithm related work of course)... perhaps I should get back on the set. It may stir up the creative juices again.
(comment deleted)
Is there a "acquired all the credits for a CS degree without humanities distribution requirements before dropping out" option? =)
I can SO relate to that one.
Select CS. I haven't actually finished mine yet either.
Computer Science from a prestigious school, but I've learned more on my own outside of school than I did there.
Alternative viewpoint: CS degree from a prestigious school, but learning a lot that I never would have thought to self-teach myself (and learning in ways different from self teaching).

Some things, like x86 assembly, were just too difficult to self teach (insufficient resources - the existing tutorials just aren't good for a beginner). Others, like compiler design, I just never would have thought to teach myself without the pressure of school.

So I find that the greatest utility of school is forcing me to learn things that I never would have learned before.

I explored the example subjects you mention without ever having spent a measurable amount of time in post-secondary.

School improves the median quality, and odds of exposure of the candidates.

It's not necessary for that kind of exposure though.

I am currently working on my CS Degree. So, I guess I should go check "Computer Science degree".
Mathematics. Computer science is my second favorite branch of mathematics, though.
I'll bite

... what's your favorite?

Algebra. Mostly abstract, but a little combinatorics and graph theory.
UCLA B.S. in Computer Science. What schools are the other CS majors from?
Almost a business information systems. Half a semester left!
The degree I got was in Computational Science, not Computer Science. It was focused more on the principles of computation, rather than the electronic implementation of those principles. A few years after I graduated (in '96), it was renamed to Computer Science, to avoid confusing people.
You can Major in Computational Science AND Computer Science at my university. The difference? Computational Science is spercifically about scientific modeling and you have to have done upper level calculus/analysis.
As I write this, CS degree is at 103 and Self-taught is the 2nd largest at 53. For the self-taught, would there be a market for courses that cover the entire breadth of a CS degree, but slim it down to the stuff one commonly uses as a programming professional? This would be presented as a web app and as webinars, not for free, but at very low cost. (Perhaps have some sample lessons for free.) I know it's all out there for free, but it takes some gathering to put it all together, and it's material that's best presented in a cohesive way. (Some degree programs don't do that, though.)

Also, as someone with a CS degree, I still picked up stuff on the job, years after getting out of school.

Ars Digita. http://aduni.org/

Lecture videos, homework pdfs.. It's a little more coherent than opencourseware due to the nature of the program.

"ADU was a one-year, intensive post-baccalaureate program in Computer Science based on the undergraduate course of study at MIT."

I was thinking more along the lines of something you could do in your spare time over half a year or so, perhaps finish the thing in just a few weeks if you do it full time.

My goal isn't to replicate an entire CS degree. It's to fill in all of the vital background that directly impacts someone on the job.

Self taught programmer - 8 or 9 I started BASIC and was doing Borland C and C++ by the age of 14. By then I was into Web development and pivoted over to Javascript, php, and later Java and Objective C.

I have no degree whatsoever and no qualifications in maths or CS.

I've been in the business 12 years, although I do less development these days. I'll be honest - I couldn't tell you how you would design a compiler, or an OS (not at the 'hardcore' level you are talking about).

If you asked me these questions in an interview I'd say as much. I'd also say that for web development I don't think it really matters and I don't feel I'm missing out on much. I'm certainly not going to go to university to learn them at the age of 29. I'm also not going to get a job at Google (not as an engineer anyway) but that frankly doesn't concern me.

I don't feel it has hurt me in terms of my career although granted there are areas of the business I'm never going to cut it in (that's the case for all of us, however).

Switched from CS to CIS. It's nice to have the business knowledge but I think it's easier to pickup business skills than CS skills. Either way I'm happy.
Self-taught as well with a strong emphasis on the liberal arts and a special focus on Mathematics. I make it a habit to learn new languages often, particularly esoteric languages (I'm also learning Greek in the natural languages). The self-educational path is more involved than some people tend to think; it really is a replacement for going to college, for me. I've created my own curriculum, read the classics, write essays - proofread them over and over (in lieu of being graded) - do a lot of projects that are relevant to the material I'm studying, etc...

Time can be tough to find when I do this - in general I have a "part time" schedule at night after I'm done working (I've cofounded a startup); I have a history of going through self-education "phases" that usually mean I stop working for a period of months and focus full-time on my study material and personal projects...

Rigor, though, can be an issue sometimes. I'm still working on intensifying my studying in the time that I spend on it.

BFA in Digital Arts. Went in for filmmaking. Bumbled around learning graphic design and slipcasting. Learned to program a microcontroller and write CSS/JS in my last year of school.
I put in "CS" and "Other" because my degree was Software Engineering (and we actually did learn engineering)
Self taught but heavily informed by my university studies (BS Math, BA's in History and Philosophy).
Its a combination:

-first CS degree, double major Associates -2nd time at college studied both Molecular Biology and Bioinformation with CS bent -rest self study

What about dropped out senior year of CS program to do startup?
CS+math from CMU. The OS class there is transformative; the other stuff is often good, but I wouldn't evangelize to anyone to take anything other than the OS class. It's been rumored that people have been hired because they passed OS; passing might be an exaggeratedly low bar, but it's in that ballpark.
i have a slightly related question. hypothetically (definitely not about me), what's the quickest way to get a computer science degree if you are entirely qualified for it and the classes are useless? do you have to suffer the system just to get a degree?
BS and MS in Computer Science - MS concentration was AI, though if I could go back and do it again I'd do theory instead, and take maybe half as many AI classes and an extra graphics class or two.
I put CS, but it is really Computer Engineering. My uni has to be weird about their naming, so I have to explain, however.

* There are three options: CS, CE Hardware Specialization, and CE Software Specialization. I am doing the third.

* Everybody takes the same 300-level courses. Two quarters of theory, comparative programming languages, and a hardware class. (You end that one by building a MIPS processor in Verilog.) They are doing a curriculum change for the 300-level courses, however, so I do not really know how the new courses work.

* CS people basically can take any 400 level courses they want. Some people basically do what is required for CE students below, some do graphics/animation/games, and some do a mix.

* CE Hardware people have to take a handful of EE, the advanced hardware classes, and the hardware capstone. Basically no range of motion here.

* CE Software people have to take intro to EE, a software engineering course (or computer security, alternately), operating systems, networks, and a few 400 level electives (options include compilers, algorithms, distributed systems, and databases).

So CS is not much more theoretical than CE-Software; you just have more choices your senior year, and have to take a bit more liberal arts.

When I got my bachelor's degree (Caltech, class of '82) they didn't offer an undergraduate CS degree. They had pretty much all of the normal undergraduate CS courses, but only offered masters and PhD degrees.

Most undergraduates who would have majored in CS if it had been offered went for math or physics, and then took all the undergraduate CS courses too.