

Why Computer Science - abfabry
http://carterac.tumblr.com/post/6355435845/why-i-majored-in-computer-science

======
kylemaxwell
_Passions such as art history are far easier to pursue in life by constantly
reading books, going to museums, and attending lectures. Computer science is
impossible to engage with on a casual basis. It requires a massive and highly
focused investment of time and energy, ideally with the world’s best teachers
guiding you at the same time._

First, I don't know that I agree with the first bit. One may certainly dabble
in art history (or many other liberal arts-type majors), but one won't get
quite as much out of it as someone else who dedicates hours and hours to it
over months and years. This holds true for all deep, non-trivial subjects.

Further, one certainly /can/ 'engage with CS on a casual basis'. People do it
all the time, and they certainly don't always have "the world's best teachers"
to guide them. Mentors, teachers, and professors play an important role, but
many people do quite well in their chosen fields without that extra boost.

~~~
dcosson
I don't know how common it really is for someone to casually teach him/herself
CS. Sure, a lot of people teach themselves to build websites or mobile apps,
but ask them to, say, search/filter their results and it's pretty easy to see
there's not a whole lot of scientific thinking going on. Learning Computer
Science is very different than learning to code (i'm not saying it doesn't
happen, but from my experience most casual coders don't care very much about
the theoretical underpinnings - and don't often need to, with modern
languages).

~~~
kylemaxwell
Of course, many people don't ever cross the gulf between "i can haz
programming" and actual computer science. That doesn't mean they /can't/ self-
direct themselves.

<http://the-paper-trail.org/blog/?page_id=152> (from HN recently)
[http://overhack.wordpress.com/2011/06/01/self-directed-
compu...](http://overhack.wordpress.com/2011/06/01/self-directed-computer-
science-education/) (my own)

------
snow_mac
.... Computer Science is NOT the study of programming. I wish people would get
this out of their heads.

Computer Science is the study of computers, the science behind them. It's data
structures, algorithms, compilers, math, discrete math and so much more.

Programming is just one tiny aspect of CS. Programming is the implementation
of understanding not the basis for it. Compare Programming to writing English,
you need to understand verbs, subjects, adjectives, nouns, adverbs, pronouns &
how to assemble them coherently. The implementation of that understanding is
what we call sentences. As akin to programming, Computer Science is the study
and understanding while Programming is the implementation for the computer to
function.

------
gliese1337

      > I was tempted to switch into art history
      > to escape the huge engineering workload.
    

My association with friends in the fine arts indicates that that would've been
a horrible decision; probably depends on what college/university you're at,
but while engineering majors seem to have a pretty consistently high workload,
visual design, music composition, and art history majors seem to get
periodically slammed with horrendously massive workloads.

I thought about switching to animation for a while, and then realized that
there's no way I could handle the load in the introductory-level classes. I
suspect it's because there're lots of people who would like to do fine arts,
so they make all of the 100-levels incredibly intense to filter in just the
ones who are really talented and dedicated.

Sometimes I wish they'd do the same thing with the CS department.

    
    
      > Computer science is impossible to engage
      > with on a casual basis. It requires a massive
      > and highly focused investment of time and
      > energy, ideally with the world’s best teachers
      > guiding you at the same time.
    

I believe this to be true as far as the theoretical, mathematics-based
discipline of computer science goes. But it should be noted that you can
become a fantastic programmer with very little formal CS background and casual
engagement.

~~~
_delirium
_I suspect it's because there're lots of people who would like to do fine
arts, so they make all of the 100-levels incredibly intense to filter in just
the ones who are really talented and dedicated. Sometimes I wish they'd do the
same thing with the CS department._

This used to be somewhat traditional, to have a hardcore 100-level CS class as
a weed-out, but my impression is that curricula are moving away from it.
Partly, there's a worry that it mainly rewards how much knowledge you have
coming _into_ college: if the CS-101 course is really hardcore, the people who
pass it are those who learned a lot about computer science on their own in
high school. But if the university is supposed to provide an education program
that can teach CS to people who _don't_ already know it, that isn't quite what
you want.

It also tends to work directly against universities' recruiting goals: they're
spending all this effort to try to convince "non-traditional" CS majors (i.e.
people who weren't already high-school computer enthusiasts) that it's an
interesting and useful field to study, in which case you don't want to
immediately kick them out in the first semester for not already being
proficient enough.

------
amichail
I think the debate is more about self-learning vs a formal education.

Moreover, a CS degree is overkill for most of the programming people do.

~~~
snow_mac
I would whole heartily agree. I'm a CS major working at a big company this
summer. I've met people with no background in CS work in software development.
Some people who should not even be developers at all. Others who are expert
coders but shutter at the mention of a search algorithm.

In most places, I sense, CS is a ticket into a better position but for most
people CS is overkill for the type of programming most .Net shops require. It
comes down to learning basic control structures, syntax & utilizing libraries.
It nearly becomes mindless & trivial for CS majors yet challenging and
overwhelming to the kids taking C#/.Net classes.

~~~
gaius
You can go too far either way. On the one hand are the CS theorists with their
heads in the clouds. On the other are those devs writing naive algorithms and
arguing that you should just buy more hardware who wouldn't know big-O if it
jumped up and bit them on the nose.

------
piinbinary
Such essays should be included in the literature given to students who are
choosing a major.

------
riledhel
"Computer science gives you the ultimate freedom to pursue your dreams." Great
quote.

------
seagaia
This is also really interesting for everyone else's majors as well - really
seems to come down to pursue what interests you.

------
sadfdsdfsds
Computer science students should be preparing to be outsourced to Hyderabad.

~~~
sde37
I've been preparing since the year 2000--the first time I started hearing
about how all development jobs were getting outsourced to India.

Hasn't quite went down like that, has it?

