Advertisement

School sucks

Started by September 11, 2010 12:03 AM
40 comments, last by szecs 14 years, 2 months ago
Quote: Original post by Concentrate
Can you define education for me?


... history, philosophy, anthropology, and all that other useless crap.

Here are a few articles for you to consider.

This gets at how we got where we are.

The Opening of the Academic Mind


This gets at the practical value of "all that other useless crap".

Multicultural Critical Theory. At Business School?

... to learn how to approach problems from many perspectives and to combine various approaches to find innovative solutions.

This gets at why it's important.

Rethinking Education as the Practice of Freedom: Paulo Freire and the Promise of Critical Pedagogy

... Freire believed that all education in the broadest sense was part of a project of freedom, and eminently political because it offered students the conditions for self-reflection, a self-managed life and particular notions of critical agency.
"I thought what I'd do was, I'd pretend I was one of those deaf-mutes." - the Laughing Man
I'll second Antheus' "solve this" mentality.
Try out anything in TopCoder's algorithm competition arena.
ACM hosted programming competitions at my school. They have an online database of their problems too(I can't seem to access it or i'd link it).

There are a LOT of trivial sounding problems out there that you can solve in very slow ways. I remember when I first started those competitions, getting really confused by some of them because I didn't know about "dynamic programming" memorization schemes for processing the questions. So, the program I wrote would give the right answers, but way too slow.


Quote:
tell me if they ever used these stuff like FA explicitly? And I don't mean, oh these game states like play,pause, are similar to state machines. I mean use the actual Finite Automoton, and set theory and things alike somehow? I am betting that most don't.

Ever tried to make a parser for a scripting language or configuration file? Only the most trivial cases can be covered unless you know enough about FA to write a proper grammer and parser. Sure, there are tools to help with all that, but you need to know the theory to use the tools. Without those theories, you are limited to only the most simplistic formats. Even in the case of simplistic formats, many people still screw them up because they don't parse strings, capitalization or white space properly. Had they just went and used parser creation tools, they could have had a loader that handled all those cases seamlessly.

Set theory stuff comes up all the time in subtle ways. Collision stuff would run into it alot. You have X collision flags, and Y objects. Can you partition off those Y objects with those X flags into Z unique sets? Or in the more programmery sense, I have 32bit flags, and 42 object types, how can I partition them with those 32 flags so that I can still figure out what I hit IFF it matters that I hit something specific. How can I setup those flags so I can find all monsters who aren't flying? Surfaces that are walkable, but not made of metal? Players without no-draw or ignore, who are allowed to collide with ice damage, and are not on my team? Sure, that all only uses a small subset of set theory as applied to 32 Boolean value flag sets, but it is still set theory. We've actually asked boolean flag questions taken directly from our collision code on our programming tests at work. A large percentage of the applicants failed that question.
Advertisement
I see that this stuff is implied implicitly, but the examples you guys gave
are intuitive. Meaning that even if I didn't know about state machines and set theory I would be able to understand and probably solve the problem. I guess my problem is all the rigorous proofs that we are doing. It seems like I'm a math major rather than CSE major.
Edge cases will show your design flaws in your code!
Visit my site
Visit my FaceBook
Visit my github
Quote: Original post by Concentrate
I see that this stuff is implied implicitly, but the examples you guys gave
are intuitive. Meaning that even if I didn't know about state machines and set theory I would be able to understand and probably solve the problem. I guess my problem is all the rigorous proofs that we are doing. It seems like I'm a math major rather than CSE major.


and if your dealing with multiple threads? what then? your just going step through it with the debugger and hack away at it until you think its working? That just doesn't cut it. If you want £200,000 salaries from top banking sectors you will be expected to prove these things, not guess and hand it over to QA.

"It worked for me" doesn't get you fired in a web development agency but it does in other places.
Quote: Original post by Concentrate
I see that this stuff is implied implicitly, but the examples you guys gave
are intuitive. Meaning that even if I didn't know about state machines and set theory I would be able to understand and probably solve the problem.

