Ask Slashdot: CS Degree Without Gen-Ed Requirements?
davidjbeveridge writes "I'm interested in getting a CS degree. I've been programming since I was 13, and like many of us, taught myself. I am familiar with a number of languages, understand procedural, functional, and object-oriented paradigms; I'm familiar with common design patterns and am a decent engineer. I learn quickly. I work 2 jobs and I have a life. I want to get a CS degree from an accredited school (a BS, that is), but I have no interest in wasting any of my precious time taking classes in English, Philosophy, History, Art and the like. While these fields are useful and perhaps enriching, they will not contribute to making me better at my job. Moreover, I attended an excellent high school that covered these fields of study in great detail, and I feel no need or desire to spend more time studying these things. I want a BS in Computer Science with no general education requirements. Any suggestions?"
I guess this is a US-only problem. When I started my computer science degree at the University of Antwerp, it was pretty much only computer science. We had a few credits in economics, but that was really just general economics and that's it.
However, what are you expecting from studying CS? It's most likely not what you think it is. It's basically math, automata, algorithms, computability theory and stuff like that. If you plan to be a computer programmer and only that, you already have the skills required (even though, you probably make certain avoidable mistakes by if you don't know about computing theory).
If it is to have better chances to get a job interview, I can understand...
I don't regret having a computer science degree, it was very interesting, but it's not a course "how to become a better programmer".
Anyone considering computer science, should ponder the words of one of the greatest computer scientists of all times: "Computer science is no more about computers than astronomy is about telescopes", Edsger Dijkstra.
Ahhh...the great dumpster continuum. Many a free computer will be found there. -- sowth (748135)
A BS covers general education and major course work.
Your best bet is an AS degree. Then, come back later and get your BS.
Go take your gen eds like the rest of us. Do you think we enjoyed them? No.
Good luck with that. It has been my experience that higher educational institutions just want your money. I'm sure if you donated enough of it to them, they would give you a piece of paper just for that merit alone. Once you understand that motivation, you will know why they want to purchase as much of their product as possible.
I think you underestimate the value of those things. Most of these classes aren't strictly about history, english, and the like, but enhance your overall mental ability - such as the ability to write, comprehend, and reason, which frankly, is generally missing from those in our field.
If you don't have those things, that's fine, but that's not a BS or a BA, thats a trade school education.
I finished off my degree while working full-time as a kernel engineer. By the last year, the Gen Ed classes were the ones I looked forward to the most.
What you just want the piece of paper?
I spent a good deal in college CS classes, learning stuff that I already had a good idea what to do.
When it came to the real world I was quite prepared for anything computer related. It was every other subject that killed me. It was my lack of art classes that kept me from good design. My lack of English classes that kept me from good copyright. My lack of Business classes lead me to make wrong decisions.
Now I'm considering going back to school. But I'll stay as far away from CS as possible.
I once read somewhere that the things you don't know become your Achilles heal. Very true.
Go to school for an education. Not a piece of paper.
Also, since the tone of your post suggests you are male, can I observe that exposure to the humanities tends also to enable you to meet (and discuss interesting subjects with) women? I'm not talking about sex, but improving your familiarity with the people you will meet as soon as you step outside the IT department, some of whom will influence your career.
From scarped cliff or quarried stone she cries "A thousand types are gone, I care for nothing, no not one."
They will help with your life. When your boss asks you to do something unethical, what do you do? When you vote in an election, who do you vote for? When you realize that zeros and ones are not all there is to life, what do you fall back on? I am happy if you went to a good high school that gave you the basics. That will prepare you for a good college that will challenge you further, to think and learn in ways that you do not expect.
Beware: If all you can do is code there's a great chance your job will end up in India. You have to have broader skills now to be competitive. Instead of taking classes in an area you obviously know well (i.e. coding), why not take more general business classes or in the sciences so you can use your coding skills as a tool to solve critical problems rather than being a coder waiting for a problem to get assigned to you? 99% of the people you will need to work with aren't coders and if you don't have any general skills you won't be able to work with them as effectively.
Good luck,
-c
I know it seems like a big waste and such, but seriously... do the general ed. classes. The last thing you need to do is to end up so single-minded that you can't even see a wider world out there.
You know the big stereotype about how geeks can't function socially? Remaining willfully ignorant of everything outside your chosen craft is a big symptom of that.
You may *think* that your high school covered all of that, but honestly, they likely did not. Even if it seems like total crap, you'll likely learn things about art, philosophy, English, history and the like that a high school class could never cover.
I remember thinking the same thing you did a long time ago, while chasing an EE. Then I took the required history class, and gained such a passion for looking into the past, that I minored in it. All it took was a prof that really loved what he taught, and expressed it in a way that touched off an intense curiosity to learn more. The more I learned on my own and beyond, the more I fell in love with where we've been as a whole, and in exploring the past.
Hell, it even helped out in my eng. classes. Proof? Researching why RMS Titanic's electrical systems held out for so long in spite of all that seawater coming in made for one of the most kick-ass papers I'd ever written, and it gave me an incredible respect for electrical technology back then. I wouldn't have given a shit if I wasn't interested in history, and my classmates were too busy analyzing and making shallow papers on the tech-du-jour (mostly centering on what they thought about the upcoming 1993 NEC).
But - you know the biggest reason why you should diversify? My degree is in Electrical Engineering. I took a couple light classes in programming (C++, FORTRAN, PASCAL...), and thought it was a waste at the time, but I had to fill electives. I'm a Sysadmin, have been so for 15 years, and have done programming professionally on occasion. I haven't done jack in the EE field since 1996, and my last license renewal expired a little over a decade ago.
Your career will likely diverge too, and having more than a single-minded subject under your belt will help you greatly, as well as give you alternatives and avenues that you may have never thought of.
Quo usque tandem abutere, Nimbus, patientia nostra?
Fraud is really your only choice. Seriously. No accredited program awarding a BS is going to let you skip out on General Education requirements; your two demands are mutually exclusive. That's intentional. BS programs are not technical college programs (which have their place), and they are not skills certificate programs (which also have their place).
If you don't want GenEd, you have two choices: an AAS degree, or a non-accredited BS/BA program. Few if any of those credits will transfer to an accredited program in the future, however. Accreditation provides a minimal guarantee of "quality", which is why colleges go through the (significant) effort required to obtain and maintain the credential. Caveat Emptor.
A final comment: a few additional things the General Education requirements are likely to teach you are 1) that you don't know as much as you think you do, and 2) a little humility.
Waaah. I don't want to be a well-rounded person able to hold an intelligent conversation with the people around me. I just want to single-minded-ly pursue learning only the few things I want to learn, and not be bothered with knowing anything else. If somebody makes a reference to Big Brother or Jesus or Ahab, I can just look it up on Wikipedia later.
One of the things that happens in college is Growing Up. I highly recommend it.
I really would hate to work with someone like you.
First, participating in general education classes is in no way a waste of time. Practicing and learning skills and knowledge in an array of topics is always beneficial and has a greater impact on an individuals effectiveness and ability to interact and collaborate within a society, within groups, and with other individuals. And whether or not your high school education covered the same topics it is unlikely the teachers and material will be identical and unlike many technical courses the general education classes can often provide new perspective and insight simply because you are learning from a different teacher and different book.
Second, if you truly do want a CS degree then stop wasting time trying to figure out how to work your way around the general education requirements and just take the damn classes. The time you spend taking these classes is a drop in the bucket compared to the probable amount of time you have to live and work in a career and hopefully even go back later and take more classes to expand your knowledge, experience, and perspective. It always astounds me when I see intelligent people who have the opportunity but waste precious years not getting an advanced education and usually it is due to the most minuscule barriers such as "I don't want to take the general ed classes, they are a waste of my time".
Just do it.
You may be the best programmer in the world, but without studying the things you now consider to be a waste of your time, you do not know how to think or communicate.
No. This is simply wrong. If you're the best programmer in the world you don't need a general education. How can you say he doesn't know how to think or communicate. I thought his question was very well worded and thought out.
You need general education to be able to handle all of the other work-place and meat-space things that are not programming related.
This is absurd. It's amazing how the majority of the world can get along without their 4 year degrees telling them how to behave in the real world! Also, perhaps you didn't get your BS recently, but let me point out that the cost of 4-year schools is excessive. Perhaps he doesn't have the funds to get a general education.
That's where you're wrong. Speaking as a developer with a BA in English, I can tell you that your English, History, and Art classes will make you better at your job. They will make you better able to relate to people outside IT fields, better able to reason and argue logically, and give you a broader perspective of your (and your code's) context.
I can't tell you how many CS graduates I've seen at my workplace, lamenting how worthless their CS classes were because the tools we work with, and the problems we're trying to solve, bear no resemblance to their coursework. I've never heard the same from a liberal arts graduate, because everybody knows the point of a liberal education is to make you able to think critically, and give you the foundation you need to learn anything you need to learn later in life.
The general gist of this thread is a good one and getting a degree is a great idea. But CS engineering has no licensing requirements in the US, so no, it doesn't actually mean something. I have met more than my share of people with engineering degrees from third rate state schools who are absolutely abysmal. And equally I have met a very few absolutely brilliant engineers who have no degree at all and are completely self taught.
Again, I don't disagree on the whole with your general sentiment. Nor am I trying to attack state school education, I have met some solid folks who came out of state schools (Berkeley comes to mind immediately). Just that the generic statement that engineer means something in the US is demonstrably wrong. Personally, I don't have much respect for CS as an *undergraduate* degree in general. Folks coming out of Berkeley, Princeton, MIT, Caltech and a few other schools, a BS in CS is a pretty serious piece of paper. But if I had to make a generic call, MS and up is where I would put the engineer tag if you wanted to be really serious about it.
And this slightly less than brilliant original poster, if I were him I would go for one of those life experience degrees from a lower ranked state school, assuming he actually has the life experience, which can require only a couple of semesters of additional coursework if he has enough documentable experience, and then use that to get into an MS program at a not-to-competitive institution (since a top ranked institution won't look kindly on the GED of college degrees). Of course, the odds of him failing horribly due to not having the fundamentals solid is high. But it would meet his personal goals of avoiding as much non-CS coursework as possible.
7. What we cannot speak about we must pass over in silence.
I was in a similar situation, here is what I suggest:
1) Take the Comp Sci AP test to get you out of the introductory CS courses and get you some credits from the start. The gen-ed courses weren't that bad to take: It may be the CS 101 classes that drive you nuts. "This is a for loop... this is a while loop..." and looking around at all the Art majors who think they can go into Comp Sci for the money and don't understand the concept of a variable.
2) Take any other AP test you think you can. Worst-case you lose money, best case you skip some courses. There is nothing wrong with getting a poor score on an AP test other than the loss of money. But talk to someone who has taken and/or teaches AP courses to get an idea of what you need to know. If you are still in high-school then taking the AP courses is the best approach.
3) Use community college to breeze through gen-eds. I decided on my final college and picked a community college to take my Gen-Ed classes. (I did it for financial reasons though). Pick the schools and classes so you guarantee a transfer. Then take nothing but gen-ed courses in the community college because they will be really easy. If you are as smart as you think, you might be able to do 2 years of gen-ed classes in 1 year. Most of those community college classes will be designed for slackers.
4) Grow up. Those gen-ed courses are actually some of the best parts of college. I am a geek to the core, but I loved discussing Descartes' meditations, studying economics, learning how the eye communicates images to the brain, and debugging why various wars started. If you think you can survive in the world knowing only what is in the computer you will be unable to accurately measure the world around you and efficiently apply what you have learned to your field. You won't be young forever so at some point you will wake-up and realize you aren't the best of the best of the best anymore, and you will want your niche in the real world. Computers are a tool - a means. True success requires more than just the means (your C.S.) to fulfill.
Intelligent managers (managers that understand the position they are hiring for, as opposed to PHBs that are looking to fill an empty seat) will understand that experience can be more valuable than education.
And good managers will know (from experience) that hiring someone like this guy can be incredibly detrimental to a software team. Here you've got an idiot (seriously) who thinks he doesn't need to know something -- he already gets it. Dude, after learning about it in high school? Chances are, this person is difficult to communicate with, egotistical, combative instead of merely argumentative, and unwilling to think outside of defined corridors. He'll probable be hostile when asked to do something out of the ordinary. Quite likely, he's an asshole who will drown your entire team in bad feelings. He's a bad idea.
Someone mod this up! I couldn't agree. more. University is about education. More importantly, being reasonably conversant on a range of disciplines. The better ones, gasp, still try to offer that.
Focusing on one subject to the exclusion of all else is not a degree. It might be directly applicable to a given job, which makes the exercise job training. You might take subjects that you have no interest in or, more frustratingly, no aptitude for, but that's part of the ride. If nothing else, the reason such education is still valued in the modern world is that it proves an individual has at least the fortitude to tackle a spectrum of topics.
I got my BA degree in mathematics in 1964, before computer science was a generally recognized subject for degrees. I loaded up on numerical analysis classes since they presented the kinds of mathematics applicable to computers. I also took two years of symbolic logic (part of the philosophy curriculum) because I thought it might have some application to programming and a year of accounting (business curriculum) because I knew much of future use of computers would be in business applications. I did not know it at the time, but my English and public speaking classes meant that I was prepared to write literate, readable test procedures and user manuals and to make presentations in front of customers. By taking literature, history, art appreciation, and music appreciation classes, I ensured I would not be merely a geek or nerd (terms not yet in use at the time).
In the end, I got an excellent job as a computer test engineer. It was not long before I was supervising 5-10 other testers. When I hired a new tester, however, I tried to avoid hiring anyone with a computer science degree. I found that those with CS degrees were more interested in computers as the central object of their studies than as a tool to accomplish a task.
I am now very comfortably retired after a computer career of 40+ years. I retired before I was old enough for Social Security, retiring when I wanted to retire (not when my employer wanted to retire me). Part of the reason I am not bored with retirement was that my university education gave me a broad enough view of life and the world to have interests beyond my career. Part of the reason I was able to afford retirement was that my university education gave me the ability to understand financial statements and investment strategies.
A university education implies an education that is universal and not narrowly focused. Not everyone benefits from a university education. Those who could benefit but do not partake might find themselves as drudges, earning a living without having a life.
Just take the CLEP tests if those Gen-Ed classes really have no value for you. You can complete almost your entire first two years of schooling with those tests. I just finished up going back to school (harder to move up now without a BS degree), and I saved a boat load of time and money taking CLEP tests for Gen-Ed classes that I didn't finish in community college a decade ago.
For truly well rounded self educated people, they should be a breeze. If it is hard to pass them, then you really do need those Gen-Ed classes (those areas of knowledge really do have value). But plenty of people who actually like to read (non-fiction) have no need to waste their time in 100-level Humanities classes.
-- All that is necessary for the triumph of evil is that good men do nothing. -- Edmund Burke
Dan Bricklin didn't become super rich, but he literally changed the world. I saw a documentary once in which an accountant or some type of professional said that the first time he saw a computerized spreadsheet, he cried, because it took out so much drudgery it could make his work fun again.
If Bricklin had not been getting an MBA, would he have gotten the idea? I'm guessing he looked at hours of paper and pencil boredom recalculating cells, and realized that there was a better way to do it because of his computer background.
Moral: Bricklin's background in computer-science when coupled with exposure to an unrelated area, showed him a need and in the process, he changed the world.
Alternate Moral: If accountants and MBAs had stepped outside their study area and looked at computer-science, they could have changed the world themselves
What changed under Obama? Nothing Good
You have the right of it, as they say. While it's possible to make a credible argument for focusing on learning the core set of skills for a career while minimizing time spent on associated topics in some circumstances, let's look at the actual words used.
Phrases like 'my precious time' and 'will not contribute to making me better at my job' are huge red flags for a inflated sense of self-importance. Dismissing the entire range of liberal arts as merely 'useful and perhaps enriching' betrays a level of arrogance that has the potential to incite team-destroying conflict.
Got a Comp. Eng. BS at U. Michigan in 1978.
Out of 128 credits:
English (Sci Fi class)
English (God class)
Humanties (Logic)
Humanties (Logic and Automata)
Humanties (Advanced Logic)
I took the Logic classes in the philosophy dept. They were cross listed in philosophy, math and CS depts.
So, really, all of it was "In My Field".
Clearly, you are not someone who values 'superior writing skills.'
Very True; This is the Real Problem(tm) in America.
Too many of the people in power are only there for the money and power, so you get grandstand politics; as they have no other skills. You mean fundraising ability has nothing to do with leadership? Whooda thunkit...
Many engineers I work with are in the same boat; at least the ones from America; there are the good ones, but they're geeks, and this is our life.
I'm an Analog Engineer; that's rare these days. But I've been doing this for 30 years, lol.
Truth isn't Truth - Guliani
Once you get a more general and rounded education, you might find you like something else better, or combined with CS. It happens to a lot of people. Honestly, I would not hire someone that only knew CS. They are boring people. Expanded yourself and use your education to do it.
Americans are groomed from a young age to not give a damn about anything outside of America.
While a fun myth to spread, the reality is far different.
I have a number of friends with kids of all ages. All of them learn quite a bit about other countries, other places across the globe.
In fact the opposite is true, that so much attention is being focused on learning about things all over than kids are not being bought the history of where they are. Learning more about all aspects of American history is pretty important to understand the context of modern choices and existing social structure.
Now it might be true that in college where kids have more self determination, they are not really thinking much about things outside the U.S. But that's when they are basically an adult and it is their choice if they wish.
"There is more worth loving than we have strength to love." - Brian Jay Stanley
The original poster, and you, who call it tack-on garbage, are the very reason that general education requirements are tacked on.
Clearly both of you can't even conceive why studying, for example, literature and philosophy might be useful to the practice of top-level computer science or software engineering. Therefore you clearly need to come out of your tunnel and be exposed to the world.
When I was studying artificial intelligence and computational vision for my post-grad degree, the stuff I learned most from was the shelf full of twentieth century philosophy books on logics, epistemology, and metaphysics (and Zen). binary-encoded symbols in computers representing things and processes out there in the world is a wondrous thing, and also a thing whose complexities are not easily mastered without a good grounding in philosophy. How can you know about the limitations of your representations - they ways they are sure to fail or become too complex or be challenged as limited or invalid - if you don't understand philosophy?
And I've come to understand how much of peoples' understanding of the world and themselves is in narrative form, and what the significance is of what is left in, and what is left out of a "good" narrative, and how narrative is fundamentally about the guiding of attention and the selection of the sub-situations salient to humans' concerns and needs. Some of that knowledge has come through a lot of careful consideration of great stories in several forms of art and literature.
All of it is central to a conception of how to do good user interface in computing.
Where are we going and why are we in a handbasket?
I haven't heard of a K-12 school teaching logic or philosophy. So yes, reasoning and comprehension does need to be taught at the higher level.
If that is really so, it would explain a lot about US politics, and the nonsense some politicians can get away with, and still be elected.
(I guess K-12 means students around 18 years old, in their last year of school before university? If not, please correct me.)
Sadly philosophy was largely absent from my education, I have been (very slowly) rectifying my ignorance for the past decade and have found the Stanford Encyclopaedia of Philosophy to be a very useful resource.
And did you exchange a walk on part in the war for a lead role in a cage? - Pink Floyd.
Bullshitting is more of an art than a science. /jk
And did you exchange a walk on part in the war for a lead role in a cage? - Pink Floyd.