My grades have dropped steadily for the last three semesters, from getting straight A's to getting straight F's. Some of this is due to outside factors in my life which are and will be beyond my control and that I don't wish to discuss.
My biggest problem, I believe, is that I simply became bored with my chosen area of study after two years. I started my college career meaning to go into something computer related, but changed my mind and got sidetracked into obtaining most of the credits I need for an associates degree in English. In retrospect, I wish I would have kept on track with my computer related degree.
What I intend to do is take a semester off and get into a technical school during the summer so that I don't have to worry about paying my student loans back yet. My problem is that I don't know what area of study I should get into.
I worked in a PC repair shop for a while about three years ago, so I already have some of the basics down. I'm really interested in networking and stuff like that, but I also dig repairing and building computers, and I must admit I'm...intrigued by programming, though I have no training in it.
I guess what I'm asking for is advice, anecdotes, whatever you guys have that will help me decide on my course of study when I get back into school. A breakdown of the different areas of working with computers would be nice, too.
Posts
I really liked getting inside of the computers, taking them apart, seeing what made them tick and figuring out where the rusty gear was, so to speak. I could do that every day for fun.
Out of curiosity, what's so bad about general programming? I'm actually pretty clueless about programming in general. I knew basic when I was 10 but that's it.
Computer science is very theoretical, so you probably won't find any courses where you work with the hardware of a computer. That seems to be more of an area of computer engineering. Although I've had courses that teach about hardware, the lowest level of abstraction I've worked on are assemby level languages.
Computer science is also a mathematical discipline, where you will learn what a computer can and cannot solve, the running time of programs & abstract data structures. Many new students seem to forget this and are taken by surprise when they start. Having an interest in gaming / fixing computers / being the family's tech support will only get you so far. There needs to be a genuine interest in the theoretical aspects, which may be useless in the real world. Computer scientists are generally seen as the ones that work with software (not that you have to of course).
computer science
computer engineering
networking
information technology.
those are basically the four areas that you get to choose to study from. networking is often associated with IT, so a lot of schools won't have two separate programs in that sense.
let's start at the top and make very brief summaries of each category:
computer science - programming, basically.
computer engineering - a mix of heavy electrical engineering, with an emphasis on computers as well as computer science.
networking - basically dealing with large systems of networks. this'll probably consist of classes learning various standards routers, protocols, the creation of networks in a big corporate environment, etc.
information technology - this sounds like what you want to do. this, as said before, can have an emphasis on networking as well, but is a lot about what makes a computer tick from the hardware side. it's also what i call the easy to teach yourself side of computers, given you have the discipline.
really, a degree is only what you make it. that said, an IT degree is actually really nice to have, as lots of places need IT people.
most of all, most of all
someone said true love was dead
but i'm bound to fall
bound to fall for you
oh what can i do
Ugh, I was hoping to do computer science based solely on those three things. All the information I've seen before has been vague about computer science, but none of it mentioned any of this stuff. All this stuff about programming and needing to be competent in math means I should do some re-thinking about my college aspirations.
Programming related degrees do tend to make you take some math beyond your basic algebra. I'm sure some of the classes or specific assignments would be easier with good math skills. The specific amount of classes and assignments will vary depending on the school's exact program and the teachers. On the other hand, once you're out in the real world there are plenty of programming jobs that don't require heavy math skills or even any math at all beyond some basic addition and subtraction and the like.
I'm awful at math. I barely passed algebra 2 in highschool. I failed it twice in college along with trig. I'm now the lead developer on multiple projects for a small international corporation. I've met plenty of other programmers who have similar problems with math.
Based on the OPs interests, programming may or may not be the way to go. Where he's at now is where every programmer I've ever met started... playing games, doing general tech support type work, etc. I'd say try some programming, see if it's enjoyable, and then make a decision.
This is EXACTLY what happened to me. I started off as a CS major thinking that since I liked playing computer games, tinkering with things, and even a little programming, that it would be the thing for me.....I then ran head-on into what it was actually like as far as the programming and the requirement that you pretty much have a minor in math before graduating - after the first year, I put myself right on the edge of being kicked out of school entirely because of the horrible grades.
After that experience, I did some soul-searching and a lot of research, and ended up taking a leave of absence for a year so I could go to a community college near home and take courses to allow transition into an IT degree at my original school - I did worlds better, actually enjoyed most of my classes, and am now happily graduated with a decent job.
ApexMirage: I'm sorry Computer Science didn't work out for you, but you're not really being very helpful at solving the OPs original problems, just at giving vague generalisations about things you didn't like. Please stop now.
OP: Listen to Xenocide and 01-gjk. Note that working in a PC Repair Shop is all well and dandy, but you can't get a degree in that stuff. You're looking to do an actual academic subject. It sounds like you want to be a sysadmin, which will need you to take a CS degree. Read on for my subject descriptions...
Computer Science is, unsurprisingly, the science of computing. Programming is taught as a means to test Computer Science problems. You perform the science with the programming. You learn about a wide and general range of CS, from AI to telecommunciations. It is the degree I suggest people get, as it sets you up for everything. Because CS is a theoretical discipline at it's core, you will need to take some maths classes. However, CS as a practice does not need that much math.
Software Engineering is the process of creating software. Again, this involves programming, but you learn things about project and team management and all the scaffolding needed to actually create a piece of software. As with CS, the programming is not an end in and of itself; it is used to express the design of your software.
Computer Engineering is the engineering of hardware. It's a specialisation of Electrical Engineering. Of what I know about it, it's things like signal processing and stuff. You would have to want to do it; no-one falls into it.
Network Engineering is a hybrid of Comp Engineering and IT to help build communication infrastructures. I worry that major is too specialised, and is shutting doors that CS as a general major would leave open. You can always specialise in a career later.
Information Technology is the utilisation of computer technology to solve business problems. It is a lot like Software Engineering, and will have many of the same classes. You will also learn how to program here, but it will not be the core element of what you do. IT != being a sysadmin. IT is the business of Computing, it is writing documents and expressing design ideas. It is very much Business with Computing in The Real World, not the other way around. I graduate from CS and took an IT job and hated it intensely. No-one in my company had any passion for computers, technology or games, just money. It is very much something you either want or you don't.
If you want to be a sysadmin, you should take Computer Science. If you are a competent sysadmin, you will also need to learn how to program. Of my team of 7 sysadmins, 5 spend at least half of their day writing scripts, 3 of those spend the entire day writing scripts. It is a fallacy to say that sysadmining does not involve programming. However, if you become a Windows admin, you might be able to avoid programming and simply tell you users that what they are requesting isn't possible, because no-one will sell you the functionality off-the-shelf. If you are happy to be that person, by all means go for it.
I hope this helps you OP.
IT != being a sysadmin.
Exactly my point - based on what I saw during the 4 years where I went to school, I would say that the CS majors were the farthest away from being sysadmins, with IT being the closest and SE somewhere in the middle.
IT is the business of Computing, it is writing documents and expressing design ideas.
Actually, that sounds more like (Management) Information Systems to me, with some overlap as far as the design stuff goes, depending on your exact focus within the degree program.
I graduate from CS and took an IT job and hated it intensely. No-one in my company had any passion for computers, technology or games, just money. It is very much something you either want or you don't.
My sympathies, I hope you're happier now.
Hehe, good line of thought... ;-)
I had a friend who dropped (failed) CS after a year, is doing computing management or something now. The maths side of CS replaced with business studies I think.
In The Real World, I think Information Systems and IT are used interchangably.
Oh, much better now. I work for a CS department at the local university as a system admin/web programmer and have the freedom to do whatever I want. It's like all the fun "playing with cool technology stuff" without having to justify it all the time. People in academic climates realise that sometimes the best things come out of messing around to see what works, rather than trying to justify the ends before you've even started.
I'm not really into the whole business thing, so maybe IT isn't the right way to go, but I'm not looking at a lifetime career right now. I'm looking for something I can get an associate's in and get paid decent enough to support me while I go to college for whatever I decided I want my doctorate's in. The closest ITT Tech to me has an IT/Networking program that's really intruiging me, so I need to set up a meeting with somebody there and see what happens.
The only computer program they had at my last school was "Computer Information Systems." I don't really know what fields that would fall under, but I really don't want to go back there anyway so it's kind of a moot point.
If you're planning on getting a PhD, you should be trying to find jobs and experience in the field that interests you. It sounds like you're just coasting along, and you don't really have a passion for anything: this doesn't sound typical of a postgrad. You really haven't shown any enthusiasm for CS in this thread, just that you wished you hadn't deviated to English.
I wouldn't recommend going to anywhere that isn't a "real" university (you know what I mean). You would be better off getting yourself a Cisco cert for Networking (this is one of the few places where a cert actually means something).
There's also an IT program at the IU close to me, but my grades got bad enough at my last school I'm not sure they'd accept me...
tell me more about this cisco certification.
Well, you don't need a PhD for that. But you'll never make a large amount of money doing that either.
Presuming the reason for your grade freefall is compelling, I don't see why not.
H&A has plenty of threads about whether to get certs or not. Search H&A and use Google.
Go find some tutorial on some programming language, follow it, build some programs and see how much you like it.
B.net: Kusanku
Indeed true, though "some" math classes may be misleading depending on the school you're going to. The one I went to required "a lot" of math classes, and classes that built on mathematics. I ended up taking a year of calculus courses, a year and a half of physics (calculus intensive, not theoretical), and probably two years of logic, proof writing, and other related courses. If you're not into math, it's a bumpy ride... but indeed, in practice you won't be using most of it by the end. During the process, it feels almost like an unnecessary hurdle they throw at you... though it does still come in handy to know on rare occasion.
At the school I went to, the IT program (I think they called it "Management and Information Science" or something like that) was, in practice, more like Applied computer science. It taught programming, hardware support, networking, and a little bit of business... but without the theory classes. In the end I still went with CS, but that MIS degree was a tempting thought as I sat in math class after tedious math class.
However I don't think the MIS degree got into the details like CompSci did. A lot of MIS students I knew graduated without really knowing what was going on in a database, or how to write a program for example. And I think it varies widely by school. A lot of schools might not even have a degree like the MIS program, and in some schools it might mean something else than what it did at mine. I think they're still trying to find a set identity for it (at least they were at Sac State, my alma mater... apparently since my graduation it's become more like a Business degree from what friends are telling me, which is a significant shift).
I'm really interested in hardware and networking still. I'm going to try to do a little programming. Does anyone have a recommendation for a starting language? What is the most basic job description of a sysadmin? If I get a degree in IT will I be able to go back for CompSci later if I decide that's my thing?
There are many schools of thought about what you should start with. I always say C, because it will show you about how the innards of almost all modern imperative programming languages work. However, if you want to see things happen on screen very quickly, I would say Python.
The most basic job description of a sysadmin is "the guy who makes the computers work." Think about everything you would need to do to support an office environment, such as buying PCs, installing software, networking them together, figuring out how you'll back them all up, making sure the users don't screw up any of your hard work, that sort of thing. I get a lot out of being a sysadmin because it really is like doing all the things you would probably do at home just for fun. I love to think about all the systems I have made, and how they all keep working, and visualising this huge ecosystem of software doing all this cool stuff, all by itself. Every day has different challenges. You need to know how to program so that you can automate tasks and go beyond what your software provides. You should start learning a UNIX-like OS (Mac OS or Linux) so you can realise how you can use shell scripting to do all sorts of amazing things. This is another place where a Comp Sci degree will help you.
For me, the problem with being a sysadmin is that the promotion path invariably leads to you doing less and less sysadmining, and more just straight admin. Paperwork paperwork paperwork. The things I enjoy about the job would go. I also find that I need to be part of a team where just screwing around with new stuff is OK; research is a big part of what I enjoy. I worry (although I don't know) that this is going to be a problem in corporations, but then again, in small teams and places your salary is very much capped by the amount the company is willing to spend. It's a toss-up.
I would be happy doing this as a career, but I just don't feel there's a lot of growth to it for the bits I enjoy. That's why I'm going on to a PhD in CS (hopefully) where I can continue to just research in an academic environment and keep trying new things every day, hopefully with a bit of extra money.
You don't have to have a CS degree, but it will make your life A WHOLE LOT EASIER. You could learn it all yourself, but you'll have a tough time convincing anyone to take you on for your entry-level job.
As for programming, which you will need to take at some point, also works fairly well through correspondence if you're capable of Just Fucking Googling (tm) stuff. C/C++ is the first language I started with, and the basics aren't too difficult. Once you've done a bit of C, Java might be the best choice for more advanced stuff, because a lot of things are easier/simpler in Java and programming isn't your main focus.
At that point, it's all about what you've done, who you know, and how well you can convince them that you can be a teachable part of a team.
YMMV. Can anyone back up this perspective, or am I flawed in my thinking?
I'll point out that at least at my school, Information Systems makes you learn some C/C++/Java programming along with the CS majors. The two diverge once you move beyond that.
For that matter, a lot of students in general wind up learning C programming at a basic level due to the university's general requirement for at least one computer course. So programming classes aren't just restricted to CS majors.
Steam Profile
3DS: 3454-0268-5595 Battle.net: SteelAngel#1772
This is absolutely true. A guy with a solid work history (in the appropriate field) will generally beat an inexperienced, but better educated guy every time. You won't necessarily need a full blown CS degree if you've got a couple of certs or a relevant minor and have done work in the field. You said you'd done some PC repair already, and this alone might qualify you for an internship at a place that'll have you learning networking.
Delaying repaying my loans + learning a useful skill that will pay for the rest of my college = what I want to do
I'm going to try programming with C pretty soon here, and I'm going to visit some colleges with a few friends within the next month.
Then why not major in one of those and just do the computer stuff on the side?
Spoit brings up a good point here. I've found from friends in PhD programs that if they didn't do their masters/bachelors in that same area, they're often forced to do lower level classes before they progress to their higher ones. One friend of mine was an English major and switched to Comp Sci... he had almost a year of classes to take as prerequisites before he could even take his Masters courses. =( I don't know if it's the same in those majors you're interested in, but it's worth looking into.
You may need (or it will help you with) a degree in CS for a professional, full-time job... but a job where you're just fixing computers or other such areas can have much more informal requirements. Hopefully this helps.
If you're just looking to know how to do things (like program, etc... and don't want to be bogged down in the theory and nonsense), some colleges offer applied computer science degrees.
When I went to Keene State College (in Keene, NH), that was the only CompSci program they offered... but it was much more entertaining than a standard one. You got to do a lot more projects and programming... the only unfortunate thing for me was that when I transferred out west, they didn't accept many of my credits (because they didn't offer an applied program where I ended up).
Anyways, do some looking around at the school of your choice and see if they have that kind of program available. I enjoyed it a lot, and in many ways I think it made me a more productive programmer. I struggled with theory more than my peers when I moved out west, but when it came time to do a project I was usually the only one who could pony up to the table and actually get something done. (not trying to toot my own horn mind you... I think anyone who came out of an Applied CompSci program would be in the same situation as I found myself in).