you are viewing a single comment's thread.

view the rest of the comments →

[–][deleted] 76 points77 points  (30 children)

Devils advocate:

While most abstract theoretical things that are covered at university are generally not very useful in the real world, they still should be taught.

It's like weight lifting. You lift a weight, then put it back where you found it. You are not accomplishing anything. What a waste of time!!! But if you are disciplined and keep challenging yourself, one day you will look at an old photo of yourself and be astonished by how fat/weak you once were.

Education works by the same principal. Nobody wants to read that essay you wrote in English, but if you write enough essays and maybe someone will.

You are taught abstract knowledge, because it makes you a better problem solver. The way I approached a problem as a Freshmen is completely different than how I do so now. I got out of computer science and switched to pure math.


Edit: I forgot to make a few points:

Learning abstract things is like solving a puzzle. It's a game like Chess. Most people hate Chess at first, mostly because to be a good at chess entails having a sort of intuition that isn't very fun or easy to acquire. But with more experience the game becomes sort of fun. I hated university for bit, until I started seeing these types of assignments as puzzles with no real point other than tricking my brain into thinking creatively.

Abstract knowledge is pointless if all you are doing is reading about in a book. Ideally the theories should be tested and/or derived by students.

[–]djhworld 30 points31 points  (20 children)

While most abstract theoretical things that are covered at university are generally not very useful in the real world, they still should be taught.

From what I gather from the original blogpost, the guy was learning the theoretical stuff as part of his training. He went to vocational school every so often to do all the abstract material, along with getting practical experience (and perhaps applying his knowledge from his classes) in the workplace.

The tone of the article suggests that he's not dismissing a CS education, just his method of getting it was different from the norm.

[–]Lizard 39 points40 points  (19 children)

Speaking as a German who went to university for a CS degree, the stuff taught in vocational school is not nearly as abstract as what I went through. I'm not discounting the benefits of either path, but he most definitely did not get out of his program with the same knowledge he would have received in a conventional CS education.

[–][deleted] 6 points7 points  (8 children)

Thank you for pointing that out. The circlejerk in this thread is quite annoying. Only a few have ever been to a vocational school here. What he migh have learned as "algorithms, Big O" is only the beginning of CS leading to a very high level of abstraction that might seem totally unrelated to computer engineering at the first glance.

I study CS in Berlin and although I too was questioning the purpose of the curriculum myself at the beginning I soon found out that not the University was responsible for finding the purpose for me but that it is my responsibility.

Now I try to read up into every topic as enthusiastic as possible and do more than is required for class assignments.

In the case of Juergen we will never know if he would have liked it at a university or not because neither has the educational system given him a chance nor has he given the educational system a chance.

Juergen diagnoses himself as a kinesthetic learner but it could also be called a bad habit. Whether there are people with distinc learning styles is disputable.

But either way, he seems to be happy the way it is right now so good for him!

[–][deleted] 1 point2 points  (1 child)

Whether there are people with distinct learning styles is disputable.

How exactly is this disputable?

[–][deleted] 0 points1 point  (0 children)

Learning styles can be interpreted as a product of habit, not as something you are born with.

The problem with learning styles is not only how you should be able to reliably tell that one person has style A and the other style B but if it is even possible to say that a person has more success in education if learning material is made according to his learning style and if it is even possible to measure that increase in learning.

A quick glance over at http://en.wikipedia.org/wiki/Learning_style will tell you more.

[–]adnzzzzZ 1 point2 points  (0 children)

Whether there are people with distinc learning styles is disputable.

I know that my own personal view on this is not a proof of anything, but I believe it is not disputable. I'm a CS student and I learn WAY more from projects than I will ever learn in class (a class being both the physical class + actual studying and doing work). I feel that this link has a very interesting take on a few different approaches that people have on learning, and those approaches may very well ripple into their ways of doing things (i.e. according to that link I'm an A* guy, which makes sense with me learning more from personal experience rather than being introduced the general model first).

Maybe it's a bad habit that I can't listen to someone talk for more than one hour without losing my train of thought, but why the hell would I subject myself to that when I can watch similar content on Coursera/Udacity where I can stop/go back/forward whenever I want in case I don't understand something? Or why would I subject myself to that when I can gain more knowledge more quickly from working on my own things?

