|
Be warned, this is one part venting my frustrations, and one part ranting about how fucked up college seems to me. This is probably one of my least structured and least unified pieces of writing since I was a Freshman in High School; I don't really have a point nor do I seek to accomplish anything with this post. I just feel like getting my mental state on paper at the very least, I guess.
Why am I even going to college? I'm not really learning anything. In the two courses I'm taking this semester that are in any way related to my major (Computer Science), all we are doing is getting a basic introduction into a few areas important to computer science. The actual concepts and techniques that are deeply engrained in more complex, higher-level computer science topics aren't being covered at all, and while I'm more than willing to teach myself (I would honestly love it if I could get a week where I can just read through some of my textbooks), I can't help but question the rationale of these courses.
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.
The rest of my classes are literally just time-sinks required by the university for no reason other than to arbitrarily increase the time it will take to get my diploma to 4 years.
Circuits? I get that, as a computer scientist, it should be within the scope of my academic interest to understand how circuits work, because ultimately computers are made of circuits. Makes sense, right?
Except I'm not an Electrical Engineer, and I have no desire to become one. Unless I end up writing programs that perform complex circuit analysis (Which would be completely redundant as such programs already exist with far more functionality than I could ever bring myself to care about writing) there will literally be zero utilization of the concepts I'm "learning".
Yet I have to spend more time studying for and doing work for my Circuits class than I do for the courses that will actually be relevant to me at the end of this year.
Differential Equations? There is literally 0 benefit gained from me learning how to solve and work with Differential Equations. Even if I end up working at a company that requires me to know how to work with Diff. Eq's it's not as though I'm going to remember any of the shit I'm teaching myself now. I'm just going to teach myself all of this shit again when I actually need to use it.
If I don't end up working at a company that requires me to know how to work with Diff. Eq's, then I'm taking this class for no goddamn reason still. Either way it's practically useless to me.
Yet Diff. Eq's takes up a huge chunk of my time every week, just for the lectures alone; I haven't even had the time to go over a quarter of the homework problems that have been assigned, and as a result I have a very weak grasp of pretty much everything that we've covered thus far.
Linear Algebra is at least interesting enough and it has enough practical applications in my field to at least seem justifiable. Granted, I have the lowest grade in that class, for no reason other than that I woke up late the day of the first test. The prof wrote out all of the scores for the exam, and mine was actually the lowest. It's not that I didn't understand the problems I actually thought the test as a whole was incredibly easy, I just had a 20 minute deficit compared to everyone else that the prof seemed unmoved by. Sure: I fucked up and made the mistake of waking up late, but that one mistake just made it impossible for me to get anything higher than a B in the class, and that's assuming I do perfectly on everything from here on out. I feel like a little bit of amnesty (5-10 minutes?) wouldn't have been unreasonable.
I'm struggling to pull off worse-than-mediocre grades in classes that are admittedly easy, but which I can't muster up the effort and the time to really apply myself in because they have absolutely no relevance to the area of study I came to college to learn about.
Yeah, I'm fucking up and I need to get my shit together. Great. I can accept that. But why the hell am I even taking some of these courses in the first place? I can't think of a single good reason; but that's probably just my bias justifying my lack of effort and achievement in those classes.
|
I've been late to a midterm before for reasons I couldn't control. Also an exam I felt would be easy but arrived with only 20 minutes remaining and got a lower mark than most people in the class. And yeah there are a lot of courses in your degree that have nothing to do with the actual field. Thats just the way it is. University for the most part (at least ive found in my degree) is learning the basics solid, and to make sure that you know the basics solid they test you on way harder shit. And then even more so they test you on everything generally related to your field of study. Why? So you can be classified an "expert" in it, and more importantly teaches you good work ethic and how to learn.
EDIT* Going into 4th year Electrical Engineering and have taken most of the classes you mention.
|
A large part of computer science uses the exact same principals as you might learn about digital circuits (and, or, inversion, bit-shifting, xor, etc.) and there are some people who will end up working with lower level hardware. It might end up a waste, but a degree is about ensuring you're compentent in your field, not training for a specific job. Understanding circuits will also help you understand assembly which helps to understand all other languages, including a lot about what makes things perform well (or poorly).
As for math (and everything) you'll be surprised what you end up remembering and when you end up using it.
CS courses start off slow because they don't assume you know anything about programming. While most people may know some basic stuff, it's better if they can just ensure everyone has a certain level of understanding coming out of the 1st year.
There's no reason for a teacher to give you amnesty, it sucks, but you're not special. It's not like your future employer is going to just go "Ah well" if you show up 5-10 minutes late for a really important meeting. I once completely missed my mid-term (20% of the grade I think) got 0 and still passed the class (it ended up being some of the most rigorous work I ever did since I had no room for missing any points on anything else). You just gotta suck it up and roll with it.
Eventually you'll learn more important CS techniques unless your school blows, but all these other classes are still important. It's not about the specific knowledge so much as learning how to learn and break problems down, or in general how to think like an engineer.
There may be some bloat in college courses, but that should be more of them making you take a bunch of english, humanities, etc. courses if they do. Most good tech schools, afaik, don't though.
|
Calgary25951 Posts
All the things you listed do have relevance to computer science. You are attending a university, not a trade school. They are trying to teach you a broad spectrum of basic skills, not one sharply defined skill.
Edit: Some of the skills won't be specifically useful to you. It's just not possible to develop an individually-tailored program like that. What they do is try to set up the best average knowledge that the average student will need.
If you're taking music, you need to study more than music. You need to study other forms of art, humanities, philosophy so you can translate important points to music. If you're taking business, you need to study more than business. You need English and presentation skills, you need a technical background especially in computing. If you're taking engineering, you need to study more than engineering. You need to be aware of business, scheduling and project management. You need to focus on team projects.
Every major has things that don't seem necessary. They are part of the basis and background to your core area of study.
|
Welcome to the real world man. Most of the time you will be required to do stupid stuff that is irrelevant to what you have learned or want to do. At least you are going through an Engineering/Technical program. Have you ever seen the courses offered by a liberal arts school? Most are utterly useless. Just get that piece of paper (diploma) and use it to get a job.
|
United States24452 Posts
To add to some stuff that's already been said...
It is difficult to predict how what you are doing currently in an academic program will benefit you later. Often, you will be surprised. I've often had thoughts of "this isn't necessary for me to study" only to realize later that I benefited in ways I didn't expect.
edit: Why should the professor have given you amnesty?
|
United States22883 Posts
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.
|
On February 16 2012 05:38 micronesia wrote: To add to some stuff that's already been said...
It is difficult to predict how what you are doing currently in an academic program will benefit you later. Often, you will be surprised. I've often had thoughts of "this isn't necessary for me to study" only to realize later that I benefited in ways I didn't expect.
edit: Why should the professor have given you amnesty?
I don't think I said it before, but I agree with this 100%. My first thought on graduating college was along the lines of, "I didn't really learn anything." In the years since then I've done nothing but prove that thought wrong and my appreciation of my education has grown tremendously. Even stuff I did have to re-learn (like say vector math) was so much easier to learn the 2nd time around because I would remember bits and pieces of my education at the very least.
Also if your college allows it spread out your requirements. Mine didn't enforce us to take the requirements first so I took my science classes senior year and some of my math classes I delayed until junior year so that I was taking more CS courses earlier (this also helped make my senior year easier rather than having a ton of advanced CS courses all at once). Just be careful of not being able to get in a class you need when you need it.
|
Calgary25951 Posts
On February 16 2012 05:43 Logo wrote:Show nested quote +On February 16 2012 05:38 micronesia wrote: To add to some stuff that's already been said...
It is difficult to predict how what you are doing currently in an academic program will benefit you later. Often, you will be surprised. I've often had thoughts of "this isn't necessary for me to study" only to realize later that I benefited in ways I didn't expect.
edit: Why should the professor have given you amnesty? Even stuff I did have to re-learn (like say vector math) was so much easier to learn the 2nd time around because I would remember bits and pieces of my education at the very least. This is really, really true. I don't remember everything, but the stuff I have to reference is way, way easier to look up the second time around.
|
The first 2 years of college are designed to make you "well-rounded", weed out lazy people who don't pass general eds, and make more money for the school. This is why a lot of people do their first 2 years at a community college and then transfer to university to get the real education. It saves a ton of money. Yeah, it sucks, but it's a necessary evil. Enjoy what little free time you have now and party hearty, because you will be even more swamped once you get to upper level classes.
One tip to help you get ahead with the prerequisites (if you are actually interested in maximizing your learning opportunities instead of just the minimum to get a degree): take every upper level class you can. For example, in my school's schedule plan, I was required to take Engineering Economy, and it was recommended to take in senior year. I took it in sophomore year instead since it had no prerequisites, which left me able to take more engineering classes in senior year. Obviously this meant that my last semester was hard as hell since I was taking 14 credits of 4000-level engineering which included my senior design project, but with the first 2 years being wasted due to general eds and prerequisites, it was the only way I was actually going to learn anything advanced. I figured if I was paying $30k/yr to go to school, I better get my money's worth.
I studied Computer Engineering (somewhere between EE and CS, covering a lot of embedded software topics) and while I'll agree that Circuits is pretty useless for a CS major, you better pay attention in your Operating Systems, Computer Organization, or compiler classes. Understanding how your high-level code interacts with the low-level hardware can make a huge difference when trying to optimize performance. And performance optimization is still very important when designing any kind of server software or appealing to a broader market with consumer software (many users are on the low end of the performance spectrum). I feel like this aspect of programming is lost on a lot of CS majors - at my school CS majors weren't even required to learn C++, only Java :'(
|
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?
|
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 do agree that not having that passion towards your course materials suck. You might end up regretting it later on though.
|
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.
|
You got it so much easier than I have lol.
Try to learn something from using tools like PowerBuilder,ISAH and other 4GL tools. And try handling that for 3 years with very little Java courses (read 1 course). Usually late 3rd year / senior year will be the years where it will really be specialized. I never had anything technical like performance optimization, linear algebra and such in the first 3 years just very business side. Only past 4 months have I gotten basic Data structures and Algorithms and Design Patterns. What you have now is very basic and covers a wide spectrum of CS imo. I never had any of those classes you mentioned.
My point like many above is that you should really treasure what the school is trying to teach you even if it ends up unusable for you in the future. It might be for someone else. Get everything out of the materials and read other books that are never covered in school or will be covered. Get the most out of it.
|
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?
|
On February 16 2012 06:21 Roe wrote:Show nested quote +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 agree though, intro/underclass courses can be pedantic. Senior/graduate classes tend to give you a lot more freedom to do cool stuff, but they also have higher expectations about your prerequisite knowledge.
|
OP: I've been where you are now. 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. Separations? We learned a lot of this in other classes! What rang true with most my classes was a total lack of how I could use this in the real world.
And you know what? A lot of people don't. Most chemical engineers get a B.S., work in a plant, and then work their way into management. I didn't realize until later that most of them become managers because they are not CAPABLE of understanding the process at a higher level.
When I started my masters research I spent the first couple months fixing equipment. In fact, I've spent more time fixing my equipment and learning how to troubleshoot than doing my experiments. The best example is a machine that broke down, took me two months to fix, and I got all the results I needed in two weeks. If I were to focus on the small picture then grad school has been a complete waste of time.
And then I get hit with a good dose of perspective.
When employers are looking for someone they're looking for the person who understands the field, not a specific piece or "fad". I've been sitting in on seminars given as the last stage of faculty interviews and it's plainly obvious who is getting the job. There were three candidates all studying environmental pollutants. One guy talked about how he had a machine no one else had and he uses it to get a ton of publications. This girl worked with software to develop a really nice environmental transport model. Finally, the last guy had a more broad topic, spectroscopy of environmental air pollutants, though he had a specialty area per specific research. The first guy has a novel technique, but few people in industry use it and after faculty Q&A it was clear he didn't have a broad understanding of the field, just his little nook. The same goes for the girl - she had a nice model, but she was very compartmentalized and could only get funding for this specific kind of research (which may or may not be in demand in the future). The final guy had less results than the first two, but he demonstrated great skill and understanding in spectroscopy, a broad field applicable to many places. Most importantly, he demonstrated that he has the knowledge to apply his experiences to different areas. He's probably getting the job.
Similarly, I'm studying catalysis and half the papers I read have no bearing to my research. However, they're increasing my understanding of the field. My specialty won't fuel a career and I'm WAY more valuable being skilled in the general field. What does this mean? It means I had to go back and study calculus because I couldn't manage the governing equations of transport and kinetics. I needed to revisit process control because it is a LOT cheaper to design my own system. I gladly spend the long hours troubleshooting my equipment because these machines are not only relevant to my project, but to the entire field! Even plant design had a cameo when I designed a reactor that runs expensive catalysts. In the long run I'm WAY better off.
tl;dr - Yes, it sucks right now. But people much smarter and experienced designed this curriculum for you to be an expert in the field, not just a niche.
|
On February 16 2012 06:50 Servius_Fulvius wrote: OP: I've been where you are now. 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. Separations? We learned a lot of this in other classes! What rang true with most my classes was a total lack of how I could use this in the real world.
And you know what? A lot of people don't. Most chemical engineers get a B.S., work in a plant, and then work their way into management. I didn't realize until later that most of them become managers because they are not CAPABLE of understanding the process at a higher level.
When I started my masters research I spent the first couple months fixing equipment. In fact, I've spent more time fixing my equipment and learning how to troubleshoot than doing my experiments. The best example is a machine that broke down, took me two months to fix, and I got all the results I needed in two weeks. If I were to focus on the small picture then grad school has been a complete waste of time.
And then I get hit with a good dose of perspective.
When employers are looking for someone they're looking for the person who understands the field, not a specific piece or "fad". I've been sitting in on seminars given as the last stage of faculty interviews and it's plainly obvious who is getting the job. There were three candidates all studying environmental pollutants. One guy talked about how he had a machine no one else had and he uses it to get a ton of publications. This girl worked with software to develop a really nice environmental transport model. Finally, the last guy had a more broad topic, spectroscopy of environmental air pollutants, but his presentations was different. The first guy has a novel technique, but few people in industry use it and after faculty Q&A it was clear he didn't have a broad understanding of the field, just his little nook. The same goes for the girl - she had a nice model, but she was very compartmentalized and could only get funding for this specific kind of research (which may or may not be in demand in the future). The final guy had less results than the first two, but he demonstrated great skill and understanding in spectroscopy, a broad field applicable to many places. He's probably getting the job.
Similarly, I'm studying catalysis and half the papers I read have no bearing to my research. However, they're increasing my understanding of the field. My specialty won't fuel a career and I'm WAY more valuable being skilled in the general field. What does this mean? It means I had to go back and study calculus because I couldn't manage the governing equations of transport. I needed to revisit process control because it is a LOT cheaper to design my own system. I gladly spend the long hours troubleshooting my equipment because these machines are not only relevant to my project, but to the entire field!
tl;dr - Yes, it sucks right now. But people much smarter and experienced designed this curriculum for you to be an expert in the field, not just a niche.
I think this is really good advice, but highlights the differing traits that science & engineering demand, and those that business demands. You can be perfectly successful by developing niche skills that make business-types happy (you get the job done fast), but when it comes time to independently plan & execute a project, maybe even instruct others in what to do, or choose a research direction for your team's resources -- all of these secondary skills become very important, and you need to be flexible.
|
Calgary25951 Posts
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...
|
|
|
|