So when I was in college, I studied Computer Engineering (much like Computer Science but with more hardware courses), and had some of the same thoughts as you.
Now that I have been working in industry for a while, I am very happy that I took those math courses. Little did I know that I would need implement differential equations and apply discrete math to get the software that I build EVERY DAY to work. (For those interested I work doing software for autonomous flight computers for planes. Guess what kind of math the autopilot uses?)
Things like Linear Algebra I don't use every day, but sometimes they come in handy. Things like statistics (which you haven't even taken yet I'm guessing) are supremely useful in computer science. Especially in robotics, as a poster above said, for things like mapping and decision making. Additionally, I think it is very valuable for new CS majors to learn low level non-object oriented stuff like Assembly and C (not C++, but you can learn that too if you want). I HATED assembly in college, and didn't use C very much at all, and now I think 99% of my work is in C and I haven't written an object oriented project in years. You never know what you will need to use in real life.
Honestly the stuff that I found most interesting in college was the stuff that WASN'T related to my major. It was nice to be required to read a fucking literary work sometimes so that I could force myself to take a break from staring at a monitor. Maybe you don't understand that now, but I'm guessing my your senior year you will want to be taking a philosophy class just to have a break from all the other work. (Plus I found philosophy very easy if you simply pretend all your arguments are like code and must always be exactly logical. Doubly easy if you did debate or something similar in high school).
Pretty much as said before, you need to man up and stop complaining. There is no way you can know where you will be working or what you will be working on in 10 years and you will probably be happy to know some of that stuff or at least have a good idea what is going on so you can re-learn it quickly some day. You will thank yourself later.
Call me mean or whatever, but I'm going to "counter-frustration" the OP's frustration.
You live on/near a univ. campus and you're complaining? If I could literally chill with my friends or anyone else all day, life would be lovely. If I could make friends by literally being around people and without even trying, rather than having to go through hell and being mr. cassanova to make decent friends with people since I'm such an inconvenient option compared to their other friends, life would be fucking great. Instead, I had to stay at home and go to a local univ. (which due to my efforts I attend for practically free) or else my family would prolly be out of the house along with other issues that I had to be at the helm and sort out. At least I disproved that karma, like many things, is just a myth, because I've gotten nothing good in return. My apologies to any Hindus. Seriously, stop the complaining. You have a great life just by that convenience, nevermind many others. Really great. And the fact that you aren't complaining to one of your room/suitemates for a few minutes worries me. Do you not trust anyone you actually know?
Diff. eqs. was easy as hell. Engineers' general math courses is pretty basic lol. It's the stuff you learn in engineering courses that can get pretty hardcore, like in some of my EE courses.
I'm a computer engineering major. At my university, it's the entire CS major + physics series + a bunch of EE courses. It's fucking insane, and it's no surprise that < 10 people graduate in it a year, many taking 5 years (I'm on course for 4). So not sure why you're complaining that you learn a broad spectrum of things in CS. Btw, CS is a science. As you can imagine, there's tons of different fields of research and theory associated with it. It isn't simply programming lol.
Oh, I didn't deserve amnesty by any means. I'm not delusional enough to believe that my professors owe me anything more than what they put on their syllabus, the grade and the education I get are entirely my responsibility to handle. I got the grade I deserved on the test because I showed up late; I'm just bitter that one mistake is costing me such a huge portion of my grade, and I wish the consequences wouldn't have been so severe. It just would have been nice, you know?
On February 16 2012 05:42 Jibba wrote: This sounds dangerously close to someone who's going to start skipping lectures because they can "learn it on their own with the textbook." Be warned that 9 times out of 10, that doesn't happen, and each missed lecture is exponentially harder to catch up on. I think many of us have been there, and it usually doesn't end well.
Ironically you just described my Freshman year.
Fall Semester I had Micro-Economics, Chemistry, Calculus 1.
Economics was actually the most rewarding class I've taken so far at this university, the professor wasn't the greatest teacher, but I was very engaged in the course material, and I was going the extra mile to learn the stuff because it was just fun to learn about. Went to class most of the time, got an A, ended the course having read the entirety of the textbook, though only a third of it was actually covered by the course.
Chemistry just sucked for me. For whatever reason I just don't *get* most science courses. I understand that the vast majority are as simple as "Memorize this equation, and use it to solve this style of problem", I just conceptually have trouble for whatever reason. Still, Chem was interesting enough and the prof had a kickass organization of the class/grading method that made it feel rewarding to do well, so I got an A there too.
Calc 1 I stopped attending the lectures the second week into the course, because I realized how awesome the concepts of differentiation and integration were and was fascinated by the fact that they verified/were verified by random equations I had been told to memorize when I first learned Algebra, so I ended up teaching myself the entire semester's worth of material in about 3 weeks. Actually got a 100% in this one.
In total, the Fall semester of my freshman year had one course that was relevant to my major in any substantive way (Calc I), and I only attended on course consistently (Chem).
Spring semester I had Intro. to Object Oriented Programming, Calculus 2, Intro. to Logic, and Physics 1.
Intro. to Object Oriented Programming was slightly interesting. I realized pretty early on that A) My OOP professor wasn't a very good lecturer, and B) the pace of the course was mind-numbingly slow, so I taught myself how to use the Object Oriented paradigm with Java, the only language taught/required at my college and didn't end up going to the class except on test/quiz days. I ended up with the highest grade in the class, and the prof actually ended up giving me honors credit for the class (and required me to do an honors project in a week).
Calc 2 started out easy enough, but once we got into methods of analyzing infinite series/Taylor series I stopped understanding what was going on, and never really caught myself back up. It was entirely due to my own laziness and unwillingness to work on the practice problems, and I still wish I would have applied myself more in that class because the subject matter is legitimately interesting to me. I did manage to attend every lecture though, which helped me pull of a C in that course.
Intro. to Logic I've been a bit of a philosophy buff since High School, and I used to do Lincoln-Douglas debate back in the day, so I was already fairly familiar with the topics presented in the class. My prof actually skipped class more times than I did, which made for some interesting tests. Still managed an A, mostly through teaching myself from the book again.
Physics 1 was horrible. The entire course was based purely on conceptual applications of equations that none of us had the math background to understand, and the prof refused to alter his teaching style or explain anything he was presenting. He also gave some damn hard tests. Despite attending less than half of the lectures, I managed to self-teach again and landed an A in the class.
So again, rarely attended class, still managed to do moderately well and learned most of the material.
So my entire Freshman year I reliably attended 3-4 of my 7 classes, and still pulled off a fairly solid GPA.
On February 16 2012 05:52 Apaquin wrote: Diff eq is easily the most widely used math in the world. I wouldn't knock it too hard. It seems like you got some crappy professors, did you ask around before signing up for the class?
My prof is actually pretty good, and the alternative to him was a professor that multiple older friends told me to avoid, as he is apparently very much racist towards whites. Can't confirm or deny it's true, but I felt it was probably better not to risk it.
On February 16 2012 06:04 stalife wrote: it does come in handy when you get to 3rd/4th yr level courses as you try to optimize your codes, you need to know how the computer works at a lower level..Also those math stuff comes in very handy in algorithms in upper year CS courses. It's impossible/stupid to just say "this code performs faster because X"... you need to have that seemingly-not-so-important broad knowledge to know why X is X. It's actually important.
I'm already working on code optimization to an extent. We're more or less covering the important concepts like how/why one algorithm or general solution might be faster than another in my Computer Architecture and Organization course, and I got the basics of circuit function in my Digital Logic course last semester. I can see the value in that kind of course immediately, because Digital logic is more or less the lowest level of programming/algorithm implementation.
The issue I'm having is with my Circuits Analysis course. I just can't see a use for being able to find the voltage through a specific point on a circuit when it, for the moment anyway, doesn't seem to have any hint of programming to it. I guess I should just assume it'll become useful in time, but for the time being that is really dissatisfying.
On February 16 2012 06:06 mmp wrote: Quit your whining, noobie. You're lucky that your degree requires this much math. Diff eq and linear algebra is such low-level shit, you better learn it if you want to do anything remotely important in the future. As mentioned above, you're (ideally) not learning a trade, but a rounded set of skills that will allow you to be successful in whichever direction may interest you in the future.
Don't get me wrong; I love math. Math is awesome and I am glad my degree requires this much math. I take issue with the kind of math I'm getting into. Linear Algebra is kickass; I like the class and I understand what's going on, the issue with that course is simply my being late to one midterm more or less guarnatees me a B or lower in the class, which is disheartening. I'll get over that though.
I'm taking a Discrete Mathematics course this semester as well, and I love the shit out of it. When I was in like first or second grade we were given a worksheet that had some interesting recursion problems on them, and I loved that to death. I literally went from grade to grade hoping that I'd end up seeing that kind of math again, because it was so much fun to do and work with, and I wanted to learn all about it; it just never came up again, sadly. And Discrete Math is really clearly applicable to programming in general, I can clearly see how the concepts we're learning about can be easily and effectively implemented in a program, and that is just awe inspiring to me. But we aren't going very in depth with any of the topics; we aren't even going to cover recursion or recurrance relations ever, which is heart rending to me.
So we've got this branch of math that is clearly and easily applicable to programming, which is more or less my major at the moment, and we're barely covering the basics! Then take something like Diff. Eq's, where I cannot for the life of me find an application in programming/problem solving, outside of maybe writing a program to solve/analyze Diff. Eq's. We're covering the shit out of Diff. Eq's, and we're going to cover a ton more before the end of the course. I'm frustrated because it seems like this type of math that isn't (as far as I can see; which admittedly isn't very far) applicable to programming and problem solving is being prioritized over a type of math that is very much applicable and in fact critical to programming and problem solving, for no reason more substantive than "It'll make you a well-rounded individual".
On February 16 2012 06:06 mmp wrote: Maybe you need to program some shaders, or a projection/transformation matrix, or whatever. Well study up your linear algebra because if you can't figure that shit out then you're not a capable programmer, no matter how much time you put into your methodology. Even code monkeys have to think occasionally.
To be completely honest, that would help a lot. If I'm learning something random because I need it for a program I'm working on, I will learn the shit out of it, and I literally will not give up until I succeed, because that feeling I get when I finally solve a programming problem that has been frustrating me for days/weeks is the absolute greatest feeling in the world.
The more immediately relevant to my main interest (programming) a topic is, the more likely I am to actually take an interest in it. I just can't see an application or relevance for Diff. Eq's in that area. What am I missing?
EDIT:
On February 16 2012 07:21 JudicatorHammurabi wrote: Call me mean or whatever, but I'm going to "counter-frustration" the OP's frustration.
You live on/near a univ. campus and you're complaining? If I could literally chill with my friends or anyone else all day, life would be lovely. If I could make friends by literally being around people and without even trying, rather than having to go through hell and being mr. cassanova to make decent friends with people since I'm such an inconvenient option compared to their other friends, life would be fucking great. Instead, I had to stay at home and go to a local univ. (which due to my efforts I attend for practically free) or else my family would prolly be out of the house along with other issues that I had to be at the helm and sort out. At least I disproved that karma, like many things, is just a myth, because I've gotten nothing good in return. My apologies to any Hindus.
Seriously, stop the complaining. You have a great life just by that convenience, nevermind many others. Really great. And the fact that you aren't complaining to one of your room/suitemates for a few minutes worries me. Do you not trust anyone you actually know?
No offense meant here, but you're making a few too many assumptions about me here. I'm actually living at home and commuting to my local university, because that was the least expensive option. My closest friends live 3 hours away, a drive my car can't even make anymore. I don't get to chill with my friends or anyone else all day; I'm more or less in the same situation as you are (From your description at least, but I don't want to get into some kind of pity fight)
My room/suitemates are my parents, and I've gotten to the point where talking to them is more of a hassle than it's worth. That's not to suggest that I'm spiteful or bitter or excessively rebelious against them or anything like that, I just don't like interacting with people that only know how to frame things in terms of my flaws. I feel like that's a pretty normal thing, right?
On February 16 2012 07:21 JudicatorHammurabi wrote: Btw, CS is a science. As you can imagine, there's tons of different fields of research and theory associated with it. It isn't simply programming lol.
Sure, but I just don't see how some of my classes can apply to CS at all. I'm probably missing something =P
On February 16 2012 06:06 mmp wrote: Quit your whining, noobie. You're lucky that your degree requires this much math. Diff eq and linear algebra is such low-level shit, you better learn it if you want to do anything remotely important in the future. As mentioned above, you're (ideally) not learning a trade, but a rounded set of skills that will allow you to be successful in whichever direction may interest you in the future.
It's not "stupid stuff", nor is it a waste of your time. It's noobie stuff, and the sooner you get it, the sooner you'll be able to converse with people on a higher level.
Here's an example: You're a skilled programmer, you do software in some fancy language, with some fancy-as-shit IDE, and you know your tools in and out. You are working on a project that involves computer graphics. Maybe you need to program some shaders, or a projection/transformation matrix, or whatever. Well study up your linear algebra because if you can't figure that shit out then you're not a capable programmer, no matter how much time you put into your methodology. Even code monkeys have to think occasionally.
Interested in AI? Better know your maths.
Computer security? Better know your maths.
Robotics? Better know your maths.
I can go on and on. If you want to both understand the state of the art, and make an impact, then you cannot run away from the basic prerequisite knowledge. You won't stand of chance of achieving either.
Don't get me wrong, employers don't give shit about your well-roundedness, and maybe your peers say things like "just get the grade and forget about it." These guys are idiots and will be hacking & debugging corporate database technologies for the next ten years.
Like seriously, this stuff is Bronze-level. Learn it.
tldr: You don't know shit about CS, so don't say that you know what's good for yourself. You don't know shit.
could you go on actually? i'm interested in AI and robotics, could you talk about the math required to work in the field?
What are you specifically interested in, or where are you in your studies?
AI covers many disciplines, from statistics to vision to language. Robotics also depends: primarily whether you're interested more in the control aspect or the decision aspect.
I guess I'm interested in the decision aspects. I'm currently in Psych and starting to take the beginner programming courses, but thinking about either minor in comp. or maybe doing a real comp. degree after this. My main goal is to be doing something with psychology and cognition that combines my interest in programming. It's sort of daunting, whenever I mention the combo to people they look a bit taken aback lol.
Because learning anything adds value to your life and makes you more seasoned. Those humanities will give you a nice advantage over someone who went to a purely engineering school. People who do nothing but engineering come out with no culture to them. All they know is technical things.
I am a math major and computer science minor and really find things like differential equations to be useful in later math classes and hope to find a job using these things I've learned.
I think that the issue is the fact that most people learning computer science really just want to program which isn't what computer science teaches you. There should be a programming major instead for these people.
Basically, the two classes I don't view as pointless wastes of time aren't *teaching* me anything; they're just presenting topics that I'll probably teach myself in the near future.
This sounds dangerously close to someone who's going to start skipping lectures because they can "learn it on their own with the textbook." Be warned that 9 times out of 10, that doesn't happen, and each missed lecture is exponentially harder to catch up on. I think many of us have been there, and it usually doesn't end well.
Just keep toughing it out and at some point in your college career, you'll get to take higher level classes which seem a lot more relevant and interesting. I don't know CS but you may even be able to look back and realize why those basics were essential.
Depends on the class. I've gotten As and Bs in classes I never showed up for. I've also struggled for Cs in classes I went to every day. I think the only classes you can't afford to fall behind on are higher level math/physics courses and some engineering ones. Anything math heavy is just going to rape you if you aren't paying attention.
It's university, they teach broad spectrum of subjects. You shouldn't be surpsied, its what you signed up for. (You did look at the curriculum no?). You have to be careful though, I seen a few people with this attitude before (ie "It's too easy", "I'm not learning anything", "Professor is an idiot", "Pointless", etc..) and still failed to graduate.... Also doing the bare minumum is laziness. If you want a good job, you'll have to stand out. That means learning on your own and taking your education to the next level. I graduated last yaer, and many of my fellow graduates are still looking for jobs... Also the first few years are always jokingly easy, wait till your last year. You'll miss these easy days. Good luck and don't drop out, that will just say you're a quitter and you'll owe a shit-ton of money for nothing.
I'm an Econ grad. If anything, University is about learning how to work by yourself and with peers, helping you learn what it would be like to live a life without teachers and parents like in HS.
Also it's fun. Maybe less so for engineering students who actually need to go to school and do work.
Part of the value of a degree to an employer is it shows you will do the work you are assigned. Imagine you can hire a super knowledgeable genius who never does what you ask because it's "stupid and irrelevant", or someone who is maybe not as talented but doesn't complain and works hard. Irrelevant classes are still teaching you time management and self discipline, and those skills are extremely valuable and sought after. Tough it out and have a good attitude... it's very helpful to make a good impression on your professors.
On February 16 2012 06:50 Servius_Fulvius wrote: I'm a chemical engineer and I had to take courses that had seemingly no impact on my course of study whatsoever. Process control? Vendors handle all of that in real plants. Plant design? Accounting and project consultants.
Wiggity what? This is 100% not true in oil and gas O-o. Plant desing by accounting consultants? You crazy...
Yeah, I guess that looks kind of bad.
I meant the Plant Design class. You go over a lot of design principles, which you basically knew from other classes, but then you go over the a LOT of money equations. When I worked in the paper industry the engineers did a basic cost analysis while the accountants did all the money equations we learned about. And I said "accounting and project consultants", but what I meant to say was "accounting consultants handle the money equations while the project consultants cover special aspects of the desing." But yeah, the engineer is going to do most of the design. Oil and gas has a tendency to recruit a lot of high quality engineers (read: buy them off), so I'd expect them to be more savvy than the paper engineers I'm used to.
On February 16 2012 08:04 Kasha_Not_Kesha wrote: So we've got this branch of math that is clearly and easily applicable to programming, which is more or less my major at the moment, and we're barely covering the basics! Then take something like Diff. Eq's, where I cannot for the life of me find an application in programming/problem solving, outside of maybe writing a program to solve/analyze Diff. Eq's. We're covering the shit out of Diff. Eq's, and we're going to cover a ton more before the end of the course. I'm frustrated because it seems like this type of math that isn't (as far as I can see; which admittedly isn't very far) applicable to programming and problem solving is being prioritized over a type of math that is very much applicable and in fact critical to programming and problem solving, for no reason more substantive than "It'll make you a well-rounded individual".
3 words - Differential Algebraic Equations. I've TRIED to program them, but they're a pain in the butt without coding experience.
In fact, every grad student in my chem-e program that does some sort of modelling spends most of their time coding. There's a lot of research in modelling numeric solutions to partial differential equations and you can't even come close to touching that without understanding ODE's from a basic diff-eq class.
Being 20 minutes late to a 50 minute exam is not an excuse to get a poor grade on it. Your teachers write the exams so the teacher could sit down and write the exam in 4-5 minutes. If you truly understood the material you could certainly finish in 30 minutes. So no, its not your teachers fault its your fault. And the other classes are meant to develop your problem solving skills, thinking patterns, and provide you with the prerequisites for your further studies.
Ahahaha, you sound like me. Exact same courses too apparently. Calculus, Linear Algebra, Computer Science, Physics, Circuits. I'm in Software Engineering. Computer Science for Engineers, essentially.
First off, all these courses constitute what it requires to be a certified Engineer. Plus some upper year courses. Oh well. EDIT: Apparently you're not in Engineering. Ignore the Engineering points then, haha. They're what I'm taking though. (we need physics so we have more electives in upper year so we can finish our degree. just sayin)
My circuits teacher is awesome. Just a chill guy. He spent half the term teaching us hardware and circuits and logic expressions and implementations, and half my class sleeps through it. I have an exam on it in 6 hours? haha. First off, you write programs to understand, and you write concepts to understand, so if you're ever given the task to debug, you understand what you're doing. Second, we asked this exact question to him, and he asked us, "what do you think came first? the circuit, or the code?" It's important to understand how we have all these things like computers, and the concepts behind how they work. I'm learning stuff like addition. Seriously. But to be honest, I find all of it interesting because it gives me opportunities to expand my knowledge, even though I sleep through my classes.
You want to be a Computer Scientist? Well in 4 years, you might find something else you like more than it, and you're only going to figure what you really want to do if you do everything.
I've always been a math freak, so I like Calculus, and besides, integration is a part of being an engineer life (ask anyone). Last term we have to learn how to code polynomials in my programming course. And integrate. And derive. A little taste of that and the entire class was fuuu the entire assignment. I can't imagine having to do this with a more complex system. Some people design algorithms for cool shit, like applying a 3D shadow on a block. How do they design that? With a shitload of calculus and programming experience. How can you hope to do what they do, or something similar, if you don't have even a basic background in calculus?
Do you know what you're going to do exactly for the rest of your life?
Code a game? Well, that involves building a game engine, designing the physics for that engine. Ta-da, calculus. Ta-da, physics. Maybe you want to work with AMD and upgrade their drivers. To do that, you'll need to understand circuits. Hello circuits course I'm taking right now. The only course I can't justify is Linear Algebra. You have probably a similar Linear Algebra. We have Pure Maths Linear Algebra, where all you do is proofs. Use Fermat's Little Theorem to show this, or that. I'm guessing it helps problem solving, but who knows! Maybe someone will find this fun and do algebra part-time while coding. Life is weird. Or maybe I'll find this one day.
My programming course is abstract data structures and simple implementations. Nothing to yawn at since I have no experience, but it's probably a breeze for people who know this already and pay attention. It's all simple level stuff. It becomes difficult only when you need to apply this shit.
But where do you apply this? That's what everything else provides you. A general grasp of the world so you can understand all the possibilities that are available to you, and let you go down any path you choose or find interesting. I'm willing to bet that most people go to computer science or software engineering because they want to make games. But how many people actually end up down that path? I'll bet a bunch of them find something else they really love, that they only realized, or had the experience to do, because they have this huge breadth of knowledge coming from a Engineering Science background.
Love knowledge, and treasure the fact that you have the opportunity to learn SO much more about the workings of the world than half of the world.
I'm a person who just loves learning though, so maybe this doesn't make much sense. But learning is the fun part of life.
Also, it's a nice break from coding all day and night.
Little bit of continuation.
Want to understand something? Program it. We learned Encryption in Algebra. So some people decided to code an algorithm for encrypting and decrypting a Vigenere cipher (very simple). To code something requires you to understand what's being asked of you. It's very rewarding. I can say I actually understand what's necessary for this kind of cipher now.
every single simulation you are going to write will, in it's core, be a numeric differential equation solver. And even if you were to bring up the argument of "well there's physics libraries that already have that stuff build in, i'll just use those anyways" - you will have absolutely no chance to understand why some situations just are simulated wrong, stuff wiggeling all over the screen if you don't know concepts like stiffness of differential equation and so on. And even people who have knowledge of this and managed to write a mostly okay simulation still fail at this. Have a look at this example (just to include some fun in this post^^):
So learning differential equations does have a very valid point of being in your CS education.
As for "what's the voltage at point X in the circuit", i can understand your concerns. That's something we over here do not get taught. I don't know how this is in your country, but over here, every professor can offer lectures as any way he wants basically. So if you have this 60yo professor who graduated in physics and then became a CS prof because basic was fun back in the 80s and stopped keeping up in the field, then yeah sure he'll present a lecture about voltage in circuits that no-one needs. It's the universities job to keep the obligatory part of your education clean and appropriate, and if you chose to attend such a lecture willingly without it being obligatory, than that's your fault. But if something like that is in the obligatory part, you could try to put together a set of arguments why that's bad and should be replaced with something else and go talk to the managers of the CS department or something. You might want go through the political systems in place in your faculty, depends on what's available, but in theory, those guys should be interested in providing a quality education, and as such they can sometimes be convinced that they should change something. It happens over here every now and again at least. A large part of our obligatory course schedule is strongly influenced by feedback through student representatives.
On February 16 2012 17:41 tryummm wrote: Being 20 minutes late to a 50 minute exam is not an excuse to get a poor grade on it. Your teachers write the exams so the teacher could sit down and write the exam in 4-5 minutes. If you truly understood the material you could certainly finish in 30 minutes. So no, its not your teachers fault its your fault. And the other classes are meant to develop your problem solving skills, thinking patterns, and provide you with the prerequisites for your further studies.
I guess it depends on the exam. I'm in a seminar class taught by the associate dean and she says the standard is "for every 10 minutes it takes the professor it should take a mid-level class 30-40", though it would depend on the nature of the problems.
It's also unfair to say "if you know the material you can finish on time". Maybe if he were an expert in the field, but learning material doesn't follow a linear trend of quick problem solving.
I do agree, though, that it's the OP's fault - he should have arrived on time. But I like the fact he's not particularly dwelling on it and has already seemed to move on with life. I guarantee he won't be late to the next one!
Part way through, he talks about putting "all your eggs into one basket" - on finding one aim and going for it with all of your being. This sort-of "burns the bridges" and forces you to succeed because there's not another option. It's in the chapter on the law of concentration.
It sounds like, from your long post, that economics is your passion. Just from reading your one paragraph I could feel the enthusiasm you had for it. Maybe you should put all your eggs into that basket and go after it. If that means taking a non-college route to get to where you need to go then so be it.
But definitely read the book, I think it will help you out a lot.
I think you should just give it some time. Almost every standard college education involves like 2 years of fundamental concepts that we all hate learning because it bores us to tears.
On February 16 2012 06:06 mmp wrote: Quit your whining, noobie. You're lucky that your degree requires this much math. Diff eq and linear algebra is such low-level shit, you better learn it if you want to do anything remotely important in the future. As mentioned above, you're (ideally) not learning a trade, but a rounded set of skills that will allow you to be successful in whichever direction may interest you in the future.
It's not "stupid stuff", nor is it a waste of your time. It's noobie stuff, and the sooner you get it, the sooner you'll be able to converse with people on a higher level.
Here's an example: You're a skilled programmer, you do software in some fancy language, with some fancy-as-shit IDE, and you know your tools in and out. You are working on a project that involves computer graphics. Maybe you need to program some shaders, or a projection/transformation matrix, or whatever. Well study up your linear algebra because if you can't figure that shit out then you're not a capable programmer, no matter how much time you put into your methodology. Even code monkeys have to think occasionally.
Interested in AI? Better know your maths.
Computer security? Better know your maths.
Robotics? Better know your maths.
I can go on and on. If you want to both understand the state of the art, and make an impact, then you cannot run away from the basic prerequisite knowledge. You won't stand of chance of achieving either.
Don't get me wrong, employers don't give shit about your well-roundedness, and maybe your peers say things like "just get the grade and forget about it." These guys are idiots and will be hacking & debugging corporate database technologies for the next ten years.
Like seriously, this stuff is Bronze-level. Learn it.
tldr: You don't know shit about CS, so don't say that you know what's good for yourself. You don't know shit.
could you go on actually? i'm interested in AI and robotics, could you talk about the math required to work in the field?
What are you specifically interested in, or where are you in your studies?
AI covers many disciplines, from statistics to vision to language. Robotics also depends: primarily whether you're interested more in the control aspect or the decision aspect.
I guess I'm interested in the decision aspects. I'm currently in Psych and starting to take the beginner programming courses, but thinking about either minor in comp. or maybe doing a real comp. degree after this. My main goal is to be doing something with psychology and cognition that combines my interest in programming. It's sort of daunting, whenever I mention the combo to people they look a bit taken aback lol.
That sounds pie-in-the-sky vague. What specific problem do you want to solve?
I'm not an expert, but my take on neuroscience is that as much as we know today about how the brain operates (a lot), there is still a huge divide between that knowledge and our ability to apply it in software. Additionally, the psych/neuro approach is a high-level analysis, whereas software engineers like to build things from the bottom up through abstraction.
What you have in between the behavior & the bits is the detail, and this is what the various AI disciplines have been attacking for years, primarily through statistical means (as opposed to a "grand design" neuroscience promises to reveal). This is actually a pretty substantial debate: whether there is an elegant recipe for intelligent systems or whether statistical approaches are better suited.
In practice, statistics is winning (as used by Google, IBM, & corporate/government analytic firms), but it takes larger upon larger machines and data sets to get fast & accurate (respectively) results. The human design factor has not left either, and a lot of machine learning has to be carefully supervised by a human.
Also, many automated learning problems turn out to be Hard problems, and there is a lot of pessimism in the AI community.