I'll say it again: "We've actually asked boolean flag questions taken directly from our collision code on our programming tests at work. A large percentage of the applicants failed that question."
These tests aren't about "can you do this", but "can you do this when it counts". Trial-and-error problem solving, and "probably can do this" don't count when a deadline is going to show up in 6 hours.

Quote: Original post by Concentrate
I guess my problem is all the rigorous proofs that we are doing. It seems like I'm a math major rather than CSE major.

There's a lot of math involved in programming. There's also a lot of proofs. Therac-25 is one of the most taught CS cases about why you have to prove your software does what it should.
There's also stuff like Test Driven Design to worry about. Where you need to setup continuous integration servers and unit tests for all the major code systems.

In the games industry, it is usually just proving during big bug fixes, that you actually fixed the bugs. This is especially important around the deadline disk burns, because you only have so much time to test your fixes, you can't second guess them.
Yup, Learn in your free time too.
I graduated as a M.Sc. Mechanical Engineer.
We didn't have any "Auto-CAD", or "ProEngineer", or "SolidWorks" classes, or any other design program classes. None at all. No Office program classes.

And still, an engineer, especially in an entry level position will use those stuff all the time. Or use ONLY those stuff, and nothing of the learnt stuff.

Does the university suck?

No, you suck! If you refuse to learn those stuff for your own.

I don't know if that's any similar to the IT industry, or if it has anything to do with the topic.

Advertisement
Quote: Original post by szecs
Does the university suck?
No, you suck! If you refuse to learn those stuff for your own.


I don't know what to say to that lol. That was uncalled for. And I never said I refused to learn he stuff on my own. I am just complaining on the material that they are teaching, and examining on.
Edge cases will show your design flaws in your code!
Visit my site
Visit my FaceBook
Visit my github
It doesn't really matter what the material is, all that most employers care about is that you were able to maintain the requirements of such an institution for the acceptible number of years.

Think of putting up with the classes you don't like as a test - to see if you're fit to work in a job you don't like ;) The bonus part is that those 'useless' classes do end up expanding the number of angles that you can think about problems from.
Quote: Original post by Concentrate
I am just complaining on the material that they are teaching, and examining on.

What is your background? Do you have a basis to compare to decide if the material is appropriate?


In your very first post you managed to discredit your entire argument.

You have complained about Automata. But you didn't realize this is the very basis of almost all gameplay code. It is critical to most business programs. By dismissing it as useless you demonstrated that you don't know what is important, nor why it is important.

You also complained about how the school helps teach you how to study on your own, but you find it a useless skill. Nearly everyone disagreed citing it as a critical skill. You complained that your classes were useless so far, without justifying why other than it didn't help you become a "prominent programmer".



Have you ever been a "prominent programmer"? I assume no. Since you are not one, how do you know what is important to achieve this success? Have you ever asked a "prominent programmer" if they believed education was important? Or if you have, did you get details about what parts of education were irrelevant to them?


For now, if you choose to continue your education, assume that there is a good reason the material is in the curriculum. The people who design University programs are generally correct in their content choices.
Quote: Original post by frob
Quote: Original post by Concentrate
I am just complaining on the material that they are teaching, and examining on.

What is your background? Do you have a basis to compare to decide if the material is appropriate?


In your very first post you managed to discredit your entire argument.

You have complained about Automata. But you didn't realize this is the very basis of almost all gameplay code. It is critical to most business programs. By dismissing it as useless you demonstrated that you don't know what is important, nor why it is important.

You also complained about how the school helps teach you how to study on your own, but you find it a useless skill. Nearly everyone disagreed citing it as a critical skill. You complained that your classes were useless so far, without justifying why other than it didn't help you become a "prominent programmer".



Have you ever been a "prominent programmer"? Have you ever asked them if they believed education was important?


For now, if you choose to continue your education, assume that there is a good reason the material is in the curriculum.


You know, I didn't mean to say that having school teach you how to learn by yourself was a bad quality. It might of come out that way. Anyways thanks.
Edge cases will show your design flaws in your code!
Visit my site
Visit my FaceBook
Visit my github

This topic is closed to new replies.

Advertisement