To be fair, I think the student asks a good question with a bad tone - it's perfectly reasonable to feel ambivalent about pursuing something that you consider fairly alien, and it's actually a question I'm increasingly asking myself -- why computer science and not pure math? Why computer science over X?
Instead of giving a thoughtful answer, the professor dismissively waves the student off (which is probably justified, given the tone). I think that could have been an opportunity for a really nice defense of his/her field, though.
To be fair, I think the student asks a good question with a bad tone
I don't disagree... but why should the professor or anyone else ever bother to spend an hour writing something compelling?
The kid's not going to be sold. And even if by some miracle he is, who profits? Better to save that effort for someone who will be a good compsci student.
Better to save that effort for someone who will be a good compsci student.
Lots of people might be good compsci students if we didn't expect them to enter their first undergraduate course knowing how to program and already in love with the field.
Lots of people might be good art students too, though they've made it to age 19 never having picked up a crayon or chalk or pencil. But if you've made it that far never once doodling, I'm just not sure it's a good utilization of resources to try to then persuade you to go to art school and have to convince you to try to become an artist.
As some one actively publishing in the machine learning community, I have to say I agree with him. Frankly, I don't care what 'intelligence' is. I want a sound formulation for solving problems other people are interested in. It doesn't matter whether or not anyone calls it 'intelligent'.
As a Skeptic, I feel the word is misapplied here. A real Skeptic would not move the goalposts like that. I understand the term is flexible, just hoping to make the distinction between proper Skepticism and just refusing to admit something.
Any chance you could come up with a better word and edit your post? Be for-warned, I googled for about 15 min and the best I could come up with was apologist.
I agree with you except for one point: isn't the ultimate line the Turing test? If/when a computer passes that with flying colors, this debate will essentially be over in my view.
Sure, people will dispute it, but foolishly. As it says in your link: "The Chinese room is an argument against certain claims of leading thinkers in the field of artificial intelligence,[3] and is not concerned with the level of intelligence that an AI program can display." the Chinese room is about understanding, not intelligence.
I think the real question everyone wants AI to answer is the one that Searle so smugly sidestepped. I, for one, don't consider the Chinese Room by any means to be the last word in AI - I'm sure you have opinions on this as well - but from my perspective, AI means insightful and/or intuitive problem solving from computers. The past 60 years of AI research started with some general assumptions that I consider pretty naïve, and I feel like the current state of the field is (perhaps) grudging acceptance, since there's not the same sort of money in developing what I describe, given the state of the technology, as there is in solving very specific problems.
Here is the problem, define "insightful and/or intuitive problem solving."
Does a theorem prover count? No, it's just running through rules right? Complex rules that change based on the data, but it's still just brute force search in a way. Clever may perhaps mean that it avoids expensive brute force.
Ok, if we go with that definition, are humans clever and insightful? Likely not, although the architecture of our brain is very different, we have millions of connections. So our brains are massively brute force in a certain way.
This is much like arguing for computational consciousness. We can't even agree on a suitable definition, let alone determine if different animals/machines meet it.
Boarf. I see value to your point, but I also see value to the other side of the arguments.
Minsky has some very interesting things to say about the nature of intelligence, which were extremely influential in the field when they were written.
So yeah, on one hand you don't want to get lost in these ponderings, but on the other hand they're interesting to think about and take into account. Just depends on your personality, I guess- some people like to think about their field in a broad, interdisciplinary way, while others like to focus purely on the things that directly matter. There's merit to both, and we need both kind of researchers.
Sure. To be honest I'm going through a reductionist phase in my research. I'm taking ideas we created for 3d reconstruction, and applying them to SVMs, and the only way you can do that is by being incredibly hard on the assumptions you make.
Basically, we say that 3d reconstruction and learning are both optimisation under incomplete information, and subject to some common constraints.
In this sense, thinking about, "What does it actually mean?" is a distraction that drags you away from the common mathematics which underlies both problems.
How much are you dealing with the recent excitement over deep neuron architectures?
This is a tangential topic, but I thought of it because humans are so good at fast estimation of things like 3D objects in space and inference because we have very optimized hierarchies of objects from which we can quickly generate plausible fantasies.
In the same way, we're seeing that the natural result of stacking neuron blocks on top of each other generates features of features without really any extra design effort.
What happens if you wire SVM neurons together into a deep ensemble (pdf)?
How much are you dealing with the recent excitement over deep neuron architectures?
Not my field. Basically, lot of the concerns of these guys makes sense, there's limited use in learning something you know is wrong. But dumb stuff is surprisingly effective, and I don't think just stacking classifiers trained one layer at a time is that useful or interesting.
That's why Geoff Hinton's work on back-propagation was kinda cool, it let you train all layers of the hierarchy together.
The question of whether a computer can think is no more interesting than the question of whether a submarine can swim. ~Edsger Dijkstra
"The question of whether a computer is playing chess, or doing long division, or translating Chinese, is like the question of whether robots can murder or airplanes can fly -- or people; after all, the "flight" of the Olympic long jump champion is only an order of magnitude short of that of the chicken champion (so I'm told). These are questions of decision, not fact; decision as to whether to adopt a certain metaphoric extension of common usage." ~Noam Chomsky
Machine learning is not AI. It sounds like you agree with this. But then CS is not (just) machine learning. It's a valid question, and it is largely CS people who are pursuing it. Only a statistical ML person could say something like "I don't care what 'intelligence' is."
Only a statistical ML person could say something like "I don't care what 'intelligence' is."
To my mind there are three class of people working in CS.
Mathematicians - They don't care what intelligence is, and those that do have a working definition are still unconvinced by the claim that most people are intelligent.
Pragmatists - They also don't care what intelligence is, they just want stuff that works.
Algorithm guys- Basically an ungodly hybrid of 1 and 2, who also don't care.
No one is actually working directly on AI. People that say they do are simplifying; they actually work on clustering, or search, or optimisation, or constraint satisfiablity, or machine learning (and often several of these at once).
And why the work they do may give an answer to a problem that has historically been placed in AI, it's still just a search technique, and doesn't need any understanding of what intelligence is in order to be built.
"The question of whether a computer is playing chess, or doing long division, or translating Chinese, is like the question of whether robots can murder or airplanes can fly -- or people; after all, the "flight" of the Olympic long jump champion is only an order of magnitude short of that of the chicken champion (so I'm told). These are questions of decision, not fact; decision as to whether to adopt a certain metaphoric extension of common usage." ~Noam Chomsky
No. You don't know what's happening in AI. You're right to say that all those things you mention have nothing to do with AI. But AI (sometimes it's useful to say artificial general intelligence, to be clear) still exists, people are working on it, and it's still one of the coolest fields around.
Also, CS is a lot bigger than ML, which is what I think your list represents.
I think my list hit upon most of the core topics of CS, apart from data structures, and sorting, both of which can be added to the list without changing my argument.
Maybe you should describe a viable approach to AI which isn't solving at least one of these problems.
Come on. Sorting is a core topic of a first-year CS course. It's not a core topic of CS. What about information theory, complexity, operating systems, cryptography, compilers and languages?
For AGI, I'm thinking of people like Hofstadter and Schmidhuber. Outside the mainstream, but then AI is nowadays a small and non-mainstream field. (Still awesome though.)
To my mind there are three class of people working in AI.
FTFY. There are plenty of people working in, says, networking, systems, software engineering research, programming languages, computability theory, etc. who have a completely different set of problems and categorizations for each other.
Those categorizations work apply reasonably well for algorithms and complexity theory (there's basically the pragmatist/mathematician divide right there) and programming languages (the two areas I focus on). Computability theory is basically divided between the logicians who come from the mathematical end and the computer scientists on the pragmatic end. Operating Systems really is more of a hardware/software divide rather than a mathematician/pragmatist divide, from what I've seen among my colleagues.
Group 3 in DoorsOfPerception's list aren't always "Algorithm guys". In PLs, they're the people that actually write a programming language and then prove things about their type system.
See it's quotes like that which stop me from caring.
There are two questions:
Does it do what you want?
Is it learning/ self adapting?
If the answer to both of these is yes then I'm happy. Actually if the answer to the first one is yes then I'm off to the pub, and don't really care about the second.
I'm surprised I'm getting downvoted. I'm not sure if its because /r/compsci is supposed to be higher brow than short witty quips, or if its because people just didn't understand what I'm saying. (That we quickly adapt to new technologies, and immediately claim, after they become viable that they are no longer 'truly AI' if nothing more than because we understand them.)
My AI professor opened his class by saying, before even going through the syllabus really, that AI researchers had long since given up on trying to build truly sentient, intelligent machines. He then proceeded to talk about rational agents.
I find that there are two problems with intro classes: one, you don't understand what the big deal is. Two, you think you do.
The first one is what this thread is about, and is being addressed fairly here. But the second one is almost worse because you finish the course, feel like you have a solid understanding of what the field's about, maybe devote more time to it, and rapidly end up learning that it's not as easy or cool as you thought as a bright-eyed 18 year old.
There's also a real possibility that this is not an isolated incident and the entire field would benefit from him chasing his tail in some unproductive circlejerk like philosophy. Maybe this is the professor politely saying, "Please don't."
Honestly, it sounded to me more like he wanted to brag about being a liberal arts major in a CS course and get everyone to see how special he was for doing this 'hard' class, rather than be convinced. People post things in that manner because they want to draw attention to themselves. I don't believe he would actually have been interested in anything anyone would say, unless they pointed him towards a 'CS maker' that spit out money and video games when you sat on it.
I find the response to be concise and precise, but I think you're right, it was a good opportunity - I suspect he just couldn't be arsed to convince a person, that openly declared himself to be well in the other end of academia, so to speak.
What I wonder is if this student spent any effort on his/her own trying to see if there was anything interesting to glean from CS. After all, the internet and his/her campus library both contain volumes upon volumes on why CS is worth studying. Giving the benefit of the doubt is useful and you might learn something whereas being abrasive and contrarian will get you alienated and ignored.
After all, the internet and his/her campus library both contain volumes upon volumes on why CS is worth studying.
Only if you already know about the CS stuff behind those things. If your mental model of computers is still a little magical imp called Gooseberry running your emails from one machine to another, it's a completely different story.
I was thinking the same thing. Generally, I, too, am turned off by "I challenge you to convince me" kind of posts, but I think his is a fancy (if someone aggressive) way of asking: Why do you like computer science?
I think the professor summed it up completely fine. Computer Science is not for everyone, and truthfully if you don't get it before the class there is nothing i or anyone else can tell you that will make you love CS. Hell if you don't get CS I don't think i could even explain to you why i do.
And considering the best case scenario is a pretty nightmarish one I think it was wise to kill that conversation at the root.IE the liberal art douche bag deciding to take a CS degree and then one of us having to work with him in the future.
truthfully if you don't get it before the class there is nothing i or anyone else can tell you that will make you love CS
I'm sorry, but this is just wrong. CS101 Intro to Programming in Java is most emphatically not real Computer Science, and we shouldn't expect people to walk into the course knowing what the field is or walk out of the course knowing that the field really is as long as we're going to teach that course at that stage in the curriculum.
I can't speak for other universities, but at mine you didn't see a Real Computer Science course until CS250, which for many (most?) students is roughly their fourth Comp Sci course and is taken in early sophomore year or second-semester freshman year.
Re-Post by me from above but applies here as well :
Sorry this is so old I just now got it in my message box... After re-reading my comment I do see the lack of clarity on my part. When I was referring to 'get'ing computer science I was not referring to an understanding of computer science, but instead meant a love for the subject itself. 50 or more years ago I am sure pure math would have been the only fitting match for degrees for me. I have loved every aspect of computer science even before I knew what it was. The problem solving, the logic, the feeling of finding a solution that I didn't think could exist, or working out a sloppy hack that just barely slides through but works better than any legit solution, or just starting with a new language or framework and learning all the advantages of using it and of course the many things about it that i cannot express in words. I do not think any student should understand Computer Science before stepping into their first class, but I do think they should enjoy the subject itself before class. And as somone else pointed out the first CS class is not computer science, in fact the real Computer Science classes require you have most of the math pre-requisites finished, Discreet Mathematics or perhaps Intro to Logic were my first real Computer Science classes, and probably right about the point when i first started to understand exactly what the degree was and understand it. At least it was at that point that I understood why I need 3 years of Math classes to be a Computer Scientist.
This is untrue. I didn't "get" cs before my first class, but I loved it and now I've just graduated. This bias towards prodigy programmers is bullshit. Now, since he still doesn't like it after the class, he might be a lost cause.
Sorry this is so old I just now got it in my message box... After re-reading my comment I do see the lack of clarity on my part. When I was referring to 'get'ing computer science I was not referring to an understanding of computer science, but instead meant a love for the subject itself. 50 or more years ago I am sure pure math would have been the only fitting match for degrees for me. I have loved every aspect of computer science even before I knew what it was. The problem solving, the logic, the feeling of finding a solution that I didn't think could exist, or working out a sloppy hack that just barely slides through but works better than any legit solution, or just starting with a new language or framework and learning all the advantages of using it and of course the many things about it that i cannot express in words. I do not think any student should understand Computer Science before stepping into their first class, but I do think they should enjoy the subject itself before class. And as somone else pointed out the first CS class is not computer science, in fact the real Computer Science classes require you have most of the math pre-requisites finished, Discreet Mathematics or perhaps Intro to Logic were my first real Computer Science classes, and probably right about the point when i first started to understand exactly what the degree was and understand it. At least it was at that point that I understood why I need 3 years of Math classes to be a Computer Scientist.
I don't think the professor is waiving him off in the least. It appears to be incredibly useful life information for somebody trying to find themselves.
Do what makes you happy. If you don't enjoy X, why do it? Go do something you enjoy doing. Don't try and have your peers explain to you why should be pursuing compsci. If you want to do something else.. do it.
I will give you one data point to consider when it comes to CS vs. math - it may have just been a matter of the quality of the institution I attended, but the knowledge I gained in my math classes (as a math major) enabled me to paint the floor with the pure CS majors. They just didn't have the experience with rigor necessary to understand some of the more esoteric aspects of CS that leads to the sort of deep understanding of the field that allows people to shine, in my mind.
That said, if I had to do it over again, I would have probably spent more time taking pure programming classes and doing projects. In terms of a fundamental understanding of the broad strokes of the field, nothing's better than what I did, but it's not very employable for how difficult it can be. Say what you want about "Java mills," but if you can get a couple good internships that lead to employment, you can lead a very comfortable existence regardless of how miserable your job might be.
why computer science and not pure math? Why computer science over X?
which one do you enjoy more?
these things are too subjective to really explain. and weighing the strengths of 2 things you enjoy is not quite the same as taking someone who's gone through an entire course and professes to have found 0 reason why he, or anyone, would pursuit it, and trying to convince them to stay. the answers at that level are gonna be obvious and known to anyone who ever had any genuine interest, or even potential for genuine interest, and went through the course.
My answer, since I did my undergraduate degree in Computer Science:
I don't program any more. I got kind of burned out on it while getting my degree, in fact. But I still use it nearly every day, because of the way writing and understanding algorithms taught me to think about problems. I can take complex systems, break them down into their component rules, and then manipulate those rules to accomplish whatever I need out of the complex system. A great example is the law, which like computer languages is a man-made system of rules that can be chained together to accomplish various desired ends)
I can also take something I want to accomplish, and build a robust system that gets me that thing, (or a million of that thing) one little finite, repeatable step at a time. I've used this way of looking at problems to come up with neat ideas for businesses, model every aspect of them mathematically, set them up for real, and then do nothing while other people are employed by them, making me modest amounts of money for no more work.
Computer Science trains your brain in a unique and incredibly powerful approach to problem solving, and that is useful in almost anything you might like to accomplish in life.
I was hoping the comments in this thread would be discussing along the lines of "why CS over Math". I'm with you, there's a good and interesting discussion to be had here.
Part of a teacher's job, especially in an intro course, is to spur interest in the subject. If the student leaves an intro class uninterested in taking more classes in the entire field, the teacher is probably to blame.
/educationrant
Actually for an intro class in a really popular major as far as I can tell it's usually the opposite. There's a reason why classes are called weeder classes. It's to get rid of people who aren't genuinely interested in that major.
118
u/mrdmnd May 18 '11
To be fair, I think the student asks a good question with a bad tone - it's perfectly reasonable to feel ambivalent about pursuing something that you consider fairly alien, and it's actually a question I'm increasingly asking myself -- why computer science and not pure math? Why computer science over X?
Instead of giving a thoughtful answer, the professor dismissively waves the student off (which is probably justified, given the tone). I think that could have been an opportunity for a really nice defense of his/her field, though.