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)"
clept tests? (Score:5, Informative)
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:no dice! (Score:3, Informative)
things and stuff (Score:1, Informative)
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.
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)
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.
Re:clept tests? (Score:3, Informative)
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.
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
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.
Degrees and Paper (Score:2, Informative)
I have a degree, it comes in useful, it allows you to put letters after your name and looks good on your CV. And I would actually say they were the best 3 years of my life, and I would have no hesitation recommending University to anyone. Although a Degree with no experience is a pain, job experience with a degree will put, maybe, 20% onto your salary.
But if university is not an option have a look here [open.ac.uk] where if your are good enough I suppose you could qualify with a BSc in 2 years, and then go on to an MSc.
Also have a look at the BCS [bcs.org.uk] as their qualifications are to degree standard (although you would have *BCS after your name instead).
Re:no dice! (Score:-1, Informative)
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.
Good luck (Score:2, Informative)
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!
NY Regents/ Excelsior (Score:2, Informative)
Re:Master's is more important (Score:1, Informative)
I don't know where you are getting your information from but this is simlply not true. A PhD in CS will go far (very far) in terms of your earning potential in both industry _and_ academics (relatively speaking: CS PhD profs make more than their liberal arts colleages . . . they have to as many seasoned CS profs can be easlily lured into industry with 6 figure salaries; liberal arts profs don't have this luxry). Most of the _starting_ industry salaries for positions requiring a PhD in CS are near or above the six figure threshold. Compare this to your entry level or season professional position requiring a skillset and a BS degree and there is a tremendous difference.
I should know: I'm currently on the market with a PhD, but not in CS.
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.)
I thought the same thing (Score:2, Informative)
My fourth year, however, (and all the fourth year courses I took as electives in first through third years
If you don't know what "big O" notation is, or what an ALU is (Arithmetic Logic Unit - but what is it and how does it work?), or what the stack is, how dynamic memory is allocated, or the difference between microcode and machine code, then you've still got lots of second/third year level stuff to learn too.
There's a lot out there that you won't learn from "amateur" programming (or at least, there was a lot I didn't learn). For those courses that you don't think you need to take, Canadian universities will let you "challenge" the course, which means you just sit the final exam, you don't actually need to go to classes. It's a little... dangerous... since your entire mark is based on a single exam, as opposed to two exams and usually some assignments. You have a bad day, you fail the course, which is no good. Still, for first year stuff, it's probably your best route.
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.
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...
Thomas Edison State College (Score:1, Informative)
"... "distance learning" school. Fully accredited and funded by the State of NJ, Thomas Edison delivers coursework electronically. Have experience that you know is worth college credits? Take the right Thomas Edison tests and earn those credits -- and the credits are transferrable. Or, earn your degree right at TE."
I don't really know if this a real school, but this might be what you're looking for.
SUNY Empire (Score:2, Informative)
like, let's say you have taken some certification in your working history fFor, let's say, an MCSE. ok, your counseller will evaluate this certification and how it applies to the degree you are hoping to attain. then, they apply a certain amount of credit hours towards your degree.
yes, this assumes you are in New York. but i would think maybe other states might have a similar program somewhere.
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.
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...
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...
Excelsior College (Score:2, Informative)
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.
Re:Yeah but B.S.of A. hates gays. Just proves... (Score:1, Informative)
I also think that if you did a little more research, homosexual leaders are statistically no more likely to become sex offenders than heterosexual leaders.
Degrees are selection criterion (Score:1, Informative)
If you've been unemployed in the recent economy looking to compete with other CS professionals, you begin to realize that employers can be a bit more discriminating now. Don't kid yourself and say that degrees are just a piece of paper!
A degree is a must (Score:2, Informative)
Algoma University College (Score:2, Informative)
Basically, the program requires that you have a 3 or 4 year degree in anything BUT Comp. Sci. or I.T.
Apparently this program is pretty popular and really good. I don't know much about it, however. I never attented AUC, it's just in my home town. If you ever decide to attend the program, look me up
BTW, I'm assuming you're in the US, and with the value of your dollar, it's like 50% off every day in Canada
I did my M. Sc. in a year (Score:1, Informative)
I needed to pass 30 graduate credits mostly in Mathematics with C or better, including 24 with B or better, also including a project thesis and additional "basic" exams in Numerics and Applied Mathematics (PDEs).
I had a bit less than 15 credits (many Ph.D. levelled) per semester and both exams between the two semesters. I transferred a few CS and EE credits from another University to save work, but that wasn't really necessary. I passed all classes far better than required. (GPA 4.0/4.0)
The largest workload was the homework and thesis, but if you already know most relevant topics, it's acceptable. (I was quite involved in a University team and travelled around a lot, thus I didn't only do math...
If you really want to do your Master in that time frame, look for a University where you need a moderate number of credits and extra requirements, get your hands on sample exams on mandatory classes and try your luck. If you are able to solve them at once, you might be able to do it; else probably not: The homework alone will be too much for you.
Far more important than having a Master in that time, is to get to a good Masters program: For you and for the companies, which indeed know which programs are good.