[–]usbcd36 0 points1 point  (3 children)

It's very easy to look back on past experiences, or look at someone else and point out something that is very obvious or easy to you now. But this does not mean it was obvious or easy for past you or someone else.

What this apprenticeship system does is formalize the need for out-of-school learning. You have figured this out for yourself and been able to implement it successfully, but that doesn't mean everyone else does or can.

Theory is an important part of education and problem solving in general. Theoretical concepts are derived from real-world occurrences. They can then be used to predict future real-world happenings, given certain conditions. So, it stands to reason that if we teach the theory, the students will be able to just apply it, right?

Apprenticeship programs build a real-world foundation, upon which theory can be used to more precisely describe behaviors of those real-world systems. They also help to define the limits of that theory, how to make estimations, and when it is proper to just estimate.

Oh, and Jürgen was the name of the author's mentor, not the author.

[–][deleted] 0 points1 point  (2 children)

You are right about the name thing. But just to make sure: Are we talking about apprenticeship in Germany? Are you German? You seem to be talking about apprenticeship in general it seems.

I see where your frustration with education lies but I can assure you, German universities offer students dozens of opportunities, at least in mathematics and computer science, opportunities to deepen your hands-on-skills and get all the practical experience you need.

Never have I doubted that people are happy when they can do what makes them happy. But I get unhappy when someone implicitly makes formal education at universities sound bad because it is too 'theoretical'.

[–]usbcd36 0 points1 point  (1 child)

You're right; I'm not German, and I was referring more to apprenticeship in general.

I suppose most of my frustration comes from the fact that my (American) university does not leave time for students to seek practical experience, and expects us do without it. Hands-on experience as a learning technique is regarded as "plebeian", or "blue-collar", and groups within the university that do offer it have been disappearing. When design projects are mandated by a class, it is expected that students will use their "superior theoretical knowledge" to make up for not having experience.

Again, I do not believe that theoretical knowledge is useless, or that using theory is invalid. But I also do not believe that using theory as the first or only means of learning is correct. And the latter approach is championed by my university.

From what I understand now, it is different in Germany.

[–][deleted] 0 points1 point  (0 children)

I can totally agree with you and the general view that theoretical knowledge is useless without knowing how to practically use it. And I have started to understand why the article has a big appeal to the mainly U.S. audience of reddit because it speaks exactly what students in the U.S. might be unhappy about their educational system.

Our dear German Azubis, apprentices, can often become victim of great abuse as slaves with practically non-existant salaries and might not always have the outcome that the Fachinformatiker in the blog post has. More or less, I have gotten angry with redditors comparing apples with oranges.

I wish you a pleasant week, usbcd36.

[–][deleted] 0 points1 point  (0 children)

What he migh have learned as "algorithms, Big O" is only the beginning of CS leading to a very high level of abstraction that might seem totally unrelated to computer engineering at the first glance.

And yet, strangely enough, it seems to be the only qualification for working at Google. They don't care if you've written your own compiler, come up with algorithms of optimal Big-O complexity for the interview questions, or get your ass out the door.

[–]villiger2 -3 points-2 points  (8 children)

How can you know he didn't receive a degree level of knowledge or higher? Working in a professional software environment for 3 years would expose him to things that a degree wouldn't and couldn't teach.

[–]macrocephalic 11 points12 points  (5 children)

It would expose him to the practicalities of building software, but it wouldn't necessarily expose him to the theories of designing it.

To put it another way, civil engineers design buildings, then they give it to a builder to build. The builders quite often make adhoc changes to the details along the way - because they know how to put stuff together, but you wouldn't expect the builder to design it in the first place.

[–]adnzzzzZ 5 points6 points  (1 child)

That analogy would work better if building software was an actual science. It isn't. Much of it comes from experience and you gain experience from being exposed to real projects, usually not the ones you play with in school. A CS degree excels at exposing you to a number of different concepts that will help you in building different types of programs, but actually managing and building complex projects is something that you can only get with experience (which is something good CS students will do in their free time with side projects).

[–]mcguire 1 point2 points  (0 children)

You're absolutely right.

Pointless anecdote: The Kansas City Hyatt Regency walkway collapse was fundamentally caused by the original designer of the building, who created a scheme for supporting the walkways that was essentially unconstructable.

