On Friday, 21 June 2013 at 16:49:26 UTC, H. S. Teoh wrote:
On Fri, Jun 21, 2013 at 05:48:25PM +0200, Jacob Carlborg wrote:
On 2013-06-21 16:56, H. S. Teoh wrote:
>+1, me too! I can say that 85-90% of what I do at work today,
>I
>learned from my personal coding projects, not from the CS
>courses I
>took in university. (That's why I like to joke about CS grads
>knowing
>more about uncomputable problems than computable ones...)
It feels like there's something wrong with the world here :)
[...]
Only "something" wrong? ;-)
To be fair, though, I can understand why university programs
are that
way: their goal is to produce more researchers and professors
who may
join the faculty and produce more research. So they focus more
on the
theoretical aspects of computer science in order to produce such
candidates, whereas focusing on more practical aspects is
something for
technical colleges whose goal is to produce industry workers.
Unfortunately, in North America at least, the technical
colleges lean
more toward stuff like "how to use MS Word", "how to organize
your
company data in MS SQL", rather than _real_ programming, and
universities that actually *teach* real programming are more
interested
in finding solutions to uncomputable problems than teaching
students how
to solve computable ones, so there's a gap in the area of
producing
qualified industry coders who can write functional software.
There *are*
pockets of competent programming education here and there, of
course,
but this is the impression I get from the general situation.
T
Yay, a uni bashing thread. I'm a student and I like it, so here's
some subjective opinion.
I don't know how it's in USA, but where i live we have 2
possibilities of getting CS education at uni level: a course at
"pure" university and a course at something we call "university
of technology". Basically the former focuses much more on
academic problems, the latter grants you with "engineer" title
with all that implies - you learn how computers work from
electrical level up to the high abstractions of disciplines like
AI or image processing.
I've been interested in programming long before I went to the
"university of technology". I went there to expand my knowledge
on the topic. It worked out great for me, because unlike in our
"highschool" I didn't have to learn stuff unrelated to my
interests. I've learned a lot and met some very skillful people.
Many of them bash unis just like you guys, yet they still gained
many skills there - but that's typical - I've heard a lot of
whining during my entire education.
I want to point out that having a CS course alone doesn't make
you a good coder. First - because CS is not only about coding,
that's a wide discipline. Second - your attitude is what really
matters. Noone's going to make you a (very)good C programmer in
90h course - you just get enough to grasp important concepts to
be able to easily expand on your own in areas you like. If you
don't like CS, yet you finish the course, you've lost X years of
life for getting a sheet of paper and some opportunity to get a
job which you probably won't like or won't be good at. Third -
unis are really not about producing enterprise workers, you don't
need much knowledge to write apps which throw around data between
crud app and db. Instead they give you ability to use common
scientific methodology, a complete overview of CS, means to study
(or even push forward) the discipline you're interested in and
most important, they teach how stupid everyone (especially you -
that's a painfull lesson) really is.
I'm not saying that you can't get all of this on your own, yet
it's easier that way. I was a self taught programmer, but I feel
that my knowledge is more complete now (and some of the knowledge
is very important for a systems programmer). It's obviously the
same other way around - you can pass all the exams and get
nothing from that. It's up to you what you're going to do with
free time. Important note: public unis are free in my country, I
probably wouldn't study otherwise.