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.
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.
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?
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.
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.
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: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.
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...
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.
I was a CS major, but it turned out university wasn't for me due to lack of selfdiscipline. I personally loved all the surrounding classes, like logic, calculus, electrical circuits and languages (Turing machines, state machines, etc.). They gave me a much deeper understanding of the computer.
I'm going to start a new CS major in September in, the literal translation would be highschool (obviously not to be confused with the English 'highschool'), just one level below university but it pains me to see that it's basically the universities major but without all the underlying topics. It's software engineering basically.