High Intensity Computer Colleges?
JD asks: "Since I'm going to college in two years, I was wondering if there were any colleges that offer 'intensive' computer training. Most colleges offer computer programming in C++ and whatnot, but what about schools that offer programming in languages like ColdFusion, ASP, JavaScript, Java, and Perl, along with courses like system administration, unix, databases, and networking. A College that deals with all computers all the time with cutting edge machines and cutting edge topics." Sounds like a trade school. But are there trade schools that are this in depth? If so, are they exceedingly expensive?
This comment merely reinforces the idea that somehow universities are capable of teaching people how to think, what a bunch of bullshit. This can only be taught to those with the drive to work through the concepts themselves, and if they have that much drive, then why bother wasting their time and money in a university setting. I say that schools should give people the tools that they need, since they aren't succeeding at teaching people how to think, the least they can do is prepare them for the real world. I have found at our school, the professors do nothing more than blow through the material lecture after lecture, paying mere lip service to concepts that really need a much further in depth discussion to be fully appreciated. The only students that keep up are those that study their asses off, to the point where you wonder why you even go to class, since you're basically teaching it to yourself. The school I go to is actually touted to be a good school, our average incoming act score is 27 ,the students are sharp, but they can't keep decent faculty because they're too cheap to pay them well.
Well, you can easily learn most of that stuff on your own. Aside from that it would absolutely silly of a college to teach all that sort of stuff. You see, stuff changes really quickly in the world of computers :P. Heh, 2 years from now the things you listed that you want to learn will be somewhat obsolete and their will be new things to learnt (which you will probably also have to teach yourself). College should teach you the fundamentals of programming and computers and what-not so when new technology arrives you have the skills to learn/figure out/understand it yourself. Besides, once you understand c/c++ you pretty much understand all programming languages (you just have to adjust to different syntaxes and slightly different methodology for making stuff).
Just because some of the folks on here are touting CMU, MIT, Stanford as your place to be, don't forget that there are others out there; specifically, others that might be in a better price range. The Big Ten schools such as Ohio State, Penn State, and others have EXCELLENT computer science & engineering programs, and they don't cost you your limbs. Undergraduate work tends to be much the same (though not entirely), so don't think you need to sell off your siblings to get it. Get a good undergrad degree at someplace reputable but affordable, then when your employer will pay for it (really!) get your masters at the prestigious CMU or MIT.
Don't go to Shawnee State University in Portsmouth Ohio. They had a solid but getting rusty computer degree, but now that they decided to freshen it up they may drop assebley, c and c++ for java. I hope the hardware classes don't get screwwed to. There is more to computers than damn Java.
Linköping University, Sweden. Won't cost you a penny if you are a Swedish citizen.
http://www.liu.se/
If it wasn't for Y2k, COBOL programmers would be maintaining the zillions of lines of COBOL code that are in use by companies not willing to invest the time, money and risk of replacing their COBOL systems with something written in a more popular (and possibly better) language.
Not to detract from your point, which I agree with otherwise.
I've found it very easy, once I knew the basic concepts behind programming, which I was taught (and am being taught) in college, to pick up on whatever language I've been required to learn with little effort. Spending time learning the foibles of ASP or Visual Basic or PHP is great to do on your own time, but, as soon as you get your degree, you'll find that every language you learned backwards and forwards in college (besides, perhaps, the stalwart C) has been forgotten by everyone in the industry, who are using bigger, better, newer "technologies" to create with.
- A.P.
--
"One World, one Web, one Program" - Microsoft promotional ad
"Remember when the U.S. had a drug problem, and then we declared a War On Drugs, and now you can't buy drugs anymore?"
In my oh so honest opinion, I think what you're looking for would not serve you well a few years down the road. What you want is the logic and ability in the broad range of computer science. After this, the languages come much quicker. A computer science degree from a leading college would give you the depth as an individual to apply yourself to not only existing languages and technologies, but new ones as well. Trust me, in 5 years, some of the languages you mentioned will be looked upon by new programmers with blank faces.
Good luck with your education, and remember, the only bad education is the one that doesn't interest you.
Well, IMO Python is a real good choice. I had stumbled with c++ before, not for a lack of understanding the syntax, but how it all fits together (if i can understand obtuse perl programs i can understand c++ syntax). It was just to low level to get a good picture of how it works without writing alot of code. Then I started looking at python, nice high level language that's OO. Both books programing python and learning python cover the basics of OOP. I feel much better about writing clean code now that I've used python as a stepping stone. That's my suggestion for OOP anyway. As to other things I have a copy of 'The practice of programing' (Addison Wesley). It covers alot of skills a programer needs to know, asuming you already know a language.
My former employer (worked for a small software engineering firm, which since I left got larger ;-))
has said many times to me that he has never, ever had to show his degree to anyone. Nobody has ever asked him 'wait, you do have a college education don't you?' before hiring him.
But he is self driven, willing to start his own company and put in the hours (80 wk? more?) to make it pull off. And it is hard work,
I have seen him mess up some times.
So no, you don't need a degree if you are willing to get yourself on equal footing as those with the degree. Honestly (and my mum would kill me if she heard me say this), the degree isn't important as far as the piece of paper is concerned. What is
more important is your willingness to learn and your knowledge of the fundamentals. If you don't have a degree, you better have real-world experience going into a job interview. And you will still run into problems where you need to know things like how serial ports work, how network protocols work and the fundamentals of servers, operating system theory and threads/concurrancy/deadlock , etc. If you do not know java, you can learn in two days, assuming you know the fundamentals and are sufficiently motivated.
So, like many people here have said, don't think computer science is knowing to program C. Or any of the other languages of the week. You must know the fundamentals, and that is what a computer science program will teach you. If you are willing to learn the fundamentals on your own time (if you are sufficiently motivated), then the only thing a degree buys you is a college saying 'yes, we think he really does know this stuff and is qualified to work'
I've been there, I know people that go to school there. The whole place makes you feel like you are on drugs as you walk around.. very nice place :)
If you go to CMU, I have one word of advice for you:
...
...
PLAY RUGBY!
There's nothing like beating the pants off of PA/WV hicks who don't have anything to do at their hick schools except play rugby, and then coming back home after the game for a late night hack session
Seriously, I don't know how anyone can doubt the credentials of CMU as a CS school. Forget the fact that I got one hell of a CS education there - the simple fact is that of all of the people I have worked with since college, the very best software developers by far have all been from CMU (ok there was one pretty good Stanford guy too).
I have never worked with anyone who went to MIT -- where do MIT CS grads end up? Not in software companies if my experience is anything to go by
CS degree is not about teaching you the latest and greatest technology. Tehre are plenty of companies which are more than willing to train you in the use of their technologies.
A CS degree is about teaching you the principles underlying a field. As such, it is intended to be very abstract. It is aimed at teaching you the logical system that underlies all computer science disciplines. There are many lessons that can only be learned in a controlled, academic setting. Therefore, the degree is not as concerned with whether the program is written in C++ or Java, but how a computer is language is constructed and how it meets its goals. The degree gives you the tools to quickly assimilate new technologies which means that going through the full 4 year ciriculum at an ACM accredited institution will make you a far better developer than simply learning each technology in an ad hoc manner.
I work as a software engineer at a company where most of the developers have not had the four year CS degree. The lack of this foundation leads to many headaches and poor designs. While the 4 year degree isn't as sexy as one would hope, it will make a far better programmer and open your eyes to things that you would not otherwise see. Finally, the upper echelon jobs in this field require at least a BA/BS in CS if not a MA or PhD, and that is where the umber cool stuff is occurring(i.e. XEROX PARC, ILM, Watson, etc.)
As a rule of thumb to start with, universities which have their Computer Science program under the same school or department as Engineering are preferable over ones which associate it with their Math department.
Make sure the Computer Science program you attend has a curriculum with sufficiently difficult classes in
- several programming languages
- algorithms and data structures
- operating systems
- advanced classes in your choice of several areas of empahsis:
- systems design
- databases
- mathematics
- business
Why look for difficult classes? Because employers generally find out how tough the curriculum of a given school is from performance of previous grads. They go back again to recruit at schools they got good people from. Though you can't predict how the hiring scenario will be the year you'll graduate, this stacks the deck in your favor. (So long as the Internet continues to fuel the economy, I think you'll find smooth sailing in the job market.)I got my BSCS (1988) and MSCS (1991) at California State University, Chico. As a northern California native who does not come from a wealthy background, I had to focus on state schools in my search for a college to go to.
Fortunately, you can get a good education from a state university. But you have to check how well-funded the Computer Science program is and the quality of its curriculum. At least for the 23-campus CSU system, one university can be world class in a few majors and mediocre in everything else at the campus. California's UC system is better funded (and therefore better at more subjects per campus) but more expensive. What you want to know is whether they're good in Computer Science. Depending on where you live, some of these comparisons will hopefully be helpful in what to look for.
I was lucky that the nearest CSU campus (CSU Chico) to where I went to high school had a good curriculum and reputation in Computer Science, not to mention that their MSCS program is available via satellite across North America. And I run into CSU Chico grads all over the industry now.
I tried searching MIT's website to find out what textbook(s) they use for their database courses and guess what? They don't have any!
Perhaps they have renamed their database course to "information storage" or something dumb like that and I couldn't find it on their web site. Have you ever searched a course catalog for "information storage". You'll hit every fucking CS class they have.
As an example, I'm currently in an assembly class. Now, is there any reason for me to use Turbo Assember for Intel systems in the future. Not terribly likely, but it does teach me how to be careful, clever, and even elegant in my programming. The professors are very interesting, and very helpful. I'm really becoming a much better coder than I could be learning on my own or in a trade school.
I'm looking forward to going into the upper level AI and OS courses as well as programming theory.
Unfortunately I'm currently having to deal with Physics II and Calculus III, which I find barely relevant, and very tedious. Still you get the whole well rounded education bit, and if I would pass this stuff the first time around I wouldn't have to deal with it ever again.
Plus, we have a kick-ass theatre program.
/Advertisement>
--
(sourceCode == freeSpeech)
I've been going to the Master's Institute in San Jose, via their distance learning option. I'm working on an Associates in System Administration. It's a regular AAS - includes GenEd like English, Psych, etc. - and in the process, I'm getting my certification training for A+, MCSE, CNE, and CCNA. So far it seems to be a fair mix of concepts (cf., networking) and specifics (Cisco routers). The local community college has a Networking AAS, but it's nothing compared to the program I'm in.
Les the Book
Hope College in Holland, MI (www.hope.edu) was good enough for Rob, Nate, Jeff, CowboyNeal and kurt.
Specific languages isn't that important, but I really wish Hope would get more intensive on C and C++. The push has been to move towards Java as a teaching language (not bad idea).
What you mention are specific skills, not
general concepts. What you describe is training,
not an education. if all you want is training,
you would be better off with vendor classes,
and maybe community college.
An education teaches you things much more
important that the skill, language, and software
of the week. It teaches you how to think. Learning
how to think about algorithms, logic, parsing,
and other traditional computer science topics
really does help with those real world
applications.
If you learn Java, you learn Java, but if you
learn the concepts of Object Oriented design
and programming as well as the language, then
you're much better prepared when the language
of the week changes. If you take a GOOD databases
class, you will learn database concepts in such
a way that you can apply them to current and
future database systems, instead of being tied
to one system you were trained on.
Just remember, learning how to think is much
more important in the long run than learning
vendor specific skills.
ERROR: Null
I probably would have never learned about serious algorithms or turing machines on my own, but classes do push you to learn these things. Down the road they are helpful. Whatever do, don't get into college expecting it to teach you a trade. Don't become a code monkey.
Don't freak out when your CS prof doesn't know how to install a hard drive or doesn't know the hottest new language. Odds are they know the principles, and given time, they could learn any language or technology in a few weeks. Their interest is in teaching you fundamentals so that you can refine your skills in practical ways in your own time. I like what Mark Twain said about these matters:
"I never let my schooling get in the way of my education."
Duane Gran
-- Solaris Central - http://w
The University I went to a few years ago didn't have any sort of "practical" computer training. They were teaching mostly theory and while some classes used C++ (oooh, how revolutionary for 1995) students had to learn to program on their own.
I found that the small community college in the area had excellent classes in things like Network Administration, Graphics Programming, X Windows Interface Design, etc. People with two-year "certificates" from this community college were getting jobs at the University once reserved only for academics with higher degrees.
The C++ class I took at the community college was taught by one of the full-time programmers who worked on Mosaic and other NCSA projects at the time (oops, guess I just gave away the University and community college I'm talking about...).
The X Windows class was taught by a professional X programmer from Motorola. These classes taught me more in one semester than three years of Computer Science classes at the University.
Also, my brother is getting execllent expierence in things like Adobe Photoshop, Quark and Dreamweaver in a small state school getting a "visual communications" degree.
Investigate community colleges and smaller state schools, they tend to be geared more towards the "pratical" expierence that many are now looking for.
True, smaller schools don't have the resources of large institutions, but in the days of PCs as powerfull as 5-year-old supercomputers, that doesn't matter as much anymore. Still, if you're interested in optimising algorithms for more than 128 processors, you're better off at a big school, but if you're looking to get some "hands-on" knowledge of practical computing topics, smaller schools tend to have less formality and more practical expierence.
----
Life if possible, art at any cost.
--
--
A couple points...
First, I agree a school can't necessarily teach you to think. It can make you a better thinker by showing different ways to approach a problem. But, you still have to have the potential to start with.
What you are describing though are bad teachers, not that school can't teach you anything. You also have the data points to show that not all teachers are like that. What you don't have is the background of coming into a school with good teachers, and not being "one of those kids wih genius level IQ." I don't know if I am one of those or not myself. I like to think so, but I had a pretty humbling experience at my school with a lot of people who were a hell of a lot smarter than me.
The other thing is I had a similar department to your CS department, except for me it was the math department. At my school everyone has to take math through Differential Equations (anyone from that school can probably guess it now.) The classic example that matches some of your story was Differential Equations there were two sections and I got the worst one (couldn't take the other due to morning practice). I basically failed the first mid-term because all the professor did was write proofs on the board, and then assign homework that was application. Strike 1: Not giving practice for what you are teaching. Then, the tests would be on the homework type problems. Striek 2: Not testing what your teaching. The only thing that got me through is I got together with people in the good section to work on homework. I went to the mid-term reviews that were taught by the good professor, and would learn and understand about 4 weeks worth of material that was totally incomprehesnible before in about 2 hours. I ended up with a B-. But, the fact that I could learn enough in 2 hours to pass the class from a good teacher, that I couldn't in 3 hours/week of class from a bad teacher taught me a lesson about how much a teacher can influence the learning process.
On the other hand I had a CS professor who taught Algorithms and Theory of Computation. The way I see it these could have been two of the most boring and uninteresting classes ever. But, because of the quality of the teacher and the work he did I learned a lot in those classes, that I continue to apply today. (Thanks Ran).
Dastardly
I have to hire more new staff every year, and I never make a shopping list of facts, languages or applications that they need to know. If I wanted a Cold Fusion reference, I'd buy a book.
What I really need are clever, hard-working people who don't believe that they are the center of the universe because of their new degree. They need great communications skills, and the ability to cope with overwhelming projects and concepts.
You shouldn't have a shopping list of facts to learn or applications to master. You should be looking for a place that will put you through hell and, in the process, teach you:
-that you can learn way more than you ever thought
-how to learn for yourself when there is no teacher (and get paid while doing it!)
er... RIT is NOT the only school with a BS/MS in IT... try MTSU (mtsu) they have one too... you didn't look long enough.
Well, there is a lot of discussion as to the differences between training and education. I beleive that what this indivual wanted to know was: "what are the best computer nerd schools?".
At any college you can learn various languages, programming paradigms, etc. Some school just focus more on what you want than others. Just about any school with 'tech' in the name will have all sorts of programming courses. Here at Rochester Institute of Technology, there are many courses to choose from. Some just teach you a language, some actually teach you how to use programming, so teach you the theory of programming, etc. MIT, FIT, CIT, (all the *ITs have very similar programs) If you wanna focus of programming, i would suggest one of the afore mentioned tech schools.
--collect information, distribute information--
That's strange because all the admin jobs I've seen advertised say "5 years Solaris experience required" or "8+ years with HP-UX"...
As a high school drop-out you must have either lied your ass off or had relatives / friends in a position to get you hired. I just can't see it any other way, perhaps you could enlighten me?
I beg to differ.
:)
I go to William and Mary.
Terrible CS department (The Econ department is fantastic, but then again I plan on becoming an economist
They teach you algorithms and concepts, that's true, but they dont teach you the fundamentals of anything practical. Case in point: they don't teach malloc(), realloc() or calloc() to the intro students! Rather than that, they jump through hoops to define classes and then use new() and delete() to "dynamically resize" arrays. Great theory, pathetic in practice.
OTOH, if you want something for PHBs, WM is the place to be.
-- PHB in training.
Three Step Plan:
1. Take over the world.
2. Get a lot of cookies.
3. Eat the cookies.
I second that.
First, almost all of those courses are offered at the school I'm currently (re-)attending. I'm taking Java and Unix System Administration. My professor is the head of the internet group at Wells Fargo Bank. The school is City College of San Francisco.
If you just want to learn those specific skills, check out your local community college, or just pick up a book and learn it on your own. At your age, you should have no problem picking up a new language or system from reading a book and playing with it on your own. (I didn't when I was your age.)
But, if you don't already understand the concepts, don't concentrate on learning a language. Learn the ideas behind it. If you don't understand the concepts, memorizing the syntax for Java, Perl, or even COBOL won't help you.
As others have said, get an education, not a skill.
But, when you ask about:
You're missing something. You can go to some place like MIT and learn all that really cool stuff like robotics and AI and all that, but when you get your Bachelors and start perusing DICE for jobs, you won't find too many of them out there.
Despite what another poster said, there are still an awful lot of COBOL jobs out there, as well as the newer stuff like Java. Not too many positions for people to design robots that can destroy other robots, at least not if you're fresh out of college.
So keep that in mind -- big uni's may have lots of really cool stuff, but they may not be what the real world is using.
On the other hand, there is a huge benefit to knowing more than just technical stuff. I can't begin to count the number of times the years spent hanging out in my dad's CPA office has helped me as a programmer.
Even stuff like literature and music help -- Having an extensive vocabulary and excellent grammar/spelling skills have helped make me a successful consultant, and my eclectic musical background has helped sharpen my logic skills.
So, to sum up, if you need specific skills, go to a community college. (I was having some trouble with learning Java on my own, (even after nearly 20 years in the business) but I am doing much better in the classroom setting.)
But, if you need a general education, both technically and otherwise, consider a four-year school. Concentrate on the concepts, and don't skimp on the other subjects.
Stupid people will be persecuted to the fullest extent allowed by law.
Exactly. I really like it when colleges like MIT and Berkeley (I don't know about other places) teach their intro class in Scheme..
It really emphasizes that what you should be learning are the fundamentals and ideas, since languages are constantly changing anyway. (Well, so are ideas, but not as much.)
Well, there's certainly the math aspect of it, but there's more than that. For instance, in good OOP, you need to learn to encapsulate well and not reveal your implementation, etc.
Half of good programming is just learning all the bad timesavers that you shouldn't do, and how to get good habits.
I'm afraid I can't really recommend any good books on the subject, as I've just been taking the courses here. I'm hoping someone else can?
( ....snip... So how much value does the degree really have? Think about it.
BTW, you never see on a job app that a degree from specific colleges is required. Just a degree.
)
While I agree with your observations broadly speaking degrees are not interchangable.
Don't get to thinking that the world views a degree from Oxford, Cambridge, Harvard, Yale or any of the great European Universities as having the same value as a degree from home-town community college.
If you're going to do a degree get into the institution with the best reputation you can.
I go to University of Maryland, and I know they offer cources in many of these concepts. In addition they try to emphasizes the theories behind computers. Any one language is likely to be obsolete in 10-20 years. How to program is not.
God does not play dice - Einstein
Not only does God play dice, he sometimes throws them where they
Go to CMU, or MIT, or even Stanfurd!!! Just don't go to berkeley! There are already way too many EECS/CS majors here, it's just nuts! Everyone, go home! Who knew there were 300 people every semester who want to take operating systems???
Scuttlemonkey is a troll
I may be slightly biased since I go to Berkeley, but I think it's great. Here are a few thoughts.
Research in just about any field is definitely possible, I have been doing it since I was a freshman. It just depends on your own initiative to go out and find out what is going on (their are programs that list all the oppurtinities, but you have to seek them out).
Berkeley is crowded, and nothing will be handed to you on a platter. Everything you get out of it will be due to what you put into it, which is a good lesson in my opinion.
Although lower div classes can be huge, I have never had a prof who wasn't accessable whenever I needed to see them.
The social atmosphere is A LOT more varied that what you would see at Caltech or MIT. I have friends at those schools who are not always so happy.
Make sure that your son has an idea what the difference between CS & technology is.
UW also has a good CS program, so you should definitely look into it if money is a concern.
Have your son check out the class homepages http://www-inst.eecs.berkeley.edu for an idea of the coursework.
One more thing - don't let your son get a big head, I know a 8th grader who got in the 1400s on the SAT - there is always someone smarter than you, so you can't let that be your measurement of self-worth or your source of happiness.
Scuttlemonkey is a troll
Learning a programming language is like learning a foreign language. The first one's pretty tough, but they only get easier after that. It's all about underlying concepts.
You're better off teaching yourself the basics and getting a tech job. You learn a much wider set of skills, develop practical problem solving, and to top it off you get paid rather than paying them. In my experience schools are behind the curve and are forced to teach down because so many schools have to wide an admitance policy. If you do want to get a college degree I'd suggest getting it in a none computers field so you can grab up highbreed jobs that require not only computer skills but knowledge in another field. Medicine, engineering, history, etc.
At what price learning? At what cost wisdom? The price is a man's peace of mind, and the cost is his life.
Study on your own - buy books, read magazines, and online content make yourself do example problems/programs. You can learn anything through an internet line these days.
Even by the time the books are published, they are dated.
For example, I read the MSDN (just the new content) cover to cover every month. Talk about bleeding edge - most of the white papers at that point are literally just that - papers.
The difference between a trade school and college is that college teaches you how to teach yourself. College teaches you how to learn. At my school, in my CS dept, they're constantly telling people in the 100-level courses that they don't teach the programming language, they teach you how to learn it.
The point is that regardless of what school you go to, if you want to learn Cold Fusion, then you do a project in Cold Fusion and teach yourself. Same goes for ASP, Perl, etc. You teach yourself the language, the profs are just there to teach you concepts.
~~Kev
One of the nicer things about Mudd is that you are introduced to many sciences, so that you get a well-rounded education. Sure, if you're a CS major you'll leave knowing more about computers than you ever thought there was to know, but you'll also have a solid grounding in chemistry, physics, biology, engineering, and math (although, of course, math and CS tend to overlap a little).
It's hard, you'll wonder what sleep is by the time you're done, but it's definately worth a try if you want to push the limits of your brain and your computer science skills. I know I made the right choice...
- A random member of the HMC CS Class of 2001
You are talking about TWO DIFFERENT WORLDS!
You are looking for a Technical College not a Traditional College.
Technical Colleges teach what you want, the latest and greatest hardware and software technologies. Specific courses on how to use specific applications that usually have a life cycle of under 10 years. Cold Fusion, ASP, JavaScript, etc... They teach PRACTICAL KNOWLEDGE.
Traditional Colleges teach more "general" concepts from the basic physics of semiconductor lattices to programming design to project management. Most of these courses do NOT teach you anything about any system, although you *MAY* end up using some of them on your own in a project for some courses. This is especially true in traditional engineering programs where you spend 75% of your coursework learning in fields COMPLETELY OUTSIDE YOUR INTENDED FOCUS (e.g. math, physics, mechanics, economics, etc...). At most Traditional Colleges you will find LITTLE PRACTICAL KNOWLEDGE.
"Which is better?" is not a good question. "Who are in more need?", the obvious is the former, practical technicians and engineering technologists. 250,000 new IT/computer technology jobs are created a year. Only 25,000 new, traditional engineering jobs are created a year.
Me, I am a traditional engineer, but I work in the semiconductor field. Not many openings there. ;->
-- Bryan "TheBS" Smith
-- Bryan "TheBS" Smith
Independent Author, Consultant and Trainer
Along with a great co-op program, Northeasterv University in Boston, MA has all you're looking for and much more. It is a little pricy, thogh. I'm in the same situation as you, coupla years of HS left. Also, if you got the grades check out MIT, CalTech, Berkely, or Carnegie Mellon. Collegeview is another great way to get a ton of info about colleges, so check it out.
If you think you know what the hell is going on you're probably full of shit. -- Robert Anton Wilson
jdube is who
dumbass..... Purdue's Computer Technology program is ranked as THE BEST by many national and global organizations. We are not a "trade school type education." To get your degree, you still have to complete the basic Purdue grad requirements. You've obviously never been in a CPT class ( with an attitude like that, you'd be dead in the water ), so why don't you stick to a subject you know about?
What do you want to do? We have Information Systems or Telecommunications & Networking as majors. Within those, there are numerous sub-tracks to choose from. Courses? Systems Analysis, Administraton, LAN, WAN, Programming ( C++, Java, VB ), and more! Visit http://www.tech.purdue.edu/cpt for more info.
No, we do not do "applied" science like EE or CS majors. We have more of a business focus. In short, how to APPLY your education in the real world. To tell the truth, CPT grads have been commanding salaries above and beyond CS for years now. Our graduate placement has been 100% for years as well. The average graduate's (BS) salary is $48K/yr, Masters grads average $70K.
You know, I really hate it when people put down something just because they know nothing about it. They make assumptions and don't bother to find out if its true or not. Bleh!
Companies actively recruiting CPT majors as of Septemer 1999: 3M, CIA, Dell, Dow, EDS, Exxon, GTE, IBM, Intel, Lockeed Martin, Microsoft, Motorola, NSA, etc.
Can a trade school give you that?
So far I've taken the standards C, C++, program design, advanced unix programming (filesystems so far). In addition I've taken Perl, Win32 API, and Unix Systems Administration. Next semester I'll probably take java, and in the next few years I'll probably be exposed to ml (ick!), smalltalk, 3d graphics, kernel hacking, and this is just undergraduate work. Of course I'm taking more than the standard cirriculum, and I'm not mentioning the hundreds of MIS classes (web page creation, asp, MSCE, and all sorts of internet commerce stuff).
I think these sort of requirements are (or should be!) standard for any _full_ university, but they're not. I suppose any college in the top 30 (WSU was 25 and UW was 10 when I applied) for Computer Science should get you most of this stuff.
Your hotmail account and webpage are simply another abstraction of anonymity. Do you disagree? Now how does that give authenticity, accountability, reality?
;-> did you click on the link? yup... (nice 2.2.12 kernel) did you keep digging? no! you didn't get past the host's page and make it to my first personal page... it takes 8 clicks to read about my first girlfriend, after the third click if you can't figure out what my @wsu.edu email address is you really don't need to be emailing my unfiltered account... now let's keep going... stop at my first personal page and go 3 clicks in a more obscure direction and you can get my full name, from there one stop at www.wsu.edu -> "phone & e-mail directories" and you have my home phone number...
abstract that... there's a difference between putting your info on a billboard and leaving it in a nice 500 page phonebook...
It be hard to convince me that it wasn't written to incite a response (i.e. troll).
*ghasp* oooo nooooooooOOooo! making conversation! guilty as charged!! A troll on the other hand incites a decidedly _negative_ response. Trolling is infectious; see how nice and cheery I've become responding to your critiques?
and you seem to have taken a few things for granted, such as the scope of the article (mentioning various languages, that's what they're interested in right?)... I never said that a full university _would_ train every student in 5 languages but that it should have the facillities (remember, I'm taking courses not required by the cirriculum)
This is what worked for me-
I dropped out of high school, and put myself on the market consulting as a UNIX admin. In my experience, a serious investment in O'Reilly books and a hunger to learn got me some really sweet gigs at places like Motorola and Sun, where I had
lots of documentation, and labs to do hands-on stuff in a controlled environment.
These large companies don't always care about a degree, as long as you show aptitude. As far as what happened to/for me, my work has been also
been an apprenticeship.
Of course, formal education will teach theory and
basics of algorithms and structure- all very important and useful, to be sure.
Keep in mind that working in the field does make you think on your feet and adapt to the situation
at hand ( i.e. having to tear apart someones code in the middle of the night, hoping the whole mess will compile clean before the cron job kicks off in an hour) , which is equally important, in my opinion.
UMMMMM.... Learn to type? It's there.
Web developer? I don't think so. Maybe you should read my resume again.( have they taught you to read at that school of yours? )
This is true, however I work full-time at a place that 'builds lots of bridges'. If I want the know how and a chance 'to design my own span', then they will give me that opportunity (at least that's what it says in my contract).
I used to work in construction, and I will tell you that the foreman on a job site can/ will tell
the engineer where the weak points in his plan are.
The reason for this being that a foreman has years of EXPERIENCE with the materials, where an engineer has probaly never put on a pair of overalls.
I could not agree more strongly with this comment.
I was a physics major at Carleton College, a small but highly-regarded liberal arts college in Minnesota. I have spent the rest of my career teaching at Great Research Universities, such as Johns Hopkins and the University of Michigan, which are terrific graduate institutions, but where the undergraduate experience can be the impersonal, polar opposite of what a great liberal arts school can give you. If you want to learn the flavor-of-the-month programming language go to a community college or your local bookstore. If you want to become an educated person, someone with the desire and the skills to keep learning throughout your life (not just about programming, but about literature, science, music...) then consider a liberal arts school such as Carleton, Swarthmore, Amherst, Haverford, Williams, Grinnell, Oberlin, the University of Chicago, etc. These schools produce impressive, well-rounded, incredibly talented graduates who have learning skills that last a lifetime.
That's really what education, as opposed to vocational training, is all about: learning how to learn.
"Half of this game is 90% mental."
(I'm a third year EE major who hangs out with too many CS people for my own good. Take this with a grain of salt or several. Yeah, I can program, but I can't stand it. I'll design the hardware, then pay you to write the apps for it. [EG] )
I recommend finding the best darn CS program you can get into, like Berkeley, MIT, Stanford or CMU (just to name some off the top of my head). Take the theory classes (like everyone talks about in the other threads) and go to town learning how to develop algorithms, how to manage memory and how to PROPERLY organize "stuff" into a database.
While you're doing that, get a job on campus as a lackey (or if you have experience, as a real position) for a department's network and/or servers. Don't be an NT waterboy; take advantage of the fact that all these departments are running Solaris, IRIX, and other unices you've never seen before. Learn how to admin in a research environment where outages don't cost billions of dollars or lives or anything major, just that Dr. Smith can't check his email that evening.
You get the theory (which makes you a better programmer, DB admin, or network designer) along side real world experience (which is what makes you stand out from the kid who got a 0.2 better GPA than you who's graduating from the same program). You win on both fronts.
I'm currently net/sysadmin for the campus neuroscience department and still have enough time to participate in extracurriculars, keep grades up, and have a life. If you budget your time well and ******grab EVERY opportunity you can******* you will succeed in college and look good in the real world.
-Chris
I was just talking to a friend the other day about his education at the University of Waterloo (across the river from Detroit). He mentioned that while other schools had courses in programming languages like C, etc., at Waterloo instruction in specific languages was only in optional two-week non-credit workshops. The courses were about programming and assumed you knew the languages (for those outside of Canada: Waterloo is known for its tough math and comp sci programs)
-
<SIG>
"I am not trying to prove that I am right... I am only trying to find out whether." -Bertolt Brecht
<sig>Guvf vf abg n frperg zrffntr
There is a certain level that you cannot go above without a good understanding of math. If, for example you are going to go into cryptography, or try to write video encoding software you had better be a 'math person'.
Sounds to me like a recipie for dissatisfaction when you are 35. Get a good balanced education. Learn to write and communicate with other people. Take lots of math courses. As you go along in your career you will find that at some level you will be judged not only on your technical skills, but also your ability to communicate and manage other people. Engineers that hit 50 and find themselves unemployable generally have failed in building these skills; experience and knowledge are useless unless you caqn spread it around to the other people you work with.
I would suggest going to a school that offers both a good CS department as well as good liberal arts.
Someone doesn't seriously want to go to school to learn CFML and ASP, do they?!??!?!?? If they do, I have a perfect school for them: it's called a Wednesday afternoon with two books "Teach yourself ASP in 21 days" and "Teach yourself CFML in 21 days." Excellent university. Total cost: 10 hours and $100.
Otherwise, it's sad but true. Most credible schools want you to learn the foundations of computer science as well as the applications.
--JRZ
As strange as it may sound, I have several friends that wanted the same thing, and they did settle on a trade school, of a sort. DeVry, being the final choice offered a variety of degrees, EE, CS, Telecom. DeVry is an accredited school, and does offer a B.S. in all of their programs. The schoolyears are compressed into a Trimester period, so the workload is intense, but it shortens the length of your term at the school. DeVry also has an excellent record of work placement, as well, so if you are looking at being employed part (or full) time while attending school there, they will assist you in finding employment. It's quite an amazing place, and if I decide to seek a BS, I may end up there myself!
I toggled a toggle and buttoned a button, but when I got done, I was done doin' nothin'.
>a great Formula One racer should be able to >kick-ass in Honda Civic
:)
That would be like making rms code in BASIC!
I'm at Madison. Which prof is this?
I am another poster from the University Of Maryland College Park, and I can say that the only professor who has cared about stuff as trivial as that is not a CS professor (rather an EE professor who teaches EE majors programming)
Our CS dept (so far) has proven to be surprisingly enlightened; after the first 4 classes, you can write any program in any language that will compile/run on the CS development cluster!
(The point being that students learn to find the tool that best fits each task, rather than buying into one language and limiting themselves)
The other nice thing, (a feature we share with UNC, UCBerkely, and a few others) is the local CS industry; working NASA was fun, and there are still orgs like the NSA (!), DOD (A friend of mine is the ass. sysad for AFRRI), UUnet/MCI, etc.. (MAEast is right here, so many uberISPs have offices here, so if you want a sysad job as opposed to a coding job its right here)
We are all in the gutter, but some of us are looking at the stars --Oscar Wilde
Grrr. my nick is "Forward the Light Brigade"...
Another voice from UMCP;
what are you looking for in terms of school choice?
(I am not sure but I think GATECH is higher ranked than we are (though not by much, we are both top 15) but we have much more in the way of coop/internship/pt job opportunities in CS)
we have a kick ass LUG (not to assume you are a Linux-user, but...)
you end up strongly on a grad-school track coming out of UMCP... this does not inhibit you from getting a job, but you will probably have to learn most programming languages on your own (I think the current slate is C/C++, (Perl && Java || LISP && PROLOG) )
OTOH if you want to futz around with making your own compiler, come here; and if you want a good grounding in general algorithmic theory, our final Alg class (not req.) is renowned... (CMSC451)
anywho, email me if you have any questions...
-RS
We are all in the gutter, but some of us are looking at the stars --Oscar Wilde
Grrr. my nick is "Forward the Light Brigade"...
I am currently in my 2nd year at Rochester Inst. of Tech in Rochester, NY and I think it is a decent school for CS/IT. It was the ONLY college in the US offering a bachelors and masters in Information Technology (IT) when I was looking. CMU was my 2nd choice... No IT. just CS. I can program and an good at it, but don't want to a backroom junkie all my life. Interacting with people and making things work are my forte. With Sysadmin and Networking and web development concentrations I can tailor my degree to what I want. Consider RIT.
As a graduate of the CS program there, I also would highly recommend Princeton, but not necessarily as a source for the things the original poster asked. Princeton's program tends to be more theoretical than pragmatic, so for example, you'll get a world-class background in algorithm design, but C++ won't be on your curriculum (let alone app languages like Cold Fusion). Last time I checked, we were ranked eighth amongst US undergraduate CS programs.
Div.
But my grandest creation, as history will tell,
But my grandest creation, as history will tell,
Was Firefrorefiddle, the Fiend of the Fell.
School was mostly boring for me until i found a group of people doing research on some stuff that really interested me. Now i get to hack with linux, design hardware, and play with nifty toys, (sometimes for money!). So find out what sort of research your prof's are doing. Besides getting to do fun stuff, knowing your professors can make school alot easier, more fun, and more useful to you in the long term.
With dittos from me!
um, yeah, i went to yale. i majored in cs, but i can't say i learned much of anything in the department. all my skills are from outside of class. other than that, it's a great school, and i learned all kinds of interesting things about literature, musical composition, art, history, and so forth. so i'm glad i went. but not for learning cs. the professors are mostly world-class, but they don't care about the undergrads at all.
adum
I doubt the original poster will read comment 130-something, but here it is:
College is not for learning.
College is for stretching, for thinking, and for growing. You won't get another four-year shot at this ever. The rest is (as everyone has said) just a series of variations on learn-it-in-21-days.
Choose the college where you think you can be the most stretched; meet the weirdest people, and see the most. If you graduate with a relatively open mind, you win.
I would wholeheartedly suggest going for an education like many of the above posters suggest...
However, your choice of school can be the most important factor in your college life. Do you want to learn something for the here and now... or do you want to gain the requisite skills to make a career as a computer scientist?
A school's technology for a potential computer science major is important. But almost as important as the technology the school employs, is the opportunities the school offers to its students. Does the school offer cooperative education or an intern program where you can go work for companies gaining valuable experience while you're still learning the skills to be successful in the industry?
I'm just about finishing my undergraduate degree this year. I've had the opportunity to work for IBM as an intern, and at the moment...working as a part-time perl programmer with a possibility of full time employment when I graduate.
I guess my point is that the school can have the greatest technology, but there are other factors that you should watch out for.
And in case you were wondering, the school I go to is New Jersey Institute of Technology It was rated by Yahoo America's Most Wired Public University... so the technology here is up to date. Look into it if interested.
Any C++ programmer can learn java in about two weeks just by browsing sun's website, and they will always have more programming experience than you, which will make the difference.
As many have said what you need is to understand the underlying concept. Algorithm. Data structures. Compiler Design.
Now if you want to be ahead of the race there are things that are difficult to learn AND useful.
Data mining will eventually be needed to make use of all the data collected online. And data mining is statistics, which you can NOT learn in two weeks. Take statistics.
Distributed architectures are starting to florish, and they will be THE way to go when/if the semiconductor industry reaches physical limits. There is no good paradigm yet for distributed/parallel programming. But it will not be easy. Learn Petri nets, linear logic, programming semantics, protocol verification.
There are other things I'd worry about if i were you. Go to a cheap school. If you make debts you will HAVE TO make money and do boring stuff that won't lead you anywhere.
Laurent
---
Dev elpizw tipota, dev phoboumai tipota eimai lephteros http://euclidian.org
Now, I'm not sure if there's actually a "degree" available in CT, but students are welcome to take "X" number of CT classes as electives, PLUS the college makes a fair profit from non-major students whose employers are paying for these CT classes. In other words, as long as there's money for the college to earn, there will always be these relatively "highly-specialized, vendor-specific" CT classes ....
"He who questions training trains himself at asking questions." - The Sphinx, Mystery Men (1999)
I work for Pennsylvania College of Technology (PCT affectiontly by the locals, or Penn College) And we have all those programs available as a short course, in addition to normal CS/EE type things. We're pretty inexpensive too, I think about 8k$/semester for a non-resident. check it out at www.pct.edu
Consider taking courses at a community college. They're inexpensive, and you can often transfer credits to a 4-year college. My understanding is that they are also more geared toward skills, giving you a quick pay-off in the job market.
Check out my school. I go to Tufts University. It is a great school and they have a good CS dept that has some upper level AI classes. We also have really good physics. Apply to the engineering department b/c liberal arts is a joke in my opinion. It costs a lot of $$$ but the financial aid program seems generous. I pay about what I would pay at a state school and get a much better education.
--------------------------------------
--------------------------------------
in a world without bounderies or fences, who needs Gates anyway?
Rochester Institute of Technology in Rochester, NT focuses heavily on Java in its CS program. They use Java because of its extensive use on the web, platform independance, and OO features. They also have classes in C++ and some other languages (Perl?).
Classes on Network Management and the like are also avalible as well as an Information Technology major for those who don't want to be a programmer but want to be in the field (some programming but more networking and admin as I understand).
Michigan Tech is a very tough and focused school. It's not all computer, but it's all science. It's got all the high intensity math and CS you could want.
Let me warn you - it's in the middle of no where. It's the CS heaven in the icy desert of the north.
i'm a sophmore computer science student at nyu (yeah, who ever knew good ole liberal new york university had a cs department?). i have an work-study job where i learn all about perl and javascript and such which is useful for your resume, but i still like my classes. i guess it seems like i'm learning more at work than at school, but i also kinda like the general liberal arts education.
as many others have said, in one way or another, college is about learning _how_ to learn. no computer science graduate is going to stop learning after he gradutes, you shouldn't either. if you're really that hot right now, maybe you shouldn't go to college at all for a degree and just take classes or learn on your own for specific languages. however, there's nothing wrong with learning indepth computer science theory and also how to write essays well. you don't want to be a hardcore hacker forever, do you?
a "normal" college is also a good place to get drunk a lot. if you like that sort of thing. i think i'm starting to like it too much.
cold fusion comes and goes, but c stays the same.
There is some merit in what you say, but you don't tell the whole story.
The average 4-year school is just that... average. The instructors are not necessarily up to date on the latest in their field. In other words, you don't learn the same theory.
I went to a State school for undergrad. I did this because it was cheaper and I because I was stupid enough to believe "a four year school is a four year school".
I had profs who didn't quite get the "it" of computer science. Most were EE and Math PhDs retreaded to teach CS. Many were less than motivated teachers and it came through in their classes. Many of the students treated the "university" as if it were little more than a trade school. The quality of the students was low and they showed little academic inclination. This all culminated in lower standards overall.
The environment that school created was horrible. All motivation had to come from within. There was little challenge in the classes. There were few other students with whom to share either wide-eyed enthusiasm for the field or intellectual discourse.
My graduate education was at a top-ten university. The environment was night and day difference. The classes were challenging, including the undergrad remedial classes taught by TAs. My classmates were engaged and motivated. I learned as much from them as I did studying on my own. The material was current and the standards were set high. All of this culminated in a very hard course of study that was like nirvana.
Don't kid yourself. The environment you choose will affect you more than the textbooks you use. You learn more than just facts during your education. You learn how to think -- so you need an environment in which your thoughts are always challenged. You set your standards -- so you need an environment which does not abide complacency and underachievement. You learn a sense of aesthetics -- so you need an environment in which aesthetics are possible.
Going to a different school for BS and MS tells me little about your ability to adapt. Getting a BS or an MS tells me something about your ability to stick with a program. If you got your degree from a good school, then I know something about the standards to which you were held. If you got your degree from a school I never heard of, then I know little about your background and it will be harder for you to pass the resume screen.
Those quiet types have to be able to communicate. Software engineering in the real world is as much a social process as it is the dedicated hard work of a single individual. Try putting together a reliable, multi-tiered, high-throughput, scalable system in a start-up environment with changing requirements. A group of people who can't communicate, but know how to code, won't cut it.
I agree with this 100% I am a computer science major at a small liberal arts college and as much as I grumble at times, there is beauty in differences between me and my friends. And, if you find a good school, they will support 'crazy' ideas (my school has a 15 million dollar Fund for Excellence) I'm waiting for grad school to give me the crazy fun research, the cutting edge ideas. For the time being, I'm learning the fundmentals damn well as well as challenging and extending myself in unpredictable ways.
+-------+ between the wish and the thing lies the world - All the Pretty Horses
CMU does have a pretty misreable attrition rate, although the assembly-line undergrad education is a problem to some extent at many major universities. It is very dishaertning to see that universities are buisinesses that are primarily concerened with the bottom line (i.e. corporate research money). (Note that the drama department also has a notorious impact on attrition as well)
The CMU School of Computer Science (SCS) has been making improvements to the undergrad CS expirence and the undergrad dean (props to Mark Stehlik!) is *extremly* dedicated to this goal. He has driven major changes in the intro to CS class, making them more accessable, with a special intro lab (on macs, so the freshmen don't have to worry about picking up UNIX when they are trying to grok function and var) and TA's are on duty in the into lab all evening and weekend. These days, (if memory serves) undergrads are admitted directly into SCS, so they start out with Mark as their advisor right away. If you are having trouble w/ a class, he'll arrange to pay another student to tutor you. And he does advocate to keep the class size small, although SCS is it's own college and has improved autonomy, ultimately the university controlls admissions. (and I doubt that Mark would reccomend skipping calc 1 w/ a 3, I had a hard time getting permission to skip CS 1 w/ a 5)
While there are some truly evil administrators in the university, and at times it can be pretty miserable (and don't get me started on the food), but for CS I would HIGHLY recommend CMU. You will learn so much, and have the opportunity to see some really cool research, and the quality of the degree is very much recognized in the industry.
I can't speak for the other departments, but I would be reluctant to attend CMU for humanities (you'll spend all your time down the street at PITT if you need to use a real library) and some of the engieering programs seem to treat the undergrads like cattle.
Ultimately, I think that a lot of kids start college without knowing how to work it. Thus, universities get away w/ over admitting because they still percieve school as something that *they make you do* whne the reality is that you have to be driven and demand resources. Unfortunately, if you don't want to or don't know how to use the university to your advantage, you can either go to a lameo school and pass without learning anything or go to a hard school and either flunk out or get your shit together.
- bridgette
i'm not exactly sure if you know what you need from college yet, you'll have a better understanding in 2 years. But if you want to learn those skills Perl, Java, C, etc get a book and learn them. I do not think that there are many computer schools like you describe. Most teach higher math and theory and you will pick up the rest as you go, usually as a learning tool for algorithms not as a lesson unto itself.
You need to get used to the fact that you're going to have to work on your own, not wait for a professor to assign it to you. Just learn.
If it makes you feel any better i am attending USC and we teach C with CS101 and Java with CS201
we also have electives in Linux, web publishing(perl) and a bunch of others. of course i need to take out enough loans to buy a porche to go here but then what can you do...
One last thought, all those classes you're requesting are mostly in the ITP dept, watered down tech skills for the business majors(which the CECS people laugh at) All the hardcore stuff is theory and architechtures. (which the business guys laugh at)
--------------------- Turn evil by smiling.
no offense but your in your 3rd year at a university and your only doing javascript?
i am in my 2nd year at USC and i am taking java,MFC,theory of computation and will take Operating Systems (writing them) next spring.
--------------------- Turn evil by smiling.
Georgia Tech can give you one kick-ass education in CS. As an undergraduate CS major, I feel that we get the complete package: it starts with learning basic algorithmic concepts (in pseudocode, no less), progresses to a real language (currently Java), and then blows wide open with classes on theory (algorithms and automata), compiler implementation, programming practicum, operating systems, software engineering, 00, language concepts, networking, and caffeine consumption. And that's *before* moving into one of the areas of specialization, such as AI, graphics, databases, usability, and seriously deep theory. It truly rocks.
Don't get me wrong--there's a lot of bad stuff about Tech. You have to put up with all sorts of bureaucratic crud, evil policies, hidden costs, a terrible male-female ratio, and all the demons that plague Atlanta (traffic, crime, pollution, heat, etc.). But in the end, you earn three really cool things: (1) a degree from a reputable college, (2) the flexibility required to adapt quickly to new technologies, and (3) a grim understanding of how life works. GA Tech really does teach you a little something about life, but that's a different subject.
If you go to Georgia Tech, you will learn about many different programming tools. However, you will master none of them: you will skip from language to language, learning one thing when you need it and then forgetting about it when it comes time to learn something else. Programming is about mastering the only real tool you have: your mind.
Georgia Tech Links
Undergraduate CS Program Info
General College of Computing Education Info
GT Main Page
Groan... Time to go write a C-preprocessor for lab.
-1, Too Many Layers Of Abstraction
A trade school to learn x, y, z, and perhaps a, b, and c, is not impotant. In ten years, things will be vastly different, and ten years from then.. could you imagine today two decades ago? There's one thing that has to be remembered, especially for engineers: 50% (and this is the low!) of what your taught is worthless when you graduate. Its not important if your a walking dictionary.. computer.. but if you can adapt, and relearn.
For me, it came down to Illinoit Tech (IIT), and CMU. Quite close, but even before CMU wait-listed me, I really liked IIT and had happily accepted. When you apply for colleges, grade on academics only. After you've got a list of potentials, all of which you thought were worthy, go to the one that fits you. Thus, you've got a good.. top school, and you'll even be happy.
"Open Source?" - Press any key to continue
No one has mentioned accredidation (sp?). That's why im a cs major:) Armstrong Atlantic State University, Savannah GA is one of less than 200 colleges in the US with an ACCREDITED CS program. There are 4 schools in Georgia with the ACM accredidation. We are pretty small so the classes are less than 35 students. -Dan
-There are only soldiers, and men who wish they were soldiers.
>>it is more productive to read eclecticly than to listen to the Theory of the Week.
I think what the original post was saying is that if you are trained on a particular language like ColdFusion or Java but do not learn the concepts that are relevant to all languages, like top-down design, encapsulation, etc. then your knowledge is less adaptable. There are people who learned COBOL way back when and are stuck in it even to this day because they couldn't apply what they knew to C or Java. That's a trap you can avoid by learning the concepts rather than the specifics.
Here is a good real-world example of what I mean: I arrived at my current job to find that they were keeping track of employees using an Access database. Everyone spoke very highly of the person who 'designed' the database (and I use the term design loosely here) - they though this guy was uber-smart. And truthfully he did know access pretty well. But what he really knew how to do was use the wizards. There is a form wizard, a query wizard, a report wizard, etc. When I took a closer look at this database that everyone said was so great, I found ONE table! Come on, that's laughable! There was a column named present that you were supposed to put an X in if a person was at work and a column named absent that you put an X in if they were absent! What a moron! This guy didn't know shit about databases. I on the other hand, had learned the concepts of data normalization, 3rd normal form, and such, and although I didn't know Microsoft Access specifically, I did know SQL.
The point is this: do you want to learn MS-Access or do you want to learn about relational databases? I agree that you must read constantly to stay current in this business. Just be careful that you aren't reading books titled _Learning MS Access in 21 Days_ because what you really need is a conceptual foundation.
oni
It's me, Tyler. Just making sure you didn't pop a vein or anything getting pissed off at him. He didn't mean to slam on us, so don't make us look like fools by retaliating. Have fun the rest of break, see you in class.
I know everyone has already said this, but...
If you understand how to handle algorithms and fundamental data structures, if you understand how to analyse a problem in terms of things which can be computed mechanically, then you can build systems in any language.
Learning to use a particular language is helpful, of course, to practice the above, but that language should be well chosen. Of those you listed ColdFusion and ASP are short term temporary hacks to meet the needs of a particular instant in time, and that instant is already passing. By the time you leave college they may already be yesterday's technology. Java and PERL will last longer, but even they won't last forever.
But the most important thing, if you plan a career as a geek, is to learn how to learn. Being a geek is a matter of always looking over the next technology horizon, having the new skills *before* the market knows it needs them, riding the front edge of the technology wave not sliding down the back. And the method is learn, learn, learn, learn, never stop.
I'm old enough to remember when discussions on Slashdot were well informed.
It depends what sort of books you're comfortable reading.
Of course there's Knuth[1]. Knuth (volume II, Seminumerical Algorithms, and volume III, Sorting and Searching) have a very important place on my working bookshelf although I don't use them often. Knuth is quite hard work - definitely easier to get through in a seminar group situation than on your own. It's also pretty expensive if you go for all three volumes.
Abelson & Sussman[2] is an easier read, and covers lots of good stuff; if you work your way through from cover to cover you'll understand a lot about software.
I also personally like Norvig[3]. It's an artificial intelligence text, but don't be put off by that: artificial intelligence is by definition hard programming, and although there are other sorts of programming which are hard in other ways (real time graphics rendering, for example, has a whole different set of problems) by the time you've really worked through any of the more demanding software areas you will have a mental toolset which will be applicable in many others.
[1] Knuth, Donald: The Art of Computer Programming: 3 volumes.
Volume I, Fundamental Algorithms: ISBN 0201896834
Volume II, Seminumerical Algorithms: ISBN 0201038226
Volume III, Sorting and Searching: ISBN 0201896850
[2] Abelson, Harold and Sussman, Gerald: Structure and Interpretation of Computer Programs: ISBN 0262010771
[3] Norvig, Peter: Paradigms in Artificial Intelligence Programming: ISBN: 1558601910
You'll find all these in a good academic library, or at http://www.amazon.com/ or http://www.compman.co.uk/
I'm old enough to remember when discussions on Slashdot were well informed.
Errr... well... no...
My degree is in Peace Studies and Philosophy. And I'm a fairly good geek, and used to be on the academic staff of a CS department. But it's harder work getting to here if you don't go through a CS education, because all the hard fundamental things that a CS education comprises do have to be learned and learning them on your own is harder work. Having said that, the technical end of Philosophy (logic, computability and so on) is a great help.
But the fundamental thing a geek needs is to know how to learn and how to structure thoughts and concepts. Law, or History, or Classics, or even, possibly, Literature, all teach that.
I'm old enough to remember when discussions on Slashdot were well informed.
I disagree. I think real world skills are great for some colleges.
------------------
"We're sorry, but the website you're trying to reach has been disconnected."
At my state-university CS department, it is like this:
The curriculum is all about theory and less about which language(s) you are proficient in. You take classes about how to build a compiler, how an operating system works, sorting algorithms, data structures, artificial intelligence, computer vision, etc. -- mostly presented in a theoretical, pseudocode context.
You also take a lot of math classes. So much, in fact, that you end up with a minor in math.
When the professors actually start working with real code, you realize that they don't really know what they are doing. One professor actually told me, "Most CS PhD's are idiots; they can debate theory all day long, but they couldn't write a nontrivial implementation of _anything_ to save their life." Their code usually sucks _hard_. In one class I took, the prof was writing his own book. We got each chapter each week or so from a local copy shop, and none of the code would even compile. One of his source files even broke g++!
The first two CS classes teach you Java, but after that, you are expected to learn languages on your own. Each programming assignment averages from 0.5 to 4 kLoc, and you are given a choice of languages to do it in.
I suspect the preceding story is repeated at many other universities like mine.
Washington, DC: It's like Hollywood for ugly people.
- Maryland @College Park
- ...
College Park is strong in both CS and Physics. I was a dual major for three years, until my brain began to melt while taking OS Theory and Introduction to Theoretical Electromagnetism in the same semister and I decided that this was no longer fun. Never finished the physics degree, but maybe I'll go back someday.It's a good school. I got my BS in CS there in 1991 and my MS in 1993. If you want to ask me anything specific about it, drop me a line. (Remove "spambefuddler-" from the above e-mail address to reply.)
Tom Swiss | the infamous tms | my blog
You cannot wash away blood with blood
But before my opinion, some sad humor. I once suggested they introduce a credit course in Perl and even offered to teach it. The response? Perl is not a serious language, just a toy.
OK, first thing, you're screwed. You have to play all angles. To get to an interview, you have to please Personnel, to get hired, you have to please someone like me. We all look for different things.
Personnel departments obviously look for degrees, experience, and buzzwords. I would rather have a gung ho adaptive and smart guru with minimal experience than a deadwood "set in his/her ways" old timer who can't adapt to this rapidly changing world.
(Just as an example Old farts have a lot to offer too -- hey, I'm one myself -- but they HAVE to keep up with the market. Why do you think this old man reads Slashdot?!)
A good degree from a decent accredited institution is a must. While there, do your best to get a job at the place in the tech area. You might have to start working as an assistant in a student lab, but trust me, but that's also an ideal job. You'll have lots of time to study, experiment, and get paid at the same time.
Certifications don't mean jack to me. I've known some real idiots who have MCSEs. All they show me is that they know how to memorize facts and nothing else. If I give many of these MCSE chumps a non-textbook task, they can't function. For example, set me up an NT RAS dialin server using PAP, but authenticating against the IDs and passwords of our main UNIX systems.
Having a complex home network helps. A job candidate showed me recently that he has a complex network at his huge house where four generations of his family live. The entire house is networked, connected full time to the net via ISDN, using Linux as a gateway and all clients are Windows based. We telnet'ed into his home box and he showed me how he could monitor his home network. He prefers Windows boxen for personal use, but Linux was the ideal solution for his gateway/firewall setup.
Needless to say, I was impressed. He showed me an ability to think up solutions to problems, he was able to answer technical questions about it (so I knew *he* was the one who did it). He used the right tool for the job, and wasn't a platform bigot. Unfortuanately, he doesn't have any degree. Too bad, I want him. I have to have him! :-)
Another suggestion. Be smart on the net. Post intelligent posts to usenet and answer tech questions using your real name. More and more managers I know about use the net as a candidate research tool. Unfortunately, our selection process prohibits that since I can't remove info about candidates from the screening rooms, etc, etc... But other managers aren't stuck with limitations like this.
Your on-line activities can help or kill you. Want to act like a jackal on-line? Get a second account somewhere and don't use your real name! (Unfortunately, I don't always follow my own advice :)
My final piece of advice. Don't be a platform bigot. I HATE THEM. The world changes, the world has different solutions, different platforms have different advantages. In my younger days, everyone was an IBM bigot even though in the 60s and 70s other mainframe boxen from people like Burroughs (now Unisys) had far better and more advanced systems. A platform bigot robs me, the manager, of inputs so I can make the best decision for the company/college/whatever. Platform bigots should all die a horrible death.
The other great part of the equation is Austin itself. Dell, Motorola and Texas Instuments are some of the heavy hitters in the area, but Austin has recently been nichnamed the silicon hills. It has become an alternative fo VC, and there is a lot of activity in startups and such that are hard t find anywhere else in country, beside California.
On another, equally important note, Austin as a city rocks, add into the mix 50,000 college students, great athletics and you get a very flexible situation which will let you do just about anything you want.
Spencer Ogden
granted, there aren't that many women. Kind of sucks, but i'm in a long distance relationship so it's not too huge an issue for me...
but the engineering and CS are TOP NOTCH here. great stuff. Plus, it's versitile - you can get a BA in comp sci, which basically means you get the same computer experience as the BS people, but you don't have to take nasty hard physics or chem or calculus 4 or crazy shit like that. Oh yeah, it's pretty damn cheap compared to CMU and RPI and MIT, and they'll give you aid too. Quite a bit, if you're smart enuff. (1300+ SAT & top 15% == half tuition)
it's a decent school. the only social life is in fraternities, but it's still cool.
From a motherboard manual, error beep codes: S-L-L-L-SS: Speaker Error
The most important thing is not to learn a trillion language but to learn things such as Object programming concepts, Database architecture, network protocols and clusturing. 2 or 3 language on top of it and one can handle about any situation in its computer scientist work.
I think most of the top colleges these days for computer programming teach programming concepts - that is, their courses are like "Introduction to Algorithms" instead of "Advanced Java." These top level curriculums assume that you can apply this knowledge to many programming language. They usually pick one language to teach most of the courses in (C++, Java, or Scheme (MIT)) and tecah the concepts using that language.
I'm a high schooler right now. Like a lot of other people in a similar situation, I have a pretty solid understanding of a bunch of programming languages - Perl, C++, PHP (sorry, no ASP or CF). So if I "know" these languages, why would I go to college? Because there's so much more to a programming language than simply the syntax. In English class you don't learn sentence structure, you study literature (well, my english class anyway). In programming classes you shouldn't be focusing on the syntax, you should be focusing on the things that are far more important: actual understanding of the programming. As someone else said, you can buy a "teach yourself ASP in 21 hours" or whatever - so what do you need a professor to lecture for? The book can teach you syntax, the professor can teach you understanding.
Well I know that the focus here at Ga Tech is on programming concepts and algorithms..
Not specific languages (although if you get out of here without knowing java, c, smalltalk, and maybe prolog you've done something interesting)
(I also got a bit of pascal in that, but it was phased out for Java.)
Under the old curriculum we'd get to know lisp really intimately too.
Notice there isn't any c++ in there.. but remember that the focus is on algorithms and concepts.. Much Much more valuable than learning a specific language.
There are courses on security, etc but they are mainly graduate-level courses from what I remember. The intro to unix class (concurrency+control under the old curriculum, I'm not sure what it is under the new one) taught you all about make, etc, and had you create your own shell.
From what I understand now, there is some compiler stuff thrown in there now..
I thuroughly agree with the way they go about teaching CS here... I can pick up just about any language given a reference manual and a couple of hours, but the concepts are invaluable.
Personally, I'd avoid any courses which were tool-specific (an particular language is a tool), because most tools are relatively simple to learn/use with a bit of time invested in reading the manual. Weekend seminars and the like are much better for learning tools..
(And, of course, peer encouragement!!)
Good luck!
You are young and have a lot to learn. Find whatever it is that you find most difficult and meet that straight on. The earlier the better. If you are bad at math, take tough math classes. If you are bad at English, take tough English classes. The same goes for schools. Go to the toughest/best school you can get into. As for the type of school, pick one that gives you a rounded, balanced education. Any university is good, but liberal arts colleges are best. For example, Earlham College is excellent. Good luck.
Pittsburgh rocks. The whole area around cmu was beautiful. The school was nice and the friends I made there were generally awesome people.
If you are really set on college for computers check cmu out.
-sirket
Do you want a skill, or an education? Trust me -- go for education. Where would all the COBOL programmers be today if Y2K pandemonium hadn't resuscitated their jobs? That's right -- they'd be out flipping burgers somewhere. Unless they adapt to new methodologies, they're obsolete.
That's what you'd be setting yourself up for with such an education. Sure, exposure to new technologies should be a part of the curriculum, but that will get you only so far. Cold Fusion won't be the Next Big Thing forever, Sun's marketing department won't be able to keep Java alive forever (I hope), and even Randal Schwartz, he of the great O'Reilly Perl books, has talked of plans for what to do "after Perl."
The best thing to get would be a solid basis in the theory underlying the technology, with enough exposure to the applications that you can understand and internalize the theory behind it. You can write a useful little VB application that does this or that cute little GUI trick, but if you don't have a solid understanding of the architecture behind it -- the data structures, the machine representation, the algorithms, and so on -- you will never be able to get the most out of your work.
Mind you, I'm *not* saying that theory is an end goal. As one of my professors put it (paraphrasing), being a consultant (i.e. theory specialist) is like being a sex therapist without ever having had a girlfriend. Or to mangle another person's statement, "Theory is to application as masturbation is to sex."
Obviously, you have to be able to apply what you learn, and yes that means exposure to current mainline technologies. But a general education can only go so far with this. Should the curriculum emphasize a good middle ground, like C++, or should it emphasize specific technologies like Cold Fusion web development, Oracle databases, Cisco routers, Visual Basic interface design, etc.? In other words, where should the specialization end? This question cannot be met by general education, nor should it. Once you have the basis, you can seek out and master the tools you will need *on your own*.
In the end, this should be far more valuable to you than a trade school training. I promise.
DO NOT LEAVE IT IS NOT REAL
Carnegie Mellon University here in Pittsburgh PA is REALLY fantastic for computer stuff . . . however, there are two drawbacks:
a) it's mighty spendy.
b) you have to live in Pittsburgh.
But you'll certainly know your proverbial shit.
Bad things often happen to good people,
It is up to them to see that they remain good.
First, I must say, I'm not yet done with my college undergraduate work. But I am totally saddned by this question. When I first started college, I had a much broader goal, I wanted to learn about Artificial Intelligence, and make the ultimate AI machine that can solve all the problems in the world. Now, as I am doing my last year of college, I find that it was a big mistake. My goal was way to _specific_!! It will take too long to explain why, but to look for a college to learn about computers, here are some things to pay attention to: First go to a real school. At least top 5, MIT, CMU, Stanford... Contrary to popular opinion, it does matter--even for undergraduate studies! And if you are properlly motivated, a school with good graduate or research programs is better than a school with good undregraduate program.
;-)
Once you are there, do not be limited by what you think you like. Definately do well in the area that you really aim to learn about. BUT do explore other areas, as well as learn your fundamental mathematics! There is absolutely nothing to loose if you are seriously interested in computers. As I found, every class that I looked forwared to taking I did not learn much from. And it is from those classes that I went in to with mixed feelings(like "what the heck am I taking this for?") That I enjoyed the most, and learned the most from.
Only 10th grade. You have much to look forward to. definately stop paying so much attention to how to set up your own linux box, and how to set up a home or school network, or how to write device drivers, or how to write such and such big project. Go explore computer SCIENCE more. There are many wholly different worlds there.
Those who has gone through college might agree with me. Of course, many of my friends are also looking forward to getting 60 a year, so...
p.s. I agree with a previous poster about CMU, This is one awesome school. To add to the credentials, CMU has SEI(Software Engineering Instute.) The largest(and gets most money) Software Engineering place in the USA. If writing software on different platforms, combining different languages, in large program projects is some thing that is important to you, this might be a good motive. If, on the other hand, _computer_language_ is some thing that interest you, CMU has some awesome progarmming language/compilers ppl, including Peter Lee,Dana Scott, etc... hmm this is slightly off topic. not that CMU needs any advertisement
Carnegie Mellon is a great place to be for undergraduate Computer Science, if you're willing to work really hard.
:)
Before I was at CMU, I don't think I really knew what CS was all about, even though I was handy with Javascript, Perl, ASP, etc. Although the courses I've taken have had little emphasis on specific development situations or web-oriented development, I'm certainly a much better programmer than I was before.
One of my favorite things about CS at CMU is the kind of homework problems that are assigned. Rarely do assignments require you to work with different technologies or learn a new langauge (e.g. web stuff, database stuff), but instead are genuinely challenging problems, regardless of what language is used to attack the problem.
Check out www.discretemath.com, the web page for "Great Theoretical Ideas of Computer Science," my favorite CS course at CMU (at least so far!)
Of course, downsides of CMU (as someone else mentioned) are 1) cost 2) Pittsburgh. But it's worth it, in my estimation
But...
Going to a large and prestigious school, such as UC Berkeley (Ok, I'm a little biased), will help you out in that there *will* be strong faculty in all departments. I switched my prospective major from CS to English to Political Science, and I know that even if I go to something "weak" like Mass Communications, I will get a good education.
Because half of education happens outside the classroom. At Berkeley, I interact with other students who *are* as smart as I am. (This is new.) And opportunities for interesting stuff abound. Lectures (Linus came by last year), extracurriculars (International Socialists, Anime, all sorts of stuff), cool people (I lived in the same dorm as Seth Schoen of CalLUG), etc. Big, more of a lot of stuff.
Yeah, there isn't as much personal interaction with faculty....unless you work for it. Here, I have the option of being anonymous if I wanted it. If I want interaction, I can have it -- office hours, undergrad research opportunities, etc. I visited a small school, admittedly atypical Reed in Portland, Oregon. Too cloistered. Everyone seemed alike. The diversity here, in ideologies, worldviews, backgrounds, interests, strengths, and, yes, ethnicity/gender/sexualities, is astounding.
Because I go to Berkeley, I have more options. After discovering I loathed my intro-to-CS class, I *could* switch. Not all four-year schools are like that. If you're thinking about a school whose one great thing is CS, even if you've been programming since you were 7, think twice. There's a reason that people say "well-rounded" so often. There's a reason for the cliche.
Ceterum censeo Microsoftam esse delendam.
No, I'm not majoring in CS, but I COULD!
Ceterum censeo Microsoftam esse delendam.
The people who say "get a real education in the foundations of CS" are right. Trade schools are short-term. A fundamental education will last you a lifetime.
If you want a really tough school that specializes in educating the smartest scientists and engineers in the country, you might consider Harvey Mudd College. We're expensive (though financial aid is available, like most places) and we're hard to get into and hard to get through. But if you can cut the mustard, I think we offer a better undergrad education than CMU, MIT, or Caltech. (If you can get into HMC, you can probably get into any of the other three, so it's your choice.)
Disclaimer: I'm on the faculty, so I might be the teensiest bit prejudiced. :-)
For example, anybody who gets a Ph.D. in the area usually called "Systems" will have to write significant amounts of code. My own dissertation required around 45K lines of stuff. In contrast, I have a fellow professor who is a theorist, and she recently told me that she doesn't even need pencil and paper to do research -- except that she likes to doodle while she thinks! That doesn't make her incompetent at CS. She just knows different stuff than I do.
As to your prof, just because his code didn't compile hardly means he's incompetent. It just means he was too lazy to test it before he gave it to you.
Having defended people, now let me also say that a lot of CS profs have no industry experience, which means that their approach to writing software is not always in tune with what industry needs. That's why many managers consider a fresh graduate as a trainee. It's not that the new hires are stupid or ignorant, it's just that they still need to learn a lot of practical aspects of the stuff they learned in college. The degree isn't useless, though: without it, you wouldn't be ready to learn the practical stuff.
"Don't touch the bunny!"
Well u don't need to a genius to realize that... i mean just look at the commercial christ! what? do u really think is gonna anything for u?
----====___SUBLIME___OR___NOTHING___====----
I'm going to college next year, just did my final SAT last Saturday. I would like (wish, rather) to go to MIT or Caltech. Or Stanford. Is there anyone here who's at MIT or Caltech? How's college life there as a computer science student? I keep hearing "MIT is a geek's heaven" and stuff. Is it?
Is Yale any good when it comes to computer science or physics?
I know that you've already been swamped with replies regarding your question about CS schools, but, being in the situation (and an insomniac as well), I thought I'd offer my opinions.
:).
The number one thing I want to tell you is: go to college. I don't mean a technical school, nor do I mean a community college. What you want is the full-blown, people moving away to live there, university experience.
Why? It has nothing to do with the classes you'll take nor the skills you will acquire. Nor does it have anything to do with the infamous parties (although being able to code clearly with a serious hangover is a great job skill
My suggestion has to do with people, because you'll be surrounded by lots of them. You will live with them, study with them, party with them, cry with them, laugh with them, and even love some of them. You will never forget them, and some of them will become life-long friends.
There's a population density thing going on, you see. You find yourself surrounded so many young, smart, zany, hungry, healthy, vibrant people all day, every day. All of this zest and sheer vigor for life pushes you to become better in so many ways. It really is amazing...so much so that you must at least give it a try.
However, consider it just that when you get to college, a trial. I have also met many who didn't thrive in the situation. They only hurt themselves, those who insisted on staying and weren't ready for the experience. If you don't like it, don't just stumble and shove your way through. Go away for a while and do something else. That way, when you are a different person later in life (you will be), if you want to go back, you will have left the doors open.
Okay, okay, I know you wanted to hear advice on the technical aspects of schools. Being a geek (I presume) you've kind of waded through the previous bits of dribble rolling your eyes and laughing at me. So let me get to it.
Take fewer classes and work a part-time job while going through school. Don't get just any job. Get a technical job doing programming. There is enough of a dearth of talent out there that, if you sell yourself honestly and aggressively, you should be able to find something that will challenge you and stretch you.
I know many will not like my piece of advice (the dean of my school explicitly advised the opposite on the first day of freshman classes). It WILL take you longer to get through school this way, and it WILL be even more difficult juggling your responsibilities.
The advantage is that you will be forced to do a different kind of learning at work. You will be required to just "pick up" some of those practical skills you listed. You may well even get paid to do so. Further, as you progress through the theory at school, you will see more and more why it is useful as you are thrown into real situations and begin to benefit from its application (it really is amazing how much easier it is to write a little command parser after a language/compilers course than that first naive ad hoc attempt).
Concentrate on learning how to learn. Good teachers of any subject are really rather rare. In order to be qualified to be a professor, you have to be good at writing papers (especially grant proposals). You don't necessarily need to be good at either the craft of programming nor at conveying the theory to a lecture hall. However, it's funny how this is one of the greatest skills that you can obtain at the University. Learn how to be your own best teacher out of self-defense.
Do try to get a degree, if you want to continue programming through your career. I may be wrong, but I see a problem brewing. Right now, due to a couple of factors (Y2K and Internet boom), there is an incredible demand for programmers. Kids are walking out of school with a bachelor's degree and no experience into 50K jobs. A CS degree has become the new MBA, and people are flocking to get one regardless of whether they actually enjoy it in practice. So, right now, there are plenty of jobs. But, I see a time coming when there are more "qualified" individuals than jobs. In this scenario, it behooves you to have a degree as your "license to practice". When jobs become scarce, it may well become a necessary qualification, regardless of skill and experience.
Okay, if you really are thinking about college now, how do you choose? There really are two major types of computer curricula: IT and CS.
Information Technology (IT), is the common name for a business school type of computer degree. They will teach you some basic programming, some specific computer skills, and a general business-oriented background (economics, accounting, administration, etc.). This is great if you want to become the type of systems analyst that puts together commodity hardware and shrink-wrapped software for businesses. It's also fairly good, assuming the program has enough networking classes, if you want to become a system administrator (or especially a webmaster). I don't know, but I don't believe this category fits you.
There are really also two basic types of Computer Science department: Liberal Arts and Engineering. The former are rooted in the Mathematics departments of their Univeristies (CS largely grew up in the early days as a specialized branch of applied math). The latter are often rooted (with Computer Engineering) in the Electrical Engineering departments of their Universities.
Because of accreditation (DO go to an accredited school, even if you choose a technical college), the bulk of your core courses will be the same regardless of which type of CS program it is. However, the Engineering variety will often have more emphasis on applied theory than pure theory, and vice versa for the Mathematics variety.
You should absolutely visit every college you are seriously considering. The amount of money you are talking about spending deserves some legwork. Would you consider buying a $25,000 car (that's fairly cheap for college, mind you) without at least looking at it first?
Consider taking your car for a test drive as well. Go to the CS department and ask to sit in on several classes. Check out beginning as well as upper-level classes. This way, you get an idea of the range of classes and get to meet some of the professors and/or graduate students. Talk to these people. Ask them about the kinds of projects they are working on. If you already have particular interests, find professors and students who specialize in that. Don't be shy.
Go to the University book store. Look at the texts for all of the CS courses. This is perhaps the quickest way to get an idea of the overall curriculum. Remember, good teachers are rare, so you may have to largely be teaching yourself from these books. Also, note down the prices. These are likely to be some of the most expensive texts you will buy for your classes, so you can get a good worst-case estimate on your total book cost from this.
I have one final piece of advice to give you. Buy yourself a computer. It is a fairly trivial cost compared to the total price of college, but no computer science student should go without. Administering your own box is a great learning experience in itself, and sometimes you absolutely need the flexibility and control in deciding which programs are available, how things are structured, and when it is available. It is a horrible feeling to be pulling an all-nighter in the labs and to get stuck because you don't have the permissions to fix something. Besides, schools generally get uptight when you bring a coffee maker into the lab.
Speaking of which, dawn has arrived...it's time for my morning brew and some hacking on my data structures project. Good luck, and, whatever you do, enjoy it.
Cheers,
c0d1
A good computer science school isnt going to get all in a huff about teaching you this language or that. No matter what language you program in, a binary tree is a binary tree, a hashtable is a hashtable. Its more important to learn your algorithms/data structures, learn how to design programs well, learn your fundamentals. Once you know that, going from language A-->B is just a matter of getting a reference book.
Just make sure you get a good dose of both object oriented, and regular programming, both have their place and you should be comfortable with either 'paradigm'.
That said, Rice University is where I am at right now, they use a mix of C/C++/Java with a bit of Scheme (like lisp) and assembler thrown in. Many classes even let you use whatever language you want! Drawing a bezier curve in Java, C++, not a big difference. Pick the language that is best suited to the task.
-I go to Rice, so figure out my email address
Yes, schools teach those. It's called a community college. But they just teach you how to use existing solutions, not how to create better solutions. I use many of the mentioned items in my work, but often find that no tool does what I want in a very complete or efficient manner. So I'm in the process of writing new software tools to accomplish what I need (which I can of course resell besides using for myself, so it's a good idea). It's from my training in how to find needs, build use cases, design software, test it, support it, bugproof it, etc., that I can pull that off. That only comes from a proper education in how to solve a problem, not from how to use somebody else's software which hopefully already has the problem solved (in my case the study was at the University of Utah, which, while not as well known, has a fantastic program, dealing in the same theory and such as Carnegie Mellon and MIT).
Okay, so its not that anyone is going to read this far anyways, but I'd like to add my two cents.
I'm now a Sophomore here at UTD. I love the campus. I love the professors. I love the people. My school just broke the 10,000 enrollment barrier this year. Our school is small enough now that only 6% of courses are taught by non-proffessors (TAs). I've yet to have a course where I felt the professor didn't care about the material, or where the professor felt that teaching and students were intruding on his research time.
We compete every year in AI fairs, and virtually every year we place second or first. (We're locked in a perpetual battle with MIT.) Our chess team is the best in the hemisphere, second best in the world. Perhaps you haven't heard of us before, but perhaps you have. In either event, you'll be hearing a lot more from us in the future.
UTD is very fortunate in that we sit right in the center of the Telecom Corridor. (In case you don't know, the Telecom Corridor houses over 600 different Telecom companies, including Alcatel, Ericcson, Nortel, GTE, SWBell, and MANY others) Our CS and EE programs are influenced by industry all around us. Oftentimes, the Dean of the EE/CS school can be seen chatting with various executives from local companies, discussing curriculum and why things are being handled the way they are. Oftentimes, industry petitions the school to add courses or oppurtunities for students to get out and work in the industry, gaining invaluable real-world experience.
But my post isn't about that. I'd like to focus on my curriculum at UTD. I take approximately 15-17 hours a semester. Out of the 129 hours required for my CS degree, a whopping 70+ are explicitly CS courses. Several others are CS-electives. 24 are state-required, 11 are Sciences, and approximately 12 are free and advanced electives (Non-CS).
CS students are started out first year in languages, typically C++. Second year, its on to discrete mathematics and computer organization and assembler, and then onto data structures. The Courseload for Juniors and Seniors varies, but it always comprises of 75% or more theory courses. Courses offered include Operating System Design principles and database theory. Courses regarding specific languages are also available, but are typically not required, as has been pointed out in so many other posts: these are not education, but a limited subset thereof.
Anyways, the point of this post was to refute claims that some others had made that Universities failed to teach students how to think. On the contrary, I feel that my college education so far has been invaluable and irreplaceable.
--
"A mind is a horrible thing to waste. But a mime...
It feels wonderful wasting those fsckers."
I currently have no clever signature witicism to add here.
I want to get training so I can work my way through at least a doctorate if not a masters in an outside area. I want to be independant from my parents and be able to support myself. A bit of computer education would be nice in theory, butI would like to be able to make money so I can finance the education to have a career in anthropology. So, in my situation, would it be better to go to a community college and get certification?
Synopsist
A 4 year CS degree will give you the background you need to start, as far as learning the other languages, I've always found that I learn more outside of class. For instance I've learned c++ in class which has alowed me to pick up a couple books and teach myself perl and java. The university environment also exposes you to many people with the same interests that can help you learn linux or anything else you want, and gives you the time to do those things. Plus you're learning what you want and not just the specified curriculum. If I had it my way the only reason I'd see a professor is to ask questions :)
If its stupid but it works, its not stupid.
Truth be told, at the undergrad level, most CS programs are the same. If you WANT to go to a high-powered school (and, ergo, spend all that money), more power to you. I think going to a high powered school is more important for your graduate degree, but here's a list, anyways:
MIT, Stanford, Carnegie Mellon, Berkeley, Cornell, Illinois, Washington, Princeton, Texas...
Of course, if you already know what you want to specialize in (which, to me, sounds like you're DEAD SET on software engineering), then you might want to look in to a school that specializes in software. I would be willing to bet, though, that a BS from your state's top public school is just as good as a BS from any of these places.
Bill Woessner
---
Bill Woessner
National Instruments
Quantum linguistics: Until you looked, this message was in Spanish.
What I'm getting to here is that experience will get it done for you. A degree will get you through a door so you can get it done. I could go to work now for any computer company around here, but I have a feeling that a college degree, and to a greater extent, my up-and-coming high school diploma, are going to determine my hirability and/or salary. Yeah, I could run your Apache Linux webserver with the knowledge I have acquired and my library of O'Reilly books, but would you hire me to do it when you aren't sure if I've even gotten laid yet? A degree is necessary to get you hired. Your knowledge and ability to solve problems will keep you employed. Guess you gotta have both, or an uncle who works for Oracle.
If I could get Lightwave for Linux, I'd give my Windows PC to the lowest bidder.
Top Tier:
Mc Gill
Carneige Mellon Univ.
MIT
None will teach ColdFusion, Perl, ASP, Javascript, etc...
I am a senior in high school & am having the same problem. As it is now time to send in SAT & ACT scores, not to mention grades, I am having trouble find the school which best suits me. College aid and early admission stuff has to be sent in the next month or so....Enter frustration.
/.er's will advocate Carnigie Mellon. It's a great IT and CS school, especially for AI. Cons: $$$ and my grades suck.
My main interests are AI and Physics, so it's not gonna be easy to pick a school that is good in these fields and will accept my grades. [cough]loot[cough] also is playing a big part. I am in NC, so one of the most obvious choices is NC State for undergrad. My SAT's are ok, so I'll bet I can get in there. Then there are the dream schools, the pricey ones that I would love to go to, but prolly can't get in: CMU and MIT. What self respecting geek wouldn't want to go to either one?
CMU: I'm sure plenty of
MIT: Every geeks dream. Cons: see above. Something like 27% of applicants are accepted, and most know they have a good shot.
Not to infringe on this guys concern, any advice that can be give to my specific case would help,
too.
To the original post: Good luck tough guy, you'll need it. Maybe you don't need to go to college on the other hand . Many IT jobs can be picked up by book (Netwerking, Coding, etc.) You can be assured in a good tech school you'll learn it right.
Oh, and yeah, this is prolly a redundant or offtopic post by now. ^_^
Wanted: A Bauhaus reformation of society.
I don't care if you go to a $2.5k/year school or a $25k/year school - when you come out you're just a trainee. In this field, all that going to school does is give you a license to learn. I can't see that the expensive schools get you anything unless you are looking to get a very specific type of job.
:) Even that's not foolproof though. Had a guy not long ago that did real well, 70 or 80, something like that. Turned out we had to let him go because he couldn't deal with large systems. Sure, he was real bright, and he knew all the theory - just couldn't apply it effectively. He knew -how- to do something, but not -when- or -why-.
All the people saying that the concepts are important, not the technologies, are absolutely right. Getting a degree is well worthwhile, and don't worry too much about the specific technologies taught. Not only will you get a good overview, there are many places that won't look at you if you don't have a degree.
If you can possibly get real-world experience while going to school, do it! It's a huge advantage, far more than what school you went to. Co-op is one of the smartest things you can do. We hire a lot of people right out of college, and almost all the ones that get offers did co-op or some other type of hands-on work.
Now me personally, when I do tech interviews on people, I really don't care if they have a degree or not. I don't tech with easy questions, I assume you know those, I tech with hard questions. No one has ever aced one of my tech interviews. But the difference between someone who gets a 30 and someone who gets a 70 is huge.
I do a lot of mentoring on my team. Almost all our new hires are fresh grads, and I'm the technical lead, so it's part of my job (and I enjoy it). One of the things I like to do is, after they've been on the job six months or so, ask them what they found the most difficult to deal with, and what surprised them the most compared to what they thought working in the field would be like.
In almost every case it's the same thing: they didn't realize how much more complex real-world systems are than training systems. The most complex thing you ever do as an undergrad CS student is the equivalent of a couple of days or a weeks worth of work on a real system. And you'll be working on systems with man-years in them. It's different. Try to get exposed to real systems as soon as you can.
The other thing that's different is that most of the work in the real world is maintenance/enhancements. It's real, real hard to only do new development all the time. So you don't have the luxury of working just with your own code (which I presume you find easy to understand)...you have to deal with the code of many other people, many of whom are, how shall I put this, less than standouts in their field. Oh, hell, let me be blunt: 90% of the code in production today is more or less garbage. And that's what you're going to have to deal with.
Work on as many systems as you can. Look at as much code as you can. Is a given piece of code good or bad? Why or why not? How would you do it different? What are the trade-offs involved?
Finally, I'll give you something I give every new programmer: I think every new coder should read certain books to supplement what they get in college. Applied properly, the stuff in these books can move you from a newbie to the equivalent of an experienced programmer in a much shorter time. "Code Complete" is at the head of the list. "About Face" is next in line. Then do "Writing Solid Code", "Rapid Application Development", "Debugging the Software Development Process", "The Mythical Man-Month", in no particular order.
I'm currently in 2nd / 3rd year of my Computing degree here in Australia, and most of those things can be taken at my university. I'm doing Javascript right now (assignment due tomorrow!!!) and next semester, I'm hoping to take the Java course. My institution (Deakin University http://www.deakin.edu.au/ ) is really big on off-campus (correspondence) and sends their stuff all over the world. I'm doing it off-campus myself from about 2000km north of my home campus.
Egads! You went to CMU in the 80's and you think that that experience is still pertinent? I went to CMU from 1995-1999 (5 years, forgive me if I can't count or figure out what year it currently is), and things changed a LOT, mostly for the better, some things not, (specifically some housing issues.) But CMU did teach me a lot about computers, programming, and thinking. And I did come in with a fair amount of programming experience... As was mentioned before, it is definitely a pressure cooker and weeds out some after a while, but some of them maybe should have considered whether they thought they were up for a top rate CS school in the first place.
Admittedly the administration sucks dirty, scummy rocks downstream from biological/nuclear testing sites (Warner Hall), but is industry much better? There are good people here and there in industry and at CMU, you just have to know who they are and they can help a lot. Anyone interested in some names can contact me and I'll oblige.
And what's the deal with all the CMU people posting anonymously? (scritch, scritch, scritch.)
#include"disclaimer.h"
Full Sail in Florida (www.fullsail.com) offers a degree in Game Design, It looks quit interesting and I heard there class schedule is quite rushed.
I can make these machines do anything I want. Make this world anything I want it to be. Just so long as concentrate hard
Washington U in St Louis is well-regarded,
especially in computer networking.
If you are trying to research schools,
check out http://www.cra.org/
"The Computing Research Association (CRA) is an
association of more than 180 North American
academic departments of computer science and
computer engineering (CS&CE); laboratories and
centers in industry, government, and academia
engaging in basic computing research; and
affiliated professional societies."
Browsing through all these comments/suggestions I've noticed people mentioning these prestigious schools. This University, that Institute, etc.
You learn the same theory at 99% of the schools out there. The computer science theory you learn isn't any different whether you pay $21K/year or $8K/year.
Research Institutions may have more "state-of-the-art" technologies on campus, however because they are "research" facilities and the professors tend to be busy doing research--that's why they are their after all. So, many of the classes are taught by teaching assistants (I went to The University of Pennsylvania for my Master's in CS, and I met some people there who told me that it was very rare for professors to teach an undergraduate class).
I would suggest instead of wasting money on one of these "elite" schools, find a local Liberal Arts college that has a strong Computer Science program. At least at a Liberal Arts college the focus is on teaching, not research. Then when you get your bachelor's degree, apply to one of these "elite" schools for your graduate degree. There is a better chance of actually seeing a real-live professor teaching!
There are a couple good reasons for this. First, going to two different schools to get your bachelor's then your master's degree shows a potential employer that you are able to adapt and succeed in different environments. Second, outside of the top ten to twenty schools in the country, it's quite likely that the person who hires you will have never heard of the school in the first place ($21K/year down the tubes). Third, you can easily afford one of those big-name colleges once you get a job in the field (most employers will pay your way), so why payback $60K in student loans? Finally, what if you get into the computer science program and find out you hate it! What other options do you have at this technology school, what if you get into MIT and decide in your sophmore year you would rather be a literature major (I've seen stuff like this happen), would MIT still be a good choice for literature? I would think not, at least not for $21K/year it isn't.
Let's face it, computer science programs are not for everyone--the same can be said for most majors. I've seen quite a few people in my time change majors because they found this out, or they just didn't know exactly what a computer professional does--and when they found out, they didn't like it. You want to pick a college/university/institute that offers a wide range of majors available and that doesn't just teach one thing well. Because you might think this is the right career for you now, but in a couple years from now--after you've had a taste of it--you might not like it...
Also the benefit of a research school is the oppurtunity to work on research.
Typically working on research, at least critical research, does not occur at the undergraduate level.
And how many people were using Perl, Java, and Cold Fusion four years ago? Not many, I wager...
By the time you finish college, specific technologies will have changed dramatically. Universities best serve students by providing a foundation for *THINKING*. That means mathematics, logic, creative writing, structured design -- *not* specific technologies.
And the last thing we need is colleges that turn out more script weanies who wouldn't know an decent algorithm from a circuit card.
Another point: Colleges are already rife with corporate influence. Do you want intellectual freedom, or training in Microsoft, Sun, and IBM technologies? You don't think Mr. Gates makes all those donations out of the goodness of his heart, do you? He wants you to learn *Visual C++*, not C++; he wants you in *Windows*, not Linux.
Preserve your freedom, expand your mind, and learn fundamentals.
Most of the comments here assume that you want to be a computer programmer or otherwise intensely or directly be involved in developing new computer applications.
Perhaps, however, you have other interests, such as being a CPA or an engineer or even a lawyer and merely want to be a power user in order to accomplish that objective.
In those cases, something like a MCSE would be a useful credential to hang out on your shingle or put on your letterhead.
There is a tremendous need for highly skilled professionals who have computer skills and I have been told that future trends suggest such individuals would have an inportant contribution to make in software development.
Imagine the effects widespread tech devotion would have on the college scene:
#1. College football and basketball replaced by such popular technically themed sports as College Hax0ring, College Virus Programming, and College Server-Admining
"And in an incredible display of 31337ness, the underdogs from Georgia Tech 0wned top-ranked MIT's boxes to advance to the Final Four of the NCAA's 2000 College Hax0ring Championships"
#2. Fraternaty iniations will become nerd-oriented
"To become a true Alpha, you will have to install 5 different Linux distribs on the same box within the nest half-hour... and then bear the pain and watch as we reformat all your hard work!!!! BUAHAHAHA"
#3. Frat parties will change drastically
"Hey Bill, massive Quake LAN party at the Delta house!!!! All the hot Linux sorority girls will be there"
#4. The SATS will be completely redone, and will feature Hardware and Programming sections
"Question 31337: Why does Wind0ze suck?"
a) because it does
b) Frequent BSOD's, poor use of memory, minimal security...
c) BILL GATES MUST DIE!!!!
d) all of the above
#5. College applications will have radically different questions
"Name_______
Year Of Graduation____
Prefered Unix-Based OS_____
Gigs Of Mp3's (to the nearest 10)____
Number Of 31337 Shell Accounts____"
That, my friends, is the future of college education!
I've worked in Austin in 3 startups in the last 6 years. I can confirm wihat spencerogden is saying.
The University of Texas C.S. is excellent, and concentrates on core concepts rather than vocational skills.
There are so many startups here that are desperate for good programmers that a good C.S. student will have no trouble balancing the solid theory taught at U.T. with practicle experience gained in industry as an intern or coop.
The only danager is that the startups will try and get a kid to drop out and go full time before he graduates.
What people need is a broad education. The world changes faster than people can keep up with it, so you need to be able to learn on the fly.
There's a guy named Loren Pope who wrote a couple of really good books on the subject of choosing colleges. He recommends small liberal arts schools because you get far more contact with professors that way.
Here are the books. If you follow the links you go to their pages on Amazon.
Colleges That Change Lives: 40 Schools You Should Know About Even If You're Not a Straight-A Student
Looking Beyond the Ivy League: Finding the College That's Right for You
What you should look for is the opportunity to do independent research and stuff. That will help you get a job or get into grad school. And you should be sure that the CS department has Unix. I am taking a couple classes at a branch of the University of SC, and they seem to teach all their stuff on Windows 95 (and people think NT sucks). I think every student of CS should be able to get work done in Unix.
That's my $0.02 good luck, dude.
Take care,
Steve
2 courses in: C/C++ (intro to programming)
3 courses in: Data Structures / Algorithms
2 courses in: Assembly / Embedded / Op. Sys.
2 courses in: HLLs (e.g. lisp) & alternate paradigms
1 course in: Theory
1 course in: Software Engineering (CS meets real-world)
3 courses in: Other (e.g. unix, internet, databases, network architecture, AI, buzzword-of-the-month, parallel processing, etc.)
Personally, I think that this is a reasonable mix (although I could do without the Theory class:). I would like to see better support to the "statistically abnormal" students though. The real problem with CS is that some people go into CS without any background while others have been programming since they were three. Of course this problem isn't specific to CS, but I think it's slightly worse in CS than in most other fields. An alternate degree that requires fewer credits if they're all in senior-level & graduate courses would really help some people.
Specific languages aren't very important, althought the paradigms they're members of can be. I have very little experience programming professionally... but both projects I was paid for were in languages that I didn't know.
There are 2 REAL problems: 1. courses are taught to the lowest common denominator, and 2. administrations purpose for existance is to make things hard on me. Both of those problems apply to all majors, or I'd consider switching.
P.S. Is it my imagination, of is school quality inversely proportion to the performance of the school football team?
Here at the University of Wisconsin - Whitewater, I have the foundation and the latest technologies together. The award winning program of Management Computer Systems teaches algorithms in PASCAL and c++, then INTENSE study of data structures in c++. After a general database course with SQL, we learn database programming and Client/Server programming with Delphi. I am now in a Client/Server LAN which uses HTML, JavaScript, and Java. I am also now taking assembly. Next semester I'll be taking network engineering (I don't know what new languages, if any, I'll be learning, though. probably a lot of TCP/IP). The only bad thing is that we have to take COBOL! This is likely to change soo, though - the professors are constantly revising the curriculum. Other courses include systems analysis and design, computer architecture, and Visual Basic. The program does have a business bent, which I am not nuts about, but when I get out into the real world, business courses will be invaluable. Average class size - about 25. Good colleges are out there, you just need to find them. Oh yes, next semester I will be using asp and cold fusion in my SAD project. See?
Funny....most of the comments I have read here so far sound like the people I talked to when I selected U of Illinois for school. You know...the well-rounded education, learning concepts instead of specifics, etc. The problem is that wasn't my education. The programming assignments/teaching were a complete joke. They'd make us slave over assignments for a week or so and when it was over you didnt learn squat. I learned specific languages...the concepts were not what was emphasized. As for the page posted about DeVry the guy who wrote it was obviously brainwashed into thinking what college should be vs what it really is. His examples of how horrible it was sounded like most of the stories I heard from friends who went to various colleges (as well as my own experiences). *All* colleges are money machines for the most part. They dont give a shit about 90% of the school population. If I had to do it all over again I would have done my degree in something like history because the time I wasted on CS in college didnt prepare me at all for the 'real' world...I was already prepared from learning on my own.
My blog: http://jkratz.dyndns.org/~jason/blog/
I will be out of school soon and the only computer science class is AP C++ at my High School. The other alternative is Siemans internship which is less than desireable. Due to the fact that you must work for them for 2 years after training, kinda like the military. What colleges should I shoot for that are in a reasonable price range. I often wonder, if techonlogy is so important, than why does the world seem to hold such disreagard for it.
"Get your stinkin paws off me you damn dirty apes"
or just helpful? Will another degree work as well if someone understands the concepts, read the books, and can figure out a language? I guess the main question is "What is the best path to a CS Career?"
I'm a lost high school senior... I got a 30 ACT score (first time, I'm taking it again soon) and like a 3.8 or a 3.9 GPA. I'm interested in computers... I've won a few local/state computer awards... yadda yadda yadda.
:P) It seems you guys like CMU, Harvey.. but which would be realistic and satisfying for me? I want a good education, but I want to party at least a little too! And I really want to get out of Alabama and live in a big city... another plus would be not having to take a core curriculum, I mean.. not having to retake English/Government/etc. crap.
I live in Alabama. (no jokes, please
*Any* help would be appreciated.. I'm really not sure what to do or where to go and plus I don't have a school counselor or anyone that can really guide me.
Well I dont know JavaScript, But I damn well used to ;)
;)
And JS always seemed to me to be like HTML- You teach it to yourself.
I doubt any college will Teach it better, Or Faster, than just going out for a surf will.
I used to have a book on it, too, For Refrence. It was good, But I dont remember the title. I lent it to a techie and he quickly moved...
I think it was published by netscape.
But anyway my point is that if you need a college course to learn Javascript maybe you aint ready for college
-- 'The' Lord and Master Bitman On High, Master Of All
UMBC's 10,000 undergraduates and 1,500 graduate students come from 42 states and 71 foreign countries. Over 3000 of our students are majoring in one of our IT programs -- Computer Science, Computer Engineering, Electrical Engineering, Information Systems, and Digital Imaging. We are developing new programs (e.g., electronic commerce and also have a number of non-credit certificate programs available including a new program in information security.
We an excellent computational environment with lots of SGI, SUN and Linux workstations and servers. We are also part of the Internet2 system and have several other high speed connections to the Internet.
We enjoy a great location on a 500-acre campus in the suburbs of Baltimore just to the north of DC which present lots of opportunities for internships and coop jobs are area government labs (NASA, NSA, NIST, NRL, ARL, SSA, GAO, etc) and industrial centers (IBM, Hughes, Boeing, Lockheed-Martin, CSC, etc).
Although we don't have a winning football team (ok, we don't even have a football team) we do have the number one college chess team in north and south america (winner of the Pan Am Championship in two of the past three years).
Concentrate on your education, get a solid background in software development fundamentals. You'll gravitate towards areas of interest that are appealing to you, and you'll pick up a lot of that on your own. The really intensive learning begins the day you start your new job (or your own business). Yeah, plenty of college grads know how to write software programs, but I've yet to meet a fresh one who can design and implement a software system from the ground up. This will come from experience.
other School to look at for you:
UCB
Harvy Mudd
CalTech (more for physics, same problems as MIT/CMU)
UIUC (good physics, vg EE/CE and Nat supercomp center is there)
email if you got any Q's, i'll prolly beable to think of somemore options for yah.
Oblisk
------------------------------------
I am a current Devry student. I've attended both the Phoenix and Pomona campus. If your going to major in Tcom or EET.......devry isnt a bad school. But avoid the Cis program like the plague. Its more business orientated then it is hard core CS related. Also.....get your books from amazon and avoid the book store. Talk to current students to learn which teachers to avoid. Most of the teachers are ok to good.....but like any school there are a few bad ones
Lawyers, MBA's, RIAA? A jedi fears not these things!
Well, the MSCE courses are "operator" courses, not programming courses.
The distinctions have blurred in the last decade, but basically an "operator" is someone who can sit at the console and keep things running, mount tapes, and perform backups.
That's the curriculum of the MSCE and it's siblings for other systems. The 'E' on the end cannot stand for "Engineer" in many jurisdictions.
No matter what your choice. If you are smart enough to be at this site, do not even think of going to a trade school like DeVry. Go to a regular university. If you are thinking about it just read this page: http://www.drh.net/joz/html/devry.html That should change your mind. This goes for anyone thinking about going there. Spread the info!!
IMHO, A formal University Education is much better than a trade school's courses. But, due to the stupidity of most hiring managers,(the ones who hire base on the skills a person listed on their resume ) So try to pick up some hot skills just before graduation. Also, I think it's not enough to just taking CS courses. People should also get some other non-related courses.(such as music, language, art, etc) Think about it. How are you gonna write a natural language voice commanding program without knowing how natural language is constructed. Anyway, the most important thing is that the world is more about ASP, MFC, Linux, or the money you going to make when you became the next bill gates. It's more about make a good contribution toward the society and humanity. So, learn the concepts, learn it well, so future software could have less serious bugs.
There's a lot of them! This is what I did, of the three public Universities near where I live, I checked out what OS and server they were using at their Computer Science Dept. Website with the www.netcraft.com "What's that site running?" tool. The site that wouldn't tell me what they were running was the University that knew what they were doing on security. But you can trust me on the sunscreen. ChicksDigGeeks
I heard many people talking about MIT and CMU...OK, I had heard these names already, but what about Harvard and Stanford?
Aren't these good Universities for people wanting a Computer Science degree?
ijuma
Hey all, ok I'm starting to apply to college's myself, kinda interested in what people think of my choices: Univeristy of Southern California University of Washington University of Rochester University of Iowa Rochester Institute of Technology any comments on tech programs anywhere here is helpful. Thanks.
Anyone have opinions on the programming track of the Columbia Computer and Technology Applications program? The CTA program seems to be a cross between a CS degree and a Chubbs Institute/Devry. Classes are not geared towards certifications (eg: MCSE, CNE, etc.), but they are not academically oriented (eg: writing a compiler, theory driven, etc).
My goal is to be a software developer. I'd love to follow the lines of Carmack, Sweeney, Denman et al. And I also would like to pursue the development of computer modeled neural networks and AI. But I need to get a job ASAP so I can stop mooching off my parents. So I thought that the programming track of the CTA program at Columbia would be the quickest and best way to get a job and support my interests.
Am I really at any disadvantage if I forgo the CS degree? I already have a degree in biochemistry, so I am not thrilled at the idea of investing more time and money on another degree. Although I may go to grad school to pursue cognitive/computational neuroscience one day.
I'm afraid of the "Devry Nightmare" that some of you have mentioned. Given the reputation of the college, I hope to learn a good amount and find a decent job. But will I find myself regretting a formal CS degree in the long run? Is there anyone here that has finished or familiar with the program? Thanks.
--bitemysquirrel
My son is really quite advanced. He's 15 right now and already planning to go to Berkeley, 2nd to wanting to go to Cornell. He already took his SAT's back in the 7th & 8th grade through a special program for advanced & gifted children, back in the 7th grade he got 1140. I was told that's better than the average H.S. senior. Then in the 8th grade he did it again, just to seewhat he could do, he did 1190. He's an A student. He's been doing programming since he was 12 and already knows about 7 diff languages. He just buys those 'thick text book' like books and sucks up the knowledge like a sponge. What gives him an adrenaline rush is coming up with an idea/theory and then figuring out a way to make it work, it really gives him a rush. He's already worked via the net for money doing debugging for some companies and programming for others. He even once got a compliment on some programming he did, by a professor at Caltech. What I'm concerned about is two things: 1) he really wants to be in on the cutting edge technology, that's why he thinks Berkeley is a good place for him, because they do a lot of research there. But from what I understand the research there is reserved for those in Graduate Programs. Is he looking in the wrong place? 2) We live in Washington State is it worth it for him to go out of state, To him he thinks a name is important on a resume, Is it that important? His step-father went to MIT, for graduate School for Nuclear Engineering, but it's $$$$. Bottom line I will support him for whatever or whereever ..He's got potential
When you stop learning, you stop living.
This is a slight repeat, but maybe better directed this time. ..He's got potential
My son is really quite advanced. He's 15 right now and already planning to go to Berkeley, 2nd to wanting to go to Cornell. He already took his
SAT's back in the 7th & 8th grade through a special program for advanced & gifted children, back in the 7th grade he got 1140. I was told that's better than the average H.S. senior. Then in the 8th grade he did it again, just to see what he could do, he did 1190. He's an A student. He's been doing programming since he was 12 and already knows about 7 diff languages. He just buys those 'thick text book' like books and sucks up the
knowledge like a sponge. What gives him an adrenaline rush is coming up with an idea/theory and then figuring out a way to make it work, it really gives him a rush. He's already worked via the net for money doing debugging for some companies and programming for others. He even once got a compliment on some programming he did, by a professor at Caltech. What I'm concerned about is two things: 1) he really wants to be in on the cutting edge technology, that's why he thinks Berkeley is a good place for him, because they do a lot of research there. But from what I understand the research there is reserved for those in Graduate Programs. Is he looking in the wrong place? 2) We live in Washington State is it worth it for him to go out of state, To him he thinks a name is important on a resume, Is it that important? His step-father went to MIT, for graduate School for Nuclear Engineering, but it's $$$$. Bottom line I will support him for whatever or whereever
When you stop learning, you stop living.
When you stop learning, you stop living.
This is a slight repeat, but maybe better directed this time. ..He's got potential
My son is really quite advanced. He's 15 right now and already planning to go to Berkeley, 2nd to wanting to go to Cornell. He already took his
SAT's back in the 7th & 8th grade through a special program for advanced & gifted children, back in the 7th grade he got 1140. I was told that's
better than the average H.S. senior. Then in the 8th grade he did it again, just to see what he could do, he did 1190. He's an A student. He's been
doing programming since he was 12 and already knows about 7 diff languages. He just buys those 'thick text book' like books and sucks up the
knowledge like a sponge. What gives him an adrenaline rush is coming up with an idea/theory and then figuring out a way to make it work, it really
gives him a rush. He's already worked via the net for money doing debugging for some companies and programming for others. He even once got a
compliment on some programming he did, by a professor at Caltech. What I'm concerned about is two things: 1) he really wants to be in on the cutting
edge technology, that's why he thinks Berkeley is a good place for him, because they do a lot of research there. But from what I understand the
research there is reserved for those in Graduate Programs. Is he looking in the wrong place? 2) We live in Washington State is it worth it for him to go
out of state, To him he thinks a name is important on a resume, Is it that important? His step-father went to MIT, for graduate School for Nuclear
Engineering, but it's $$$$. Bottom line I will support him for whatever or whereever
When you stop learning, you stop living.
In research circles...an engineering degree is definitely important but for normal careers, outside academia, engineering technology is the most practical and useful degree to have IMHO. I am a MET major at Purdue-Kokomo and I see many EET, CPT, and EET people going to work as engineers and technicians at both the Chrysler and Delco facilities here as well as for other high profile employers across the nation. Employers dont need an engineer who has an in depth understanding of quantum physics (Rose-Hulman????), they need someone who can solve tangible, real life problems like , for example, suspension damping. Engineering is about practicality and real life problems...there is no need for schools to make their cirriculum impractical just for the sake of impressing or "outdoing" other schools in the research arena. I know of several people at W. Lafayette who have quit CS and went to CPT because they felt as if CS was some type of "vocational school for programmers". They say that all you do in CS is learn to become a programmer. These people wanted to know useful, versatile things...like networking...database admin and whatever other good stuff cpt's learn..so that they could make some real money and have an interesting career instead of just coding for the rest of their lives
Oh please, 4 years of college is the best thing a systems admin can have. Any moron can learn sys admin tasks. I want to hire people who can think. A decent four year college should teach you to think.
Oh please yerself. College is supposed to make you think? You have to LEARN to think, and where the hell do you get the notion that people with college learn to think better than people w/o college? That's silly. I know people, other than myself, that has more college than me, are great at theory, but bites the dust upon facing a REAL-LIFE problem. Sillyhead...
I've been in school for umm...(muffled)seven years now and I think I now know what college can do for you and what it can't. I doesn't teach you think thats for sure, if you don't have problem solving capabilities by nature this is the wrong field. What it does do that is beneficial is force you to do things you may have never wanted to or never thought you had to learn. For example the person who ask the question that started this was asking what colleges taught c++, asp, etc etc. If that person doesn't go to college where will he find out that being a programmer isn't about the languages you know, but the concepts you understand. I know I wouldn't have gone right out and bought a discrete math or algorithms book if I wasn't forced to, I would have bought a visual c++ book and learned later on that I missed out on foundation topics. Thats my take on it...college is about structured learning and thats all. You can get a lot out of it or very little depending on whether or not you realize that these boring topics ARE important.
hit the books....it took 1.5 months of spare time to learn perl pretty thoroughly, and about a month for javascript...... all from on-line manuals & tutorials etc....
it's the taking apart that counts
As otehrs have mentioned, what you are describing soudsn like a tech or trade school (associate degree) not a computer science degree. Computer Science will not teach you much in the way of specific languages, operating systems, or tools. This would be fairly useless as it would be out of date by the tiem you garduated and down rigth obsolete within your first 10 yearsi n the industry. Computer Science WILL teach you what a language, operating systemn or application truely is. It will teach you the ideas and techniques that go into designing computer software technology. This will not only teach you how you mgiht write your own lanaguages or operating systems but, criticly, give you the tools to understand quickly new developments in the field as they arise. This is the difference between a programmer and a software engineer, and is like the difference between a mechanic and an automotive designer. If you WANT to be just a programmer then skip college, do a tech school, and start getting industry experience. If you want to work at the top of the industry and one the msot intrestin things, go to a good Computer Science college and study software engineering. Among the top computer science schools at least used to be: MIT, Cal-Tech, Stanford, University of California @ Berkely, University of Wisconsin @ Madision. The first three are private schools. They are very hard to get into and very expensive, but they give their students the msot support and encouragement. If you are a really fine student sometimes they will help with the costs. The last 2 are state universities. They are easier to get into and cost less but they are factories and, because they let so many mroe students in, actively try to fail students out. If you go to a state school, be prepared to actively fight to get the classes you need and to take responsabiltiy for your own education and direction. AL of the mentioned schools have some excellent faculty and even at a state shool, if you make yourself stick out from the crowd, you can get a fine education. (In case you are curious, I am an alumnus of the University of Wisconsin @ Madision.)