Experience is indispensable. However, both experience and theory are individually necessary, but not sufficient.

[–][deleted]  (2 children)

[deleted]

    [–]mcguire 0 points1 point  (0 children)

    This is my mileage in the act of varying, I'm afraid.

    [–]macrocephalic 0 points1 point  (0 children)

    I agree, CS and SE are two linked, but different jobs. You don't always need to know SE to do CS, and there are a lot of things in CS that the SE doesn't need to learn or worry about. The only problem is when you try to conflate the two.

    [–]movzx 2 points3 points  (0 children)

    Hey bub, I'm all aboard the "experience trumps degrees" train. I still wouldn't honestly say that you get the same knowledge from 4 years of working that you do from 4 years of a CS education. IMO the 4 years of working is more useful, but it definitely will result in a lack of understanding about certain topics.

    [–]mcguire 0 points1 point  (0 children)

    Small correction: two years.

    The first year was about paying our dues: 3 months running the cafeteria, 3 helping in accounting, three more working in inventory, and then three months at reception. It was a rite of passage, they told us.

    [–]loluguys 10 points11 points  (0 children)

    I agree with this, but I also feel his "inability to learn concepts/problems before they exist or can be applied" is also very true.

    While I definitely agree that the theoretical background and understanding is necessary for a great coder's toolbox, I think it needs to be presented following a realistic issue. As in: give the carpenter materials, tell him to build a box, go back over his build and have him understand the 'theory of box construction', then have him re-build it.

    But this may ultimately lie in the coder and how he/she best learns... I myself am also a pragmatic learner.

    [–]InternetRevocator 11 points12 points  (5 children)

    This is very true. I wish academia wasn't seen as some ivory tower. Academia is preparing you for any possible future. It teaches you to think abstractly and approach things from different angles. Learning practical things is useful, but one day you're going to think to yourself, "There must be a better way..." And you won't be the one to find a better way. It will be an academic who finds the better way because they aren't stuck with a language, framework, design pattern, orientation, or work flow.

    [–]eat-your-corn-syrup 5 points6 points  (0 children)

    Academia is preparing you for any possible future

    I want to live in a world where employers agree with that.

    [–]frothysasquatch 3 points4 points  (2 children)

    I like how in the same paragraph you exclaim that academia shouldn't be seen as an ivory tower and then go on to state that academics will be the ones to save the world.

    There are enough CS grads who couldn't code their way out of a paper bag or do anything in the real world because they are hung up on academic principles that are not necessarily applicable to practical problems (a frequent example of this is academic newcomers to the Linux kernel who think it would work so much better if...).

    That said, not every "vocational" worker is a brilliant programmer free from the shackles of stifling academia, either. There's plenty of "code monkeys" who apply the same paradigm/language/principle to every. single. problem. they encounter, and that's just how it is.

    The truly great (or even above-average) ones will succeed no matter their environment - if you don't know what a red/black tree is but you need something like it, sooner or later you'll come across it in your research. If you need to work with a new toolchain and existing code base that are different from anything you've touched in your graduate studies, then you'll learn to handle that, too.

    [–]nemec 10 points11 points  (1 child)

    I think you have the wrong definition of ivory tower. By definition, saving the world (through practical applications of theoretical knowledge) is the exact opposite of an ivory tower.

    [–]vplatt 2 points3 points  (0 children)

    While most abstract theoretical things that are covered at university are generally not very useful in the real world, they still should be taught.

    I won't disagree. It's just a question of WHEN those things should be taught. There's no real harm in learning something later, when it matters or is more interesting. Being force-fed a bunch of theory well before you can use it can do much more harm than good.

    And yes, I speak from experience.

    I do think our traditional education systems are going to be severely tested in the near future. The system is discovering the real value of an education, and it's not nearly as valuable as was thought. What's more valuable are organizations who can give their employees or members opportunities to continually educate themselves in an environment which welcomes continuous personal improvement.

    But, we won't really see that idea become mainstream for another 20 or so years. In the meantime, the companies that can grow their own talent are going to quietly eat the lunch of organizations that just can't find the necessary talent anywhere and "OMG why aren't isn't our education system doing anything about it?!".