Fast Track to a CS Degree? 1143
kyrex asks: "it's been 5
years since I've been working in the tech industry and I've make
great progress. My salary has grown by an annual rate of about 50%
and I'm currently working as a consultant in a leading consulting
firm. But not having received any formal education in Computer
Science, and therefore having no degree will be a problem for
further progress. I've considered many options but they all take
time: at least 3 years. I've been programming since I was 12
(I'm currently 24) and have read hundreds of CS books. I think that I
can easily complete a CS degree in 1 year. I want to know if there
are universities/institutions out there that offers computer
professionals like me a fast track to a CS degree that will be
recognised as such by other universities (so that I can continue
with a MSc afterwards)"
no dice! (Score:3, Insightful)
your best bet is to maybe CLEP your way out of some of the other classes if you're really bright and study hard. but doing it in 1 yr is un-reasonable.
it's still worth the effort i think...
Re:no dice! (Score:3, Informative)
Re:no dice! (Score:3, Insightful)
If yes, then you may be pretty close to a CS degree already. One year probably won't work, but two years is probably doable.
If no, you've got well more than 30 semester hours of stuff like english, math, history, philosophy, etc. ahead of you, and everybody else had to take these classes to get their degree, why should you be any different?
The biggest problem in the first case is going to be dependancies -- CS 302 requires CS 301, CS 303 requires CS 302, etc. Even if you can place out of several classes (which may not be as easy as you think), many (most?) later classes won't have such tests.
Your best bet is probably night school, or perhaps some sort of correspendance school. If you really do have the skills (and already have the non-CS stuff taken care of), then taking the classes won't take much of your time. If you don't have the non-CS stuff, this is going to take a long time ...
And of course, as you already know, in this field a degree is nice, but it's hardly essential. An impressive resume is much more important than a degree ...
Re:no dice! (Score:5, Insightful)
If you want to move beyond a programming position, and into some sort of management position, having a degree becomes much more important- largely because of the perception by venture capitalists and other suits that you need a degree to manage.
Part of this perception is based on stodgy "conventional wisdom", and part of it is based on the reality that people with basic and advanced degrees can sometimes feel a little resentful when having to report to someone with no degree at all. I'm all in favor of a full meritocracy myself, but I'm just saying how it is for better or worse.
Re:no dice! (Score:4, Insightful)
I've been developing software for 18 years. I've designed a few motherboards (Motorola '340, ColdFire and PPC) and many other, "specialized" embedded cards -- a few are still on the market. I've been managing people (including managing managers) for the last seven years.
I have a vocational Drafting School certificate (got it 20 years ago), a pseudo-AS "degree" from a vocational Electronics School (they used ALL the Grantham books -- anyone know what I'm referring to? You're smiling right now as the pain returns to your forehead). CLEPed (or "challenged") Pascal, Assembly and C/C++ at a community college (lots of on-the-job experience helped me get a 4.0 on each exam
But absolutely NO degree. Nor will I ever get one, TVM.
If college teaches you anything useful, it's how to smash through a book and get *something* out of it. If you can learn this on your own, you're done! You can learn better ways to *design* software, architect hardware, program large-scale PLDs and DSPs, budget for your department and effectively manage employees (disputes and all).
My current team of developers is the best I've ever had the privilege to work with. Some have degrees; most don't. I have yet to tell the difference, and don't really give it much thought.
Yes, some companies bar non-degreed candidates. I think they shoot themselves and their hiring managers in the foot. They are also the very-rare exception.
Not having a degree has *never* kept me from getting the job I want. I seriously doubt it ever will. (I've been told, "Our policy is that we require a degree, but...")
Perhaps resting on degree-laurels has kept me from hiring some candidates, though. If you know your stuff, it shows; If you don't, you can't hide behind a degree.
Re:no dice! (Score:3, Interesting)
A common friend of us told him about an opening at a (insert major avionics manufacturer here) for a graphics programmer on SGI. This being his cup of tea, he applied, only to find his application rejected by the HR drones samped: "overqualified". Fortunately for my friend, a higher-up suit was able to override the HR department and he was hired.
I agree; degrees are not a universal answer (Score:4, Insightful)
I have hired people ranging from non-degree up to MSCS. Looking at the performance of the entire group, the degree people fit the "normal curve". Some good, some bad, most were at least adequate. The non-degree people were hired only when they could demonstrate superior skills. As it happens, those skills made them top performers when it was time to actually do the job. Of all the non-degree people I have hired, I have yet to be disappointed.
In my opinion, the degree is part of the selection criteria ONLY when ALL of the applicants are light on experience.
Some of the other posts are correct in that certain industries are militant about the degree requirement. Around here the common examples are government, insurance, defense, banking, and pharmaceuticals.
Case study #1: I once hired a guy whose only work experience was as a VCR repair technician. He was an engineering/computer hobbyist, whom I had known for years. He was an incredibly sharp guy, just a little unfocused. He was part of my staff for a few years, and then left to become a system manager for one of the largest banks in New England.
Case study #2: Same story, except this guy was an electrician who was doing mostly Cat.5 network wiring. He was on my staff for a few years, and is now the network manager for an state government agency with a very sophisticated WAN and LAN environment that includes numerous remote sites and thousands of PCs.
Case study #3: I knew another guy who earned an ASEE. He looked for a job and found nothing. He goes back for an AS in Data Processing. New job search, same result. He goes to another college and earns a BSCS. Still no job. Finally, he goes to college #3 and gets an MSCS, and EVENTUALLY, a job installing PCs and LANs in Georgia. We would still be driving a van full of PCs from Georgia to Alabama if I didn't hire him. Since then, he worked his way up through operations and became an Oracle DBA. He now works for a major pharmaceutical company, so things worked well for him too. Then again, if he never graduated from anywhere, I don't see how his life would be any different today, aside from possibly earning an additional 6 years of salary.
Let's face it, when the IT job market is cold, MOST applicants are going to get excuses instead of job offers. In such a tough market, you have to outwit, outplay, and outlast your competition, degree or not. In a hot IT market, the offers are out there, and exceptions are being made by employers, beyond what most people can possibly imagine.
Does the lack of a degree reduce my theoretical number of potential employers? YES, it does. However, I don't expect to get an offer from every interview. No one ever does. In my career, I have interviewed about 12 times and received 5 offers, for a hit rate of about 42%. Did I get "screened out" of several opportunities? Sure, but who cares? I only accepted 2 of the 5 offers, and I've been promoted 6 times by two employers during 16 years of uninterrupted employement. I don't let the degree become an obstacle, and every so often I find employers who agree with me. After all, I can only DO one job at a time, right? If I apply for ten jobs and I'm ranked #1 once and dead last for the other nine, that's a hell of a lot better than being ranked #2 all ten times, as described in case study #3 above.
In my opinion, things that don't make you a #1 choice are not all that useful. To me, the degree is what helps you reduce the number of reasons why an employer might NOT hire you, but it's not as valuble as adding a reason why they WOULD hire you. Think of yourself as a hiring manager. Can you imagine telling your boss something like "I hired Joe Smith because he has a degree." On the other hand, would you rather say "I hired Joe Smith because he has great experience." To me, one of those statements sounds much better than the other.
Re:no dice! (Score:3, Interesting)
In some companies, mostly smaller ones where you "know the ownner," you can prove this without the degree. Any company larger than that, however, is going to require a degree simply because they do not have the time and ability to check for these things. Far easier to just check for the degree and assume (checking in the interview) that the required skills are there. This is not a decision based in laziness, but rather economics. It is cheaper to just check for the degree, and it is cheaper not to risk training a high-school grad.
My point? The degree opens up an awful lot. You may be able to advance in a company that is small enough to assess your abilities without the degree, but changing companies will be difficult.
It seems to me that so many people without their degree on this thread seem to be saying "the degree is just a chance for THE MAN to keep people in line." Have you ever thought that, perhaps, a well-rounded college education is actually a benifitial thing?
There also seems to be a lot of "I was able to do it, so you should too." Wrong. If the guy is in a company that will not allow it, that is not going to change. he could change companies, but that is going to require him proving himself to the new company (since he does not have the degree) before he is able to prove that he is worthy of advancement.
Re:no dice! (Score:5, Funny)
apt-get install cs_degree
;)
Re:no dice! (Score:4, Funny)
alternately, you can remove the sleep module from the kernel and keep some free time, but this has been known to cause unstable operation if sleep is completely and permanently removed (you might get away with using almost_no_sleep instead of the full sleep module.)
Re:no dice! (Score:3, Informative)
My experience is that director level is where lack of a degree really becomes a hinderance. At this level firms begin looking for someone who is more of a line-of-business manager than an uber-geek. It's important to be able to interact effectively with other segments of the firm.
At the director level I spent the majority of my time working on non-technical issues. Budget creation and management, personnel development, customer service, sales support, and overall group leadership took the lion's share of my time. My strong technical base was important for all these things. It also gave me a logical and methodical way to approach all of these things rather than the emotional responses of my peers brought up in other areas.
What are your goals? Do you see yourself as the uber-coder, design consultant, systems architec,etc? If so then a CS degree is the right track for you. If you see yourself as a director, vice president, CxO, other corporate line of business manager, or perhaps owning your own company then another degree track may be a better idea. You might consider a BS in business management. If you watch your electives carefully and take a minor in MIS (CS if you must) then you can be well prepared for a CS masters program.
The key is to use a degree to fill in what an organization may see as the holes in your resume. Do they see an uber tech with little in the way of business skils? Do they see an excellent coder who needs system design experience? If your resume stresses only a single skill set then you are limiting your competitiveness for many positions.
Take the time to analyze your long term career goals. Find someone (preferably 2-3 someones) at the VP/SVP level who will critically analyze your resume and give you their opinion of what they see lacking. Take them out to dinner and explain in advance that you are looking for some overall career guidance. I've had it done for me and I've done it for members of my teams.
Don't look for the 1-year solution because you don't want to spend too much time and/or its what you need to get ahead in your current position. You're 24 years old. Assuming retirement at 65 you've got 40 more years in the workplace. Take the time now to assess where you want to be in 1-5-10 year time intervals and start doing what it takes to get there.
clept tests? (Score:5, Informative)
Re:clept tests? (Score:3, Informative)
Re:clept tests? (Score:4, Informative)
In short, I wouldn't expect to complete it in a year, even if you can devote the time to be a full-time student, however, you should be able to do it in 2 to 3 years taking only 1 or 2 classes a semester and challenging the rest. The main problem is that there's a lot more to a CS degree than CS. The vast majority of accredited schools are liberal arts schools, which means you have to fulfill other requirements in English, Foreign Language, Physical Science, Life Science, History, Social Science, Humanities, etc.
A guy I used to work with managed to get his school to accept C as his foreign language, though...
Re:clept tests? (Score:3, Informative)
Furthermore, to receive a Bachelor's in CS from most good universities, you need two years of humanities, and that's what would probably kill you.
(The clept term came from the saying I CLEP'd a class.)
The quickest route to a ACCREDITED degree (Score:5, Informative)
Select an accredited university. Do NOT get a degree by mail. You will get called on it by any reputable employer.
Find a university that will provide "work experience" credits. I went through Wayland University (based in Texas). They allowed up to 20 some credits based on real-world work experience. This eliminates the need for some boring electives.
Select a BS program that is quickest to achieve. I obtained a degree in Business Administration because I knew and could document my technical experience. With the Bus. Admin degree I would prove to employers I can also understand business and management allowing me to progress up the corporate ladder.
Next, CLEP or DANTES test out of every class you can. At around $50 a pop, they are worth taking even if you are unsure of passing. I took ACCOUNTING I class and CLEP'd out of ACCOUNTING II. I also CLEP'd numerous math, physics, and astronomy classes simply because I knew the material reasonably well. Depending on the university you select, you may only need around a 50% passing score on CLEP or DANTES tests to be given credit. Since they are multiple choice, your almost guaranteed 25% correct by guessing.
Once you have cleaned out all the elective classes through CLEPs and work experience, you need to focus on core classes. Universities require you to take a minimum number of required courses from them in order to obtain a degree, usually 11 classes or so. You will not be able to get around this. Select the classes you believe will be important to give you a good background in the degree field you've choosen. They will actually be beneficial to you in the long run.
Final thoughts. I completed my degree in just under 2 years by completly immersing myself into the program (while continuing to work full time and run my own ISP and security consulting business). I had ZERO social life for those 2 years but it was well worth the effort. As a side note, once you have the credits (through CLEP, DANTES, or actually taking classes) and complete you degree you always have the option to leverage those in a second degree at another university. Get the quickest degree (Business admin, forestry, or whatever) then go back later and take a few additional classes to get the CS if you desired.
Most important, although you might think a CS degree is critical, employers first look to see if you have ANY degree, which provides them documented evidence of ability to learn and desire to grow in knowledge. Get a degree!
Hope this helps.
Re:clept tests? (Score:3, Insightful)
This all also holds true for any "real" degree from a university. To get a real education, you have to spend the TIME and EFFORT to learn AND INTEGRATE the process of learning in a wider variety of disciplines than your discrete area of focus. Otherwise it is simply a certificate, or a degree from the university of phoenix.
Re:Uof Iowa did not accept clep for Comp Engineeri (Score:4, Funny)
What for? (Score:2)
Re:What for? (Score:2, Insightful)
Re:What for? (Score:3, Interesting)
In the 70's, the DOE's Pantex Nuclear Weapons facility in the Texas Panhandle fired dozens of experienced scientists with proven track records... simply because they did not have degrees.
Re:What for? (Score:3, Insightful)
Here it is, what school really means:
Sure, there are exceptions to each of these (ie - some jobs require a masters, but I think that's bubkis), and, yeah, school means more than that (like learning how to learn, etc...), but thats the "big picture". At least, in the 'big company' aspect. If you want to go into research or teaching, then its a different story.
Paper (Score:3, Interesting)
There are many great people out there hindered by this belief.
I dont think all companies and organisations within the industry are that judgemental. Most companies have theyre own rating system internally.
Stick with them.
Make yourself valueable to them.
Re:Paper (Score:2)
company (as do I) and I can assure you that these
companies send resumes of their staff to potential
clients. At some point this will REALLY become
an issue if the gentleman plans to stay in the
consulting field.
Further, a college education is more than just the
technical classes that you take. Even at
polytechnic universities like the on I attended there
are breadth requirements for a reason (even though
I hated them at the time).
All that being said - another (tougher) suggestion
is to try getting the degree part time. Giving up
the big pay check can be tough - this the one
solution I know about that doesn't require it. You
do give up a social life (another thing you would
have if you were just a student...)
Re:Paper (Score:5, Interesting)
Like it or not, a degree indicates that the person has at least some formal knowledge of material. Formal knowledge is no joke. It helps you recognize good form from bad form. Formal knowledge leads to understanding structures and architectures and other complex things.
Education itself is always behind corporations. It is behind technology in general and it seems out of date, almost immediately. However, the idea is to learn core principles. Tools and techniques for solving problems. Therefore, some of the best technical people will have degrees in areas like psychology and philosophy. (I've seen this again and again. Many technical degrees are inferior to non-technical degrees even though the person is in a technical field!)
Don't be foolish: Degrees are not the only thing companies use to judge people. They also look at pure technical skills, previous work experience, and so forth. A degree is only one part of the equation.
There are also some people out there who simply love to learn. They go to school to learn quickly or learn deeply. This idea is insane to mose people because it doesn't always translate to money. Oh well...!
Re:Paper (Score:5, Interesting)
When I was a kid, growing up in Silicon Valley (I'm 30 now), I heard a lot about how brilliant engineers at companies like Apple did really wonderful things without having a formal college education (nevertheless, I went to college)
Towards the end of grad school I bought some books on programming the Macintosh, as I had just gotten myself a Mac laptop. Having studied operating systems at both the undergrad and graduate level, and having programmed my Amiga and the school's Unix systems for years, I was shocked when I read what the internals of the Mac OS (then System 7) were like. They looked like what someone with a lot of Apple II experience would have designed: global system variables in known, fixed, publically-accessible locations (just like my old Commodore 64!), all user-level programs ran in supervisor mode, etc. The original Macintosh was a fine piece of work, with an innovative GUI. However, it would have been really nice if someone who had gone to college and studied operating systems (of which there were plenty in Berkeley, an hour's drive away) had been there to keep the OS team from making some really stupid design decisions.
Re:Paper (Score:5, Informative)
I'm not saying they couldn't have done well with more C.S. people, but I don't think they ever anticipated that the code and the API they were writing would be used by the same type of people who were using modern "workhorse" operating systems...
Re:Paper (Score:4, Insightful)
I own my own consulting business, and it is true that my day-to-day contracting has a lot to do with the languages I learned after I left academia. BUT:
The problems I have to solve are many and varied, and often I find myself applying knowledge from my CS classes 15 years ago: "hmm... didn't we study a quadtree-like data structure which would be good for that problem?" "isn't that just a binary matrix multiplication?" And so on.
Academic CS is to practical CS what physics is to architecture: you need the theory to make a well-built product, and you need the product to make the theory meaningful.
True, you don't need the piece of paper to get the theory. But the piece of paper usually proves that you've been exposed to it, and even an average student will absorb things by osmosis.
Re:Paper (Score:5, Insightful)
If you've ever interviewed anyone for a job (or talked to anyone ever for any reason), you should know that people fudge all kinds of things on resumes to make themselves look better. A college degree is something that represents a substantial sustained work effort.
The attitude that you are too smart for college is not too far off from the attitude that you are too smart to work with non-technical people. It's a kind of superiority complex that I see from time to time in geeks (possibly as a result of a painful high school experience?). I'd just like to point out that if you think you are better than someone because they used to think they were better than you, then what sets you apart from them?
Re:Paper (Score:5, Insightful)
It's unfortunate that so many people think that college is just about getting a piece of paper.
Re:Paper (Score:5, Insightful)
Re:Paper (Score:4, Insightful)
I think you are wrong, not in your conclusion but in your premises.
Academic CS departments do not need to keep up with the latest iteration of C++ or Java and should not even try. Their job is to impart the fundamental knowledge of algorithms and systems that allow graduates to adapt to any particular application.
Self-taught gurus often have knowledge that is a mile wide but an inch deep, or they may be highly specialized in one particular field and know nothing whatsoever of anything else.
CS graduates avoid these two extremes, and can pick up new languages and concepts faster because of their grounding in basic science.
As an analogy close to my experience, it would be theoretically possible for a non-physician to become so skilled at a certain narrow field (for example reading mammograms) that most of the time the results would be as good as a board-certified doctor. However, every once in a while a really tough case comes along that requires knowledge of basic human medical science to interpret and integrate correctly. This is why you wouldn't want anyone but a doctor reading your wife's mammograms.
That's why we have the MD and by the same token, that's why we have CS degrees. However, the consequences of a mistake are rarely so dire as in medicine, and so the dilettantes and autodidacts of the CS world are free to flit from company to company, leaving half-baked useless projects in their wake wherever they go.
-ccm
What about system and network security? (Score:2, Interesting)
Re:What about system and network security? (Score:2, Funny)
That's the reason it's called a "BS" degree :)
Re:What about system and network security? (Score:2)
I had a love for the subject and had invested my
own time through pursuit of a hobby related to
electronics. This drove me into Electronic engineering.
I've been there for over 20 years now, and I can
safely say I learned my profession in the university.
I've met several "natural" engineers in my time, one
of which is still one of my closest friends (met him
in college don't ya know..)
I'm considered good at what I do, and I learned it
in university. So go throw the BS some place
else!
Re:What about system and network security? (Score:2)
I live in Alabama, where few corporations understand technology to begin with. Down here, they don't care if you "love it", just as long as you have a degree or a certification.
Getting my MCSE got me a 20% raise (proving that you don't even need to use a Windows OS in order to pass the tests.)
Sure, there are some companies that "get it." but in those parts of the country where most of the people voted for Bush, [newsmaxstore.com] a degree is your #1 tool to making money.
Numbers (Score:2, Funny)
Re:Numbers (Score:2, Insightful)
Re:Numbers (Score:5, Insightful)
to give you 50% raises every year. 15% is a GREAT
raise! Look at other fields like teaching where they
go 6 years before they see a 6% raise!
The only nominal way you will see beyond a "percentage"
raise is by jumping ship. If you like your job and
like the people you work with -- think about that prospect long
and hard right now. Jobs are NOT secure right now ANYWHERE in
the technical trades - so if you feel secure, that in itself
has some value right now.
More to the degree (Score:5, Insightful)
Re:More to the degree (Score:5, Insightful)
Re:What about the humanities (Score:5, Interesting)
Re:More to the degree (Score:3, Insightful)
I couldn't disagree more. I was a complete social misfit when I started college (ok, I guess I had learned by the start of my senior year that some things needed changing, but I hadn't figured out what nor how by the time I started college). The experience of working my way through college, especially the part where I had to become a co-op student to afford it and all the things I learned in that arena, was what made me as socially fit as I am. Which is not to say I'm Mr. Sociability, but I'm a damn sight more pleasant to be around than when I was fresh out of high school.
Of course, that's probably completely irrelevant to the person asking the question, since it sounds like they've had enough world experience in non-college settings to either have "gotten it" or not by now, and be pretty fixed in their ways.
Problem solving skills (Score:3, Interesting)
In addition, the engineering classes I took weren't really valuable for the formulae and math. I found them valuable for the problem-solving skills they taught. I don't believe even science degrees approach this sort of problem solving, and I find that those with some sort of engineering background (or a "hard" science like Physics) generally make for better programmers, administrators and architects of IT shops.
Re:More to the degree (Score:3, Insightful)
I'm not knocking anyone in technical school...
Well I AM knocking people in technical school. I am so tired of dealing with closed-minded, unsophisticated people who say "Oh, I went to college, just not to university, I didn't need all that extra crap" and who really aren't qualified as anything other than being code robots.
These people have a lack of vision, a lack of social skills, a lack of education about the rest of the world (and, therefore, the implications of having to function in international business). They tend to be abrasive, conceited, misinformed about the world at large, and most of all, inept at nearly anything other than coding or networking or whatever their ticket label said. This (in a funny way) makes them worthless for coding as well, since code written as though it is in a vacuum is generally useless for real users (i.e. humans).
Let me state it more strongly, if that is even possible: anyone who has gone to the Metro College of Technology and acquired an associate's degree in information systems or visual basic programming is not a "college graduate" in any useful sense of the word, and yes, if this is you then there is a good chance that you may be quite ignorant. This didn't used to be a problem because trade school graduates (i.e. mechanics, television repairmen, etc.) served a limited and useful function in a small segment of society. Today, however, it seems like any occupation or project at all in any field requires the hiring of large numbers of tech workers. As a result, these people are everywhere and are beginning to think that mere artists, scientists and diplomats are old-fashioned and are no longer needed. If the trade school kids end up running the world because nobody bothers with university any longer, God help us all.
The world is made up of a great deal more than computers, American business and pop culture. Too many tech workers simply have no idea at all and would likely be embarrassed if they realized just how unsophisticated they often sound about life, the universe and everything.
what about... (Score:2)
I guess an SAP-certiufied consultant, or a Java-certified developper or an Oracle DBA or whatever else whose company could afford the short but intensive training costs could show quite a worthy piece a paper to a company willing to hire him for specific purposes...
There are also company who claim they'd pay the costs of a complete university degree (MBA, for example) to their best employees, that's why until you actually know what you expect I'd advice you to just impress your chiefs.
BTW, if you are willing to relocate in foreign countries, then I agree you *need* at least a Bachelor to obtain the work VISA.
Re:what about... (Score:2)
Life experience credit (Score:2)
I'm in the same boat as you are, right now.. I have 3 semesters to go towards a CS degree, but I'm working right now at a consulting firm. A degree is good to have, and I'm sure I've done some things that will count towards life experience.. my current job, past internships, etc.
I can't stress enough how much the core CS classes have helped me. I have a much better understanding of data structures, algorithms, software engineering, etc. than I would have if I'd taught myself those subjects reading books. You may be a different type of learner - I'm just going from personal experience, but I wouldn't skip too much of the core CS. Intro to programming courses don't matter, but don't cheat yourself out of a solid CS theory foundation.
Also, depending what school you go to and what you are planning to do after you graduate, you should think about physics/math requirements. My feeling is that they are outdated and shouldn't be required - some CS programs are still taught as if every grad is going straight into academic research, where these things are of course necessary. In many other careers CS could lead to, you won't ever touch that calc book again.
Re:Life experience credit (Score:2)
I agree - Programming is no different than learning a new language. You go about it two ways:
You can move to the country in question, learn by ear, and though you will get a great vocabulary and a feel for the language, you will have absolutely no grasp of the mechanics of the language which will damage your ability to adapt to future changes in the language or the culture. Or you could go to school and learn the language from the ground up. Then, you can head on over to the country with a solid basis in hand. Imagine how much farther you would go and how much more you would be able to do.
Either way, however I can't stress the importance of actually getting out and experiencing the culture (ie, get a job).
Possibly SOL....? (Score:2)
But there are some distance learning stuff that some schools are developing, which might be good and easy to get done quickly, depending on who's giving it.
Beware those distance leraning programs where there's no human interaction (ie, an entire computer based course). I once took a short Java course through one of those - lousy and full of errors. If you were asked to enter some missing text, liek the "String [] args" in the main() sig, using "String[]" as opposed to "String []" (note the space) gets you marked incorrect, not to mention they were full of syntax errors. (Coincidentally, the course was given through a Java-applet)
I'm sure its already been said many times (Score:5, Informative)
A CS degree (or any degree, for that matter) is not like a certification: it doesn't simply show mastery of one thing, but it demonstrates formal education in several areas, including critical thinking, math, communications (written and verbal), etc., with a specialization in one area (in your case, Comp Sci). You may be a stud programmer, but you will still have to take English, Math, some other basic requirements and some electives. 1.5 years is unreasonable, unless you are going for an Associate's degree, which I wouldn't recommend - it will probably be worthless given your experience.
Having said that, go ahead and spend the time getting your degree. Ignore the people that are sure to be posting ignorant crap about how "I wouldn't want to work at a place that values degrees!! Its just a piece of paper!" Those are, in all likelihood, people that couldn't hack it in college due to a serious lack of social skills, motivation, work ethic, whatever. The basic fact is that in order to advance in the majority of the organizations out there, you have to have some sort of degree.
In all likelihood, you can get your firm to pay for you to get your degree at some local university. Why not take advantage of it and do it right instead of trying to find some way to rush through it?
Re:I'm sure its already been said many times (Score:2)
For me, it was never a problem with motivation or social skills. It was a problem that the university I attended (LaSalle University) offered NO challenge to me on any level, in any course. English, Math, CS, Philosophy. I was bored out of my mind, but pulled A's without a problem. So, instead of blowing my savings to learn NOTHING, I quit and started working. And you know what? It was the best decision I ever made.
In the place that I work, several people who used to work here had college degrees in CS from respectable colleges. And you know what? They couldn't cut it AT ALL on the job. Sure, they knew the fundamentals, but they didn't know how to apply those to their work. Which makes them pretty much worthless on the job.
A degree will only help to:
1) Get your foot in the door.
2) Back up the skills you actually have.
A degree without real knowledge is much more worthless than real knowledge without a degree. And in my opinion, a nice long interview can easily seperate the people without degrees who can cut it on the job from people without degrees who can't.
Re:I'm sure its already been said many times (Score:4, Insightful)
>social skills. It was a problem that the
>university I attended (LaSalle University)
>offered NO challenge to me on any level, in any
>course.
Quite bluntly, if you couldn't find a challenge at a Christian Brothers' school, you either weren't looking very hard, or got *very* bad advice.
What faculty did you talk to about finding more challenging material? What did you do to go deeper into the material? What projects did you involve yourself in outside of class? Who did you talk to about taking upper division courses early.
The Christian Brothers are second only to the Jesuits as educators. It's *tough* to not get challenged around them . . .
hawk
Re:I'm sure its already been said many times (Score:4, Insightful)
That is what things like internships and "the first job" are for. As hundreds of others have pointed out in this thread, college is not about getting, for example, the programming skills for the rest of your life. The idea is completely different. Colleges realize they are not trade schools, and nor can they replace on-the-job experience. But they provide something completely different.
Which makes them pretty much worthless on the job.
No, they have potential. They need to be trained for the specific job, just like an employee who never went to college. You do train your new employees, do you not?
A degree will only help to:
1) Get your foot in the door.
2) Back up the skills you actually have.
You forgot one:
3) Know how to learn.
I would argue that #3 is the most important, and what you are not allowing your new employees to do.
Remember all that junk about Eagle Scouts? (Score:5, Informative)
College degrees have a similar effect. Besides showing that a major university considers you qualified and educated in your field, it proves that you're willing and able to achieve a difficult and long-term goal set before you by yourself. The goal isn't to prove you know your stuff, but to prove you can prove it, and hang in there long enough to impress someone much bigger than your corporate boss.
Re:Yeah but B.S.of A. hates gays. Just proves... (Score:3, Interesting)
Thanks for jumping to conclusions, and helping to re-inforce negative stereotypes.
Note that I'm *not* an Anonymous Coward, so feel free to reply to that. I'm willing to put my name behind my views. Glad to see that you're able to keep thinking independantly yourself. Way to keep an open mind.
Absolutely right (Score:5, Insightful)
This is absolutely correct. Your BS or Bachelor of Science indicates that you have completed a certain set of requirements relatively common across all types of degrees that indicate they are of this type. For me, this included a few Chemistry classes, a few Physics classes, a good many Mathematics classes, various humanities and social science classes (various psychology classes, a literature class on Sci-Fi, and quite a few foreign language courses in my case) as well as classes in other disciplines such as Computer Engineering, Electrical Engineering (logic gates, anyone?) to name but a few.
As was mentioned above, you may be a crack programmer, but that's not all that's required for a degree, which is why you need a degree to continue to progress on your career ladder. The tasks that most probably await you will require certain degrees of critical thinking that are enhanced with the variety of non-CS classes that are required for the BS degree.
Another thought: do you have any degree? I assume you do not, but if you *did* many CS Masters programs (for example that at Chicago's DePaul University) will allow you to either take or test through a variety of core classes that essentially determine if you have what it takes for the Masters courses, if so - you're home free and on your way to your Masters. If not, you simply take the classes you need (shouldn't take more than a couple semesters) and then you're on your way. Again, I believe this only works if you have an undergraduate degree of some sort already.
ArsDigita University(closed) (Score:2)
There's no traditional university that does this. In fact, its not possible to do it in a year. You need 130+ credits to get a CS degree. Maybe in 3 years if you are dedicated, and can work
I really wish there was a place where you could take university quality CS classes in a program geared for working adults that didn't require you to take english, history, or whatever. I don't know of one, however.
You're in luck... (Score:2)
Seriously, 1 year is an awefully short period of time, and I would think you would really loose out on a lot of good classes.
Being in the same situation you're in, but having the benefit of following my friends throughout thier CS studies, I would have to say that I'm a lot less optimistic than you.
While you probably already know Universities don't subject you to much to the technology, you can really emerse yourself deeply in the theory.
My advice: If you really want to get the most out of a degree, put some good time in it and specialize in 2-3 related areas, while going for your Masters. Become THE authority in those 2-3 areas, and have the papers to back up your assertions.
Don't bother (Score:2, Informative)
Computing is still a field where a degree isn't mandatory. It's possible to get by (and even thrive) on determination and ability, if you're willing to work hard at it. Having a degree is better than not, and having a computing degree is better than another one, but nothing will preclude you from going as far as you want with one caveat--grad school. (more in a minute on that)
As far as the "fast track degrees," if it's the sort that I'm thinking of ("Start A New And Rewarding Career In Computers In Your Spare Time!!!!!") then don't bother! Nobody in their right mind takes them seriously. If you want some paper, take vendor courses and exams and become a "certified" Sun/HP/Linux/Whatever admin. If you can put that on your resume', it'll show more prominently than a degree from Bob's Computer College and Used Car Sales.
The one case where a degree is almost critical is if you want to go on to get a Master's or Doctorate. The problem there is again that a degree from one of these colleges isn't going to help much.
If you feel the need for a degree (and there are very good reasons for it), then take a deep breath, pull out your chequebook, and spend four years at it.
Re:Don't bother (Score:2)
No... and the very question is insulting (Score:5, Insightful)
For CS in particular, any university worth the effort of attending will probably require you to complete the first-year courses in all other sciences - physics, chemistry, biology. Plus first year courses in mathematics. Plus the humanities - literature, humanities, etc. You aren't expected to become an expert in any of these fields, but you should learn enough to be able to recognize when someone is trying to sell you a pack of lies in an election, in a courtroom (as a juror), or as the next-of-kin when a loved one is seriously ill. That's the stuff that ultimately matters, not just knowing how to write LALR(a) grammars.
What's that I smell? (Score:2)
In any case, I don't see how you can complete a CS degree in a year. At 120 credits for a degree (mine was actually like 139), that comes out to 40 classes at 3 credits per class. 20 per semester? Even if you include a full winter and summer schedule (which is probably hard to find), 10 classes in a semester is an impossibility. 2.5 hrs per class per week = 25 hours per week = 5 hrs per day if they are all in a row. Not to mention that there is such a thing as prerequisites for classes, so many of the classes cannot be taken concurrently.
I'm sorry, but this whole "Ask Slashdot" seems just too outrageous to be true.
Education or vocational training? (Score:2)
If you don't, then knowing all there is to know about your major shouldn't be worth more than, say, half of a degree, from any respectable school. That's because a college degree (undergrad BA/BS level) implies more than passing your major, it implies some degree of general education. It means you've taken the "distribution requirements" in humanities, sciences, etc. That's what distinguishes college from trade school. A college grad should have been exposed to at least a good selection from literature, art, history, economics, and other subjects utterly unrelated to the major. And should be able to write a decent essay, if not a thesis -- literacy is a two way street.
At the grad school level, your work experience and trade ability are more focused. But don't confuse training with education.
I work at a major consulting firm, in a technical group. We're largely a bunch of liberal arts majors who have technical skills. Moving up in consulting requires educational breadth, not depth. At least not the kind of depth you get in college.
This is going to be a BIG shock to you, but... (Score:5, Insightful)
I am in the same boat as you, and when I attended [a state school in Florida well known for computer science], I was surprised that the focus is entirely on the Science of Computing. Sure, some classes require you to know how to program in a certain language, but that is not the focus. The focus is on MATH. At least in the first years (that's as far as I got
In short, I don't see how a human could possibly get a CS degree in one year.
So you have the veneer (Score:3, Insightful)
Even if you have read through many of the senior level texts, you probably didn't fully absorb the subject material without the fundamentals. It is amazing to re address a subject when you have a better grasp of the fundamentals. The subject looks so much clearer.
Now that doesn't mean you can't have a rewarding career as a programmer. Many of your co workers will not have fully grasped the subject material on their degrees, thus putting you on a equal footing. When it comes time for promotions, or finding a new job though you will be much better off with the degree.
I'm not sure what a degree would do for you... (Score:2)
It seems to me that you're already "over the hump" in terms of getting into the industry, and that ANY degree, be it a BS or MS, isn't going to be worth the effort.
Learn Skills Other than Computers (Score:2, Insightful)
My CS degree did not come close to preparing me to become a network admin but those years of math taught me good problem solving skills and occasionally I actually do use the Calculus. When getting a degree though you learn about more than just computers, you learn a little literature and history. Although this will not help you program, it does give perspective and rounds out the tech skills. You also may learn a little accounting and business law, skills that you will need as you move up the ladder and need to worry about budgets and personnel issues. These are just a few examples.
A college education is not for everyone but it is a good way to round out your knowledge base and the parties are cool.
1 year MSc? (Score:3, Informative)
As others have said, there comes a point where experience counts more than bits of paper; I don't really see how relevant my degree is now, as my experience has more than surpassed it. Over 90% of what I do is stuff I've learned in the last 4 years, not stuff I did in class.
Online Unis (Score:2, Informative)
The *really* cool thing is that they're a Cisco Academy (and have something similar worked out with MS, apparently), so the courses you would take in, say, Computer Networking, are also good for your CCNA.
And no, I don't work for them.
In any event, check some of the border colleges- those that are midway between a "full" university and a community college. You may be suprised.
-- F.S.
Overseas (and straight to MSc) (Score:3, Informative)
Why a CS Degree? (Score:5, Insightful)
If you're looking to advance your current career I'd say an MIS Degree (Management of Information Systems) would look better on your resume than a CS Degree.
It's been my experience that CS programs teach people to be programmers. How many CIO's and IT Directors are there that have come from the programming pool? Less than 1/2? Yes, programming is one road into an IT Career, but it certainly isn't the only one, or even the road that is the quickest.
All that said... a Degree isn't like an MCSE, you have to put in some time to get that piece of paper, but it'll be worth the time. Take the three years and learn something that will stick with you, rather than the current flavor of the day programming language.
Need a degree? (Score:2)
It's already clear that if you are on the bleeding edge then there's not much in school for you, but a college degree is a status symbol. When you're hobnobbing with the bigwigs at a cocktail party, hoping to get some high-dollar consulting work or whatnot, and they ask you where you went to school it comes in handy. Shallow though it may seem, many people will dismiss you if you don't have a college degree.
Your social connections can take you far in IT because so many geeks have no interest or skill in business communication.
Huh? (Score:2)
Is it because you're making a lot of money? Because you've been programming since you were twelve? Here's a tip: there are plenty of people in college who have plenty of money or have been programming since they were twelve, and they weren't able to skip 3 years of college, why should you?
In what other field could you ask such a thing? (Score:3, Insightful)
Blatant troll (Score:2, Funny)
Don't rush it. (Score:3, Interesting)
You've probably already got a good enough track record that to continue doing what you're doing and continuing advancing won't really be a problem. BUT...
Don't just go for a fast-track degree - i.e. don't go for a degree 'cos you need a bit of paper. Do the three or four years. Don't just take classes on the narrow subject that your career is - use university as an opportunity to take a sabattical from the world of work and get a broader knowledge of more things.
Although I went to university after only working for one year, I decided not to take a course that narrowly focused on only technical subjects. I'm a software developer - yet I took a BA degree, not a BSc.
I really enjoyed university, and I'm glad I didn't just race through on a fast track.
American Institute of Computer Science (Score:2, Informative)
A good thing takes time (Score:5, Informative)
You're a consultant at a major consulting organization. Fine. However, I deal with people from major consulting organizations just about every day, and while they might have some very practical skills, most of them are pretty mediocre (speaking from a CS point of view) and come from a business background. There's nothing wrong with this in itself, but it's a very different thing than having a CS background. CS teaches you a ton of things which you'll never need in your daily job (especially not in the position you've described yourself as having) but which form the foundations of the Computer Science discipline.
Also, I'm a bit sceptical about your claim that you've read hundreds of CS books. I'm a bit older than you and do have a CS degree and I can not claim that I've read 100s of CS books (maybe 100, but that would probably be stretching it; I may have browsed 100s, but that's not quite the same as reading & understanding them). Things like advanced algorithms, design patterns, compiler design and other related stuff are not light reading and can't be read in a weekend (at least not if you really want to *understand* the stuff they cover). And once you start reading Knuth's books, well, then you should have some serious free time if you want to understand them (despite several tries, I've never actually managed to dig through the entire 1st volume of his AoCP).
I found that duing my CS studies, much of the grueling time spent in my compiler design classes (to name a paricularly 'fun' one), was time well spent. I doubt you could really get the most out of these types of classes without actually doing all the work & projects; this unfortunately takes time. In summary, real CS and the stuff you do at work are probably quite different. Having done Business Process Design (yuck!) or some high level project work is not the same.
Lastly (unrelated to you, since I don't know you), my favorite anecdote from a big-5 consulting organization was a Business Process Design person (native English speaker) who, when I commented on one of his questions "Yes, we have an API for that" replied (with a straight face): "What's an API?". To me this is equivalent of working for Ford, Crysler or BMW and not knowing what a steering wheel is. I'm sorry, but every since that episonde, I have a certain measure of contempt for these people and the major consulting organizations who employ people like that.
Bottom line: I think doing a (serious) CS degree in 1 year is impossible. On the other hand, you may be some sort of genius who can do it in a year, but if you're normal like the rest of us (whatever you consider to be 'normal') you'll need more time to do real CS. It seems like you like the technical field you're in in which case you'll probably find the time spent to get a CS degree well spent.
IT worker != Computer Scientist (Score:5, Informative)
The fact is that Computer Science is not only about becoming a IT worker. Its about using computers to solve problems, and about designing these computers to solve this problems. And about understanding and modeling the problems to begin with. There are actually great programmers who are mediocre computer scientists, great computer scientists who are mediocre programmers (usually of the thoretic cs kind), and great it workers who are great computer scientists (and really shitty programmers and Computer Scientists). And since these are different things, that is why it takes about 5 years to graduate a computer scientist.
Sometimes, a programmer who "learned CS" by his own, has acquired many bad habits that he would not have acquired if he had any formal training ("goto statement considered harmfull" comes to mind), and design rules, software engineering, etc. By the other side, self-learned IT professionals have a much more "getting the work done" attitude, and finding things out by himself, which is *extremely* usefull in industry.
So the idea is that one thing complements the other, and yes, it would be nice for anyone who works with technology without a formal training to really spend the time *learning* CS.
Just my 2c.
Work experience != to formal education (Score:2)
does not offer you an advantage in University. Infact, it may even be a disadvantage to you.
you know a lot of the course material which will help you in many classes, but you will get board.
you have your ways of doing things and profs have their insain ways...profs always win and you will have conflicts with them on how to do a project.
in university, course work is based much more on theory than on reality. what may be the best way to actualy do somthing may not be the way you do it in university becuase you are there to learn thoery of computer science, and theory of programming (why do you think many institutions teach programming in usless laguages..though many are changing and there is debate on if that is wise)
you definatly have the smarts and the knowlege to complete a degree, but there are a lot of profs that do not like people that know what to do because they want the students to do what they are told with little decent or discussion on implementation.
granted there are some nice profs who like to discuss and even allow alternate ways of doing things, but you still get stail cource work that does nothing of any value.
you need a degree, but relise that you will be very board and at times you will get frustrated at the work assignments and the attitues of the profs.
There are more options still... (Score:2)
Smaller universities are more inclined to bargain with you as well. If you can demonstrate the experience and ability, you can forgo many classes without testing or other red tape.
I've been considering such action myself as there are a few classes that I simply do not need (already knowing my career).
Open University (Score:2, Informative)
Check out http://www.open.edu or http://www.open.ac.uk
Dunstan
Excelsior University (Score:2, Informative)
Excelsior University (accredited by Middle States, like almost every other school on the Eastern Seaboard) offers a BS in CIS ( i know not the same but most HR depts don't know the diff and it will get you into grad school).
Now you can complete with a combination of Transfereed credits, credit by examination, life experience, and certifications.
Depending on what you already have (like an associates or bachelors in
www.itdegree.com
www.excelsior.edu
School for New Learning (Score:3, Informative)
It's been about 6 years now, and I'm starting to get the itch to finish my last year of school, but due to still needing/wanting to work, it's not possible for me to go back to the original school. ( I went to RPI [rpi.edu] in New York, and currently work in Chicago area, so the commute would be hell ).
I started looking into local schools that I could attend to finish up. Most wanted me to attend them for at least 4 semesters before they'd grant a degree, and then there's the problem of transferring credits from one school to another, etc. I finally found a school that would let me finish the way I wanted. DePaul University [depaul.edu] ( a respected institution ) has a School for New Learning [depaul.edu]. That allows adults who previously skipped or ( like me ) never completed college to apply whatever previous college credit they have, along with taking into account your work experience, towards a BA degree. You can also continue on in the same manner towards an MA as well.
DePaul is located in the Chicago area, but it is quite possible that similar programs exist near you. If you haven't finished a degree yet, but have several years of experience in your industry, this type of program definitely seems the way to go.
I have no degree (Score:5, Informative)
I'm 44 and am currently where I've been for the past 5 years, IT manager for a small manufacturing company. I took some of the first computer classes US high schools offered, way back in 1974-76 when programming projects got sent out to the local bank's mainframe for compilation and execution. My first IT job was as programmer trainee for a small service bureau too cheap to pay a living wage (thus no one with any training or experience would touch them) where I stayed for a year and a half, working on IBM S/34 minicomputers. Did my first microcomputer work on CP/M systems (Exidy Sorcerer! Woo-hoo!) and IBM Datamasters in '77 or '78. From there to another S/34 shop, then to a larger one that was both bleeding edge in PCs and networking as well as moving to the (then new) IBM S/38. Worked on S/34, S/38, Apple II & III, CP/M, and IBM PC systems there for 8 years, then moved to a larger company using IBM AS/400 and more PCs with networking, in a mixed mainframe/mini/PC environment over an international WAN. Consulted for a while, now here. I have extensive mainframe, minicomputer and PC experience, program in a bundle of languages (including C, Java, a variety of aassemblers, etc.), and my networking goes back to Banyan Vines and Lantastic days, not to mention early X.25, etc. I'm no computer god by any means, but I've been around and always got excellent or outstanding reviews.
I never noticed lacking a degree until I turned 35 or so -- and why should I have? Most companies discourage the sharing of salaries. I was happy to be making a good wage and didn't know until later that my peers were getting 20% more than I was, even with half my experience. For a variety of reasons I'm not terribly thrilled where I am but I believe I'm pretty well stuck here: in two years of searching I've found very few companies interested in my skills and experience. When I go for a job in competition with someone a few years out of college, just married or no family, I lose every time, long before anyone gets to talking about salaries. At my age, lack of a degree is almost a poison pill in my career -- so much so that I'm currently attending college to get one, something I should have done long ago (if I could have afforded to.) When I was just out of high school, college aid was a lot harder to get than it is today and I couldn't afford college on my own (and stepfather was blunt: don't even ask me to cosign a tuition loan, kid. Oh, and when are you moving out? Saturday good for you?) Now, take advantage of what's out there and get a degree. Any degree: CS is obviously best if that's the career you want but any degree is better than none.
I had this problem, and here is what I did... (Score:3, Interesting)
I faced an almost identical problem recently but managed to work around going back for (another) BS. Assuming you have a bachelors (which you imply through ommission, making a point of having "no formal CS education"), getting into and finishing a Master's program is probably your ideal path.
This is, in fact, not terribly difficult. Most programs don't exactly leep for joy over people with primarily work experioence, but if you are willing to take 4-6 undergrad level classes, or demonstrate competence in them by test) and can do reasonably well on the GRE Computer Science Subject Test (brush up on your theory!), you can get into mid-range schools without a lot of difficulty.
There are quite a few benefits of going straight to a master's degree as well: an MSCS is *very* respected on a resume, managers generally give more credit to a Master's than it warrants (unless they have one, and MBA's don't count), it is generally a much shorter program (9-12 classes compared to 24-32 for a BS) and doesn't force you to take the assorted crap you are not interested in (disclaimer: I hold an undergrad degree in English, and believe in a LA education, if done right it is the best thing for you - most people use the flexibility to avoid challenge though, and they discredit it), and finally, the MS classes tend to be a whole lot more interesting than undergrad classes, and the students and profs are a lot more interested in learning/teaching than the typical undergrad.
I wish you luck.
-Frums
Programming != Comp sci degree (Score:4, Insightful)
Re:Programming != Comp sci degree (Score:3, Insightful)
It's funny to see the comments written by people with a "self-taught" CS degree. Just because you know how to write code, doesn't mean you are a software engineer, a programmer perhaps, but not a software engineer, regardless of what your title is. And you are right, the business world is starting to understand this.
And another thing, MIS != CS, no matter how much some of you like to delude yourselves!
ACCIS (Score:3, Interesting)
http://www.accis.edu
CompSci Grad From the U of Windsor (Score:4, Informative)
At Windsor, it is not focused on programming. I have ONLY had 3 REAL programming classes. And even though you may be able to easily get credit / pass these classes, it is the others that will set you back a few years.
These classes include topics that I am sure you are knowledgeable: data types; induction and recursion and some that you may not: algebraic characterization; syntax; semantics; formal logic; soundness, completeness, and decidability; specification, implementation, and determinism; complexity
And that is the first class. A quick list of other non-programming topics:
Computer Languages, Grammars, and Translators
Including: both pragmatic and theoretical aspects of grammars, recognizers, and translators for computer languages. Regular languages: regular expressions, regular grammars, finite-state machines (automata), regular language recognizers, automatic regular-language-recognizer generator: lex. Context-free languages: context-free grammars and pushdown automata (stack machine), LL grammars and top-down recognition and parsing: LL(1) and recursive-descent parsers, LR grammars and bottom-up recognition and parsing: LR(0), SLR(1), LR(1), and LALR(1) parsers. Automatic context-free-language parser generator: YACC. Attribute grammars, syntaz-directed translation, computer-language processors: interpreters and compilers.
Theoretical Foundations of Computer Science
Including: propositional logic, first order logic, proof techniques, mathematical induction, sets, operations on sets, relations, operations on relations, functions, countable and uncountable sets, basic definitions in graph theory, connectivity, isomorphism of graphs, trees, Euler graphs, Hamilton graphs, planar graphs, graph colouring
File Structures
Including: performance differences between primary and secondary storage; secondary storage devices; fundamental file structures; sequential files; indexing; B trees; B+ trees; index sequential files; hashing; sorting and searching techniques on secondary storage devices.
Computer System Organisation
Including: Examination of the fundamentals of modern computer organization and architecture. Historical development. The computer system in terms of interconnection structures, memory, I/O and operating system software. CPU structure and function, including numeric representations, instruction sets, addressing modes and formats. Control unit. Alternate architectures and performance enhancement.
Those are just the basic classes that you need to know before you can take the challenging stuff. This is on Top of the "other" classes you must take, The Maths (Calc, Alg, Stats, Fundamentals of Math) your Social Sciences, etc.
But don't worry about all of that, you will have those 3 programming classes out of the way!
Not at a good school (Score:3, Interesting)
That class alone killed about 40 hours a week, so while you might be able to learn Pascal at your local community college in a year, don't expect to get a world class education like you would at MIT or CMU in 1 year, no matter how many books you've read.
Most of my classes involved minimal programming, and a lot of theory (OS being the exception). Have you read a lot of books on probability, set theory and matrix algebra? Have you read any books on modern math? Algorithms (which involved no programming, all proofs)? NFA's and DFA's? Context Free Grammers?
I had a Java reference book and a C reference book while I was at CMU, every other book was theoretical.
I don't think so (Score:3, Interesting)
Then there are distribution courses. For CS you need about 80 credits of other stuff, compared to around 40 for your concentration. It breaks down like this: 7 credits each of social science, humanities, natural science, plus 3 more credits in three of these categories: natural science, humanities, social science, math, creative expressing. You must have 4th semester proficiency in a foreign language. You have to take two writing classes, one involving several substantial papers. And there are several other requirements.
Point is, I think it is tough. You don't seem to have much respect for degrees since you're doing well without one, so this kind of program probably isn't a good option. I would just look for a really shitty school that will do anything to get students. It may be worthless, but a degree from a crappy school doesn't matter once you've proved yourself with experience.
Not having a degree will become a big problem though, so maybe you should just take a few years off and enjoy yourself in college. At my internship this summer the company had a guy who didn't have a degree who had been working as a contract employee for 14 years. He was making substantially less in salary and had much much worse benefits. It is nearly impossible to hire non-degree tech people at many companies, and you may want to apply to one of those companies someday. So just think this: Drinking and girls. Take 4 years off and do it right (can do three years if you go for 2 summer sessions, maybe less 2.5 if you take heavy courseloads).
*sigh* CS != programming (Score:5, Insightful)
>currently 24) and have read hundreds of CS
>books. I think that I can easily complete a CS
>degree in 1 year.
"I've been using microwave ovens since I was 12 and have read hundreds of books on using microwave ovens. I think I can easily complete a degree in high-energy physics in one year."
Okay, thats pushing the analogy a little far, but you get the point. Programming is a trade skill, period. Computer science is NOT about programming. I'm sorry I'm reacting so violently to this, but you've hit a *very* sore spot for me.
I do computer science for a living and I am a mathematician by trade and training. Yes, I can program and enjoy doing so, but this is not what makes me a "Computer Scientist". I also enjoy tinkering with old sports cars and have a decent grasp of mechanics. I certainly don't consider myself a qualified automotive engineer though.
You claim to have read "hundreds of CS" books; but have you really? Is there a chance they were programming and technology books? If you want a taste of what real "computer science" looks like, I happily recommend reading the following:
- Computational Complexity by Papidimitriou
- Automata Theory and Languages by Hopcroft and Ullman
- Compilers... I can't remember the whole name but its got a big picture of a dragon on the front. If you ask anyone in the business about 'the dragon book' they'll know what you mean... by Aho, Sethi and Ullman (I think).
- The Russell and Norvig AI book
- Any book on lambda-calculus and recursive function theory (I can't think of a good introductory-level text at the moment). Even better if it introduces semantics too.
Those will give you a feel for some of the areas that are considered "Computer Science". The ability to program will get you through first year; after that, its more about math and.. gasp... thinking, than it is about whipping up code.
Again, sorry for the rant, but I think Edsgar Dykstra (a famous Computer Scientist) summed it up best when he said:
"Computer Science is as much about computers as Astronomy is about telescopes".
Truer words were never spoken.
Re:*sigh* CS != programming (Score:4, Informative)
I agree here; but I think we're sort of stuck with "Computer Science" for reasons of backward compatibility....
>Curious; as a tech school programmer,
>essentially a plumber, I have to ask: is all
>that you listed useful in any way for a
>programmer, in the long run?
Yes, some of it will be very useful. For example, suppose your boss comes to you and says:
"We're having serious problems with some of the junior coders writing programs that go into infinite loops and lock up our systems. I'd like you to write a program that will scan through a piece of code and determine whether or not that code ever goes in to an infinite loop".
Would you do it? If you have taken Theory of Computation you'd know that this is equivalent to the halting problem for Turing machines and thus is *impossible*. It seems bizzare, but there are actually a lot of things that we can't write programs to do, and furthermore, we can actually prove this fact.
So in some situations, I say "yes". In everyday coding? I'll be honest, most of it won't be used... but the one time you *do* need it, you'll be glad someone stopped you from attempting an impossible task, etc.
Another thing is that many companies working in mission-critical areas (autopilots, reactor control systems) have started requiring that contractors use formal methods for proving their programs correct. If you hire programmers that took semantics classes in college, they'll pretty much be ready to go... if they didn't... you are going to have to spend a *lot* of money on training.
If I were running a company, I'd want a mix of solid technical programmers and a few "theory guys". I certainly don't think every coder needs a CS degree (in fact, if programming is what you love, a CS degree is probably a invitation to pain and boredom).
>Sometimes I think the world just needs better
>plumbers. Or better plumbing
We do. Look how much a good plumber makes... its *not* an easy job and requires a very high degree of specialized knowledge and skill (much like computer programming). But still do need a few guys figuring out things like fluid dynamics so we can determine how much flow we can push through a pipe of a given length and diameter.
I whole-heartedly agree with you about the current situation though... far too many people are going into CS, when really what they want to do is computer programming. I see *so* many frustrated students in my office that have been mislead by ignorant councillors, etc... I'm not sure what the solution is though. If anyone has any ideas (or a few million $$ for a massive advertising campaign), I'd love to hear them.
Self educated (Score:5, Interesting)
Anyone who has educated themselves in these areas has far more focus, persistence, passion and discipline than most who do so with the aid of an educational institution. While tremendous resources are available at these facilities, anyone with the personal quialities to go it alone will continue educating themseleves at a much higher rate then most for whom education was something that you got in school.
Education is not something that other people do to you.
Calculus, chemistry, music....all can be learned to any degree on your own. I, and many others, are examples of those who do so out of pure curiosity about the world in which we live and passion for things that we love. I don't have a degree, never went to college, and have never been asked if I did. I, and many others, am a successful SW Engineering consultatnt who has been judged on my track record and ability to perform. To move into management...no problem. The MBA curriculum is available in books and is easy to master.....for the self educating individual.
24? (Score:5, Informative)
I went to work at 24 without finishing my IT degree. When I was 26 I was a lead developer with a lot of responsibility and one day my boss was rambling about the state of the industry and said, "...for example, if you had a degree, I'd have to pay you twice what you're making now." I resigned within the week and enrolled that semester. I graduated at 27 and have not looked back since. Now at 34 my degree is hardly an issue, but it's there. If it weren't opportunities I've had may not have been available. Whatever...
Think twice about skipping it... (Score:4, Insightful)
The degree isn't always required to get a good job. And you can live a good life without ever getting one. However, for good and bad, there are people who are unwilling/unable to hire non-degreed people. It's just a fact. Most
I personally have fought this battle my entire career. I've spent time on the degree on the side because I will eventually need it some day. For all of you out there who are still having a problem with the idea of getting a degree just to satisfy some suits, look at it using this analogy: neighborhood hockey. Lemme explain:
You might just be the best damn player in the neighborhood. All the other kids know it, and you're THE first to be picked. The only problem is, on Saturday, you can't play with them because you didn't pay the municipal fee to play in a city league. Therefore, when you go to the rink, the Ref is going to have to keep you from playing. Does it mean you are any less qualified? Absolutly not. It just means to some suits in your city government, you haven't paid the fee, and can't play in the official league for whatever reason they've come up with. Possibly an issue of liability for the city, or maybe something else unseen to you. It doesn't matter what reason they use though. You still can't play, because they say so.
You see, you will always be able to get a job without the degree, but it's going to be harder. You will end up fighting more for those positions.The degree is a key to open several doors that you can't open on merit alone.
Now, in respect to the experience you get with a degree, here are a few comments:
a degree does not an engineer make.
experience does not an engineer make.
It's the combo of the degree (theory) with the experience (practical knowledge) that makes the best engineers. The theory tells us how something
is supposed to work, and the practice tells us where the theory is wrong so that the theory can be refined. You can operate exclusively in either domain, but you will get the best results in the area where they overlap.
As for the BullS*** arts classes that they make you take? Well, believe it or not, they're very useful too. History enables you to see patterns
of behavior in human culture. So does poly-sci and psycology. English ensures that you will be able to communicate your ideas clearer. Foriegn language expands your view of "those" other people in other areas of the world, as well as helps you communicate with them in an ever increasingly global market. Business and economics gives you the ability to identify trends your future employers will be following, and will give you a set of tools to judge how well they are doing in whatever market they're in.
Besides, let's remember who our customer's are: the non-techies. Yep, you'll be dealing with them some day. And you'll do much better if you have a way to talk with them. That's where the Liberal Arts classes come in.
Just some thoughts and conclusions.
PacketKing
Re:All you dot-commers who "didn't need degrees" (Score:3, Insightful)
Re:All you dot-commers who "didn't need degrees" (Score:2, Funny)
Wait 'til you find out that you'll need to know REAL SUBJECTS like MATH and PHYSICS to get a degree.
You can't just fake your way through life anymore by cutting/pasting other people's Perl scripts.
See folks? You too can get a degree and be an insufferable dickhead to other people!
S.