CS vs. CE
Hi all, this is KB. I'm on my second year of my college career and I had a couple of questions that I hope some of you may be able to answer for me. My dream career would be just an IT guy that works at some PC Support company. The kind of guy that a company (or maybe an individual?) calls up to help them fix their computer problem. Basically troubleshooting stuff (sort of like the Geek Squad, but not really). My question was: based on my very abstract (sorry about that) description of my dream job, what major do you guys think I should aim for? Computer Science or Computer Engineering? I have heard that CS is more about software and CE is more about hardware. If this is so, I'm probably leaning toward the CS side but I wanted to make sure I understood what the main differences between the two majors are before I made a decision.
Thank you for your help,
-Jaime (a.k.a KB)
Thank you for your help,
-Jaime (a.k.a KB)
Firstly, it would be better to contact a university that offers both types of degree and ask them. They would be able to give you better advice. Or at-least your colleges careers advisor.
Now I don't have any experience with CE and I'm speaking from a UK university point of view. However I'm currently doing a degree in Computer Science and Artificial Intelligence (working as part of a support/development team in a company at the moment though).
One major point is that all the CS degree students (at my uni) are basically being trained as software engineers and not tech support people. So lots of programming and program design, there are hardware modules available, though I don't think they would be that useful for tech support work. This varies (at-least in the UK) though, so some universities are far more programming based than others.
What type of support are you thinking of, just working as a general tech support or specialising?
Now I don't have any experience with CE and I'm speaking from a UK university point of view. However I'm currently doing a degree in Computer Science and Artificial Intelligence (working as part of a support/development team in a company at the moment though).
One major point is that all the CS degree students (at my uni) are basically being trained as software engineers and not tech support people. So lots of programming and program design, there are hardware modules available, though I don't think they would be that useful for tech support work. This varies (at-least in the UK) though, so some universities are far more programming based than others.
What type of support are you thinking of, just working as a general tech support or specialising?
CS and Software Engineering are two seperate majors, the pre-reqs are also totaly diffrent, and the material is absolutely diffrent, but its mainly CS students that go into tech-support now.
Unless your into Physics, and maths, you should not go into engineering, especially not into Computer Engineering (it involves alot of circutry, maths, physics, and touches of Quantom-Physics now)
If you like computers and hate maths, Computer Science is where it is~ Just remember even though Computer Science does mainly focus around software, it is far from being "Software Engineering"~
Unless your into Physics, and maths, you should not go into engineering, especially not into Computer Engineering (it involves alot of circutry, maths, physics, and touches of Quantom-Physics now)
If you like computers and hate maths, Computer Science is where it is~ Just remember even though Computer Science does mainly focus around software, it is far from being "Software Engineering"~
So if I want to be in the PC support department, I shouldn't go into either CE or CS? Which field should I go into, then? Information Technology? Because I'm looking at the info for the "IT" pre-major and it doesn't look like the classes listed here will help me get into PC support. Granted I don't know what's needed for that in the first place but yeah...see for yourself:
http://www.valenciacc.edu/aadegrees/premajors_list.cfm
Thanks for the help so far,
-Jaime (a.k.a KB)
http://www.valenciacc.edu/aadegrees/premajors_list.cfm
Thanks for the help so far,
-Jaime (a.k.a KB)
CE is more technical and gets down into the computer components themselves even possibly design parts of them. CS is programming. Now can you do what you want with CE and CS? yes but it's not really worth it unless you're going to focus on what you learn in those majors.
Honestly if you want to be that "tech" guy or the network/systems admin you want to go Information Technology. IT goes into Systems Design, Analysis and Implementation.
That's what I did. BS in Business Admin - IT. Now I'm also Network+ certified and an MCP working on my MCSE. I'm a Senior Systems Admin and I've done it all from creating domains and running Exchange servers while maintaining 100 user computers to helping design SANs. I've even totally redesigned and rebuilt a testing lab during the consolidation of two labs into one. So when I say the lab is "mine" at work I can actually mean it. ;)
-S1
Honestly if you want to be that "tech" guy or the network/systems admin you want to go Information Technology. IT goes into Systems Design, Analysis and Implementation.
That's what I did. BS in Business Admin - IT. Now I'm also Network+ certified and an MCP working on my MCSE. I'm a Senior Systems Admin and I've done it all from creating domains and running Exchange servers while maintaining 100 user computers to helping design SANs. I've even totally redesigned and rebuilt a testing lab during the consolidation of two labs into one. So when I say the lab is "mine" at work I can actually mean it. ;)
-S1
Well I've always liked programming (learned HTML, CSS, JavaScript and Java before I was 17) so I figured I'd go with CS, since it seemed more programming and software-oriented. I think I'll stick with that then, since you said I could still be "that tech guy" if I keep going with my CS stuff.
Thanks for all the help guys, it's greatly appreciated. If you have anything else to add, feel free. :-D
-Jaime (a.k.a Karasuhebi)
Thanks for all the help guys, it's greatly appreciated. If you have anything else to add, feel free. :-D
-Jaime (a.k.a Karasuhebi)
HTML, CSS, JavaScript and Java
All of those are scripting languages, apart from Java, and CSS. CSS being a stylesheet language, and Java being an actual programming language, yet even then Java is a pretty simple language making the types of programs that can be coded through it, limited~
evilmaniacyet even then Java is a pretty simple language making the types of programs that can be coded through it, limited~
Out of interest what kind of limitations does Java have compared with other languages that makes the types of programs that can be coded 'limited'?
I know that quite a bit of the programming work done at the university where I'm studying is done in Java (both staff and students), and the same goes for where I work too.
Yeah Java is extremely Object Oriented which actually makes it quite powerful and one of the most used languages right now.
-S1
-S1
According to my knowledge its near impossible to code hacks onto it (as-well as polymorphic code), its powerfull for network applications since its a multi-platform language however~ Also almost no SDK do come out on Java considering it is a very slow language and will never be used to code full engines, it seems to have no support for openGl, and even then it should be minimal support not designed for use at the construction of enterprise level software~
I personally despise OOP and tend to use ASM (+ vBasic for the the interface since its minimal coding + drag and drop)~ OOP in itself has power through its syntax and flexibility, plus the ease of use, however it can never weild flexibility higher than a low level language, nor the speed~ Ofcourse it is now used to code miniture applications for handheld devices since ASM coders are slowly being bread out through the coding communities (and the upkeep of ASM software can be difficult especially if uncommented propperly)~
Also, Java can not work independantly, and can not be used in any part of an OS. Java is mainly something for the home coder, just like Visiual basic, made so you can "USE" a computer and not so you can "OPERATE" a computer~ Its so popular now, since its easy and very portable.
Most programming languages today are ranked on "easiness" and not "power"~
I personally despise OOP and tend to use ASM (+ vBasic for the the interface since its minimal coding + drag and drop)~ OOP in itself has power through its syntax and flexibility, plus the ease of use, however it can never weild flexibility higher than a low level language, nor the speed~ Ofcourse it is now used to code miniture applications for handheld devices since ASM coders are slowly being bread out through the coding communities (and the upkeep of ASM software can be difficult especially if uncommented propperly)~
Also, Java can not work independantly, and can not be used in any part of an OS. Java is mainly something for the home coder, just like Visiual basic, made so you can "USE" a computer and not so you can "OPERATE" a computer~ Its so popular now, since its easy and very portable.
Most programming languages today are ranked on "easiness" and not "power"~
#654956 Quote Report Edited by $evilmaniac 1 year 1 day ago
You can use polymorphism in Java, unless you mean something different.
Java has unofficial support for OpenGl.
If it's so popular doesn't that make it a good language to learn?
And even better if your a beginner.
As for "mainly something for the home coder", it's not just popular with home coders.
Yes it's pretty slow, and yes it does have a few of limitations. Though I guess it really depends on what your trying to do.
Java has unofficial support for OpenGl.
evilmaniacAlso, Java can not work independantly, and can not be used in any part of an OS. Java is mainly something for the home coder, just like Visiual basic, made so you can "USE" a computer and not so you can "OPERATE" a computer~ Its so popular now, since its easy and very portable.
If it's so popular doesn't that make it a good language to learn?
And even better if your a beginner.
As for "mainly something for the home coder", it's not just popular with home coders.
Yes it's pretty slow, and yes it does have a few of limitations. Though I guess it really depends on what your trying to do.
#655097 Quote Report Edited by ~DeepDragoon 1 year 1 day ago
Even with its unofficial support for openGL, coding an openGL wrapper would probably cause a major FPS drop. Also, visiual basic is a much better language for a beginner (or C, or Delphi/Pascal)~
Unless you want to code a multi platform application (mainly P2P software, or messengers), there are better languages for almost every other thing.
And by polymorphisim I was referring to software that changes its code each time its executed.
Unless you want to code a multi platform application (mainly P2P software, or messengers), there are better languages for almost every other thing.
And by polymorphisim I was referring to software that changes its code each time its executed.
1 year 14 hours ago
On the Java note: As someone told me, Java is an overly safe version of C++.
It's somewhat true, it's almost impossible to do something bad in Java. Of course, safe and high level has it's limitations (speed and low level access), but it's still not too bad and it easier to maintain and fix than C or ASM. There's a reason J2ME is a de-facto standard on mobile phones, write once and run anywhere is a powerful argument.
And it's quite good for education, last I checked VB didn't have a good introduction to such things as linked lists, arrays, hashmaps, binary search trees and such, things you want to learn future developers (without making their head implode by trying to learn them C++ first).
On the CS/CE note I'm just going to note that here (Sweden), CS has a lot of maths, physics, EE and similar just to give an understanding of how computers works (which makes it easier to write efficient code).
CS is a very bad choice if you want to be in tech support, it's meant for developers, but it should give you a solid ground for developing applications and thus you have the chance of getting a better employment.
It's somewhat true, it's almost impossible to do something bad in Java. Of course, safe and high level has it's limitations (speed and low level access), but it's still not too bad and it easier to maintain and fix than C or ASM. There's a reason J2ME is a de-facto standard on mobile phones, write once and run anywhere is a powerful argument.
And it's quite good for education, last I checked VB didn't have a good introduction to such things as linked lists, arrays, hashmaps, binary search trees and such, things you want to learn future developers (without making their head implode by trying to learn them C++ first).
On the CS/CE note I'm just going to note that here (Sweden), CS has a lot of maths, physics, EE and similar just to give an understanding of how computers works (which makes it easier to write efficient code).
CS is a very bad choice if you want to be in tech support, it's meant for developers, but it should give you a solid ground for developing applications and thus you have the chance of getting a better employment.
So is this only in Sweden or do you think it applies to the US, too? Is taking CS very bad if I want to be a tech support person?
-Jaime (a.k.a Karasuhebi)
-Jaime (a.k.a Karasuhebi)
1 year 12 hours ago
I'd say that there would be a good chance taking CS would make you a bit overqualified to do regular tech support for the masses (a.k.a. Geek Squad). CS is mainly algorithm theory and more advanced thinking and not a tech support education.
OTOH, our uni's tech support/admins only hire those with a masters degree (their reasoning for this is that if you've spent the time getting a masters you're ready to pick up most knowledge pretty fast).
But to summarize: Yes, I would see it as a bad decision taking CS if you're only going to do tech support. OK, maybe not very bad, but still bad as you're spending time learning things you will most likely never need (and would make at least some employers wonder why a such qualified person wants a mere tech support job).
Think of your decision well and grab information from different universities about computer related education (visit their websites/e-mail/call them etc) and get a view what each program contains.
If you actually have the possibility to ask someone in tech support what they studied, then ask and you'll get a better idea on what to (not) do. You might find out that sometimes it doesn't even matter at all, as long as you're interested and know computer stuff already, the rest you'll just pick up along the way. And then with a few good resumes your good even without a degree. A good tip is whatever education you start out on, try to get jobs in tech support during your education to help fill your resume (which at this level might be more important than the actual degree).
PS. DO NOT make your decision solely on my advice, especially since I've never touched the US educational system.
OTOH, our uni's tech support/admins only hire those with a masters degree (their reasoning for this is that if you've spent the time getting a masters you're ready to pick up most knowledge pretty fast).
But to summarize: Yes, I would see it as a bad decision taking CS if you're only going to do tech support. OK, maybe not very bad, but still bad as you're spending time learning things you will most likely never need (and would make at least some employers wonder why a such qualified person wants a mere tech support job).
Think of your decision well and grab information from different universities about computer related education (visit their websites/e-mail/call them etc) and get a view what each program contains.
If you actually have the possibility to ask someone in tech support what they studied, then ask and you'll get a better idea on what to (not) do. You might find out that sometimes it doesn't even matter at all, as long as you're interested and know computer stuff already, the rest you'll just pick up along the way. And then with a few good resumes your good even without a degree. A good tip is whatever education you start out on, try to get jobs in tech support during your education to help fill your resume (which at this level might be more important than the actual degree).
PS. DO NOT make your decision solely on my advice, especially since I've never touched the US educational system.






