Stories
Slash Boxes
Comments

News for nerds, stuff that matters

Slashdot Log In

Log In

Create Account  |  Retrieve Password

High Intensity Computer Colleges?

Posted by Cliff on Sun Oct 10, 1999 12:43 AM
from the it's-IT-academy-time dept.
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?
+ -
story
This discussion has been archived. No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More
Loading... please wait.
  • 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.
  • by Anonymous Coward
    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.
  • Things change _very quickly_ in the IT/CS industry. I think spending any amount of time (much less entire semesters) learning the Language Du Jour would be very wasted time indeed.

    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

  • 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.)

  • I think that regardless of the stature (and price) of the college or university you attend, you can make a big difference in your knowledge the subject by your own personal projects while at school. Be a geek - do technical stuff just to learn from it, and you don't have to wait for college to start on that. So pick as good a Computer Science school as you can afford and plan to continue to pursue programming as a hobby anyway while at school. That way you'll make yourself stand out from the crowd when you interview for entry-level software engineering jobs.

    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 [acm.org] 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 [csuchico.edu]. 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 [calstate.edu], one university can be world class in a few majors and mediocre in everything else at the campus. California's UC system [california.edu] 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 [csuchico.edu] 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.

  • I'm currently a sophomore at North Carolina State University in computer science. Living in Raleigh, it was the most obvious choice for me too. I applied at Chapel Hill and a few other places, but I'm really glad I came to State. You get a good education (ie. not just training) and there are a lot of opportunities for job placement. We're even starting our own Linux distro (cuz who isn't?).

    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>

  • 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).
  • by slk (2510) on Saturday October 09 1999, @07:49PM (#1626028)
    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.
  • He didn't get moderated down. 0 is the default score for an Anonymous coward. He just wasn't moderated UP.
  • The purpose of college isn't to "train" you to do XYZ, it is so you can learn-to-learn. I am majoring in CS, but few practical skills are gained through the classes, but they do push you to learn concepts. My most practical learning is outside the class with O'Reilly books and my own interest in tinkering.


    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


  • 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.

    ----

  • D'oh! I meant to say "hot" products instead of "host".

    --

  • JavaScript, ColdFusion, ASP, etc...are all just the host products of right now. I really doubt that it is worth taking college level courses to learn these kinds of technologies. If you do, you should probably take something non-credit from a community college. Otherwise, just learn it by practice. I think that's pretty much what everyone else does.

    --

  • 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!)
  • Very true. If you go to a decent four year accredidated College / University you'll be much better off for a few reasons:

    1. They force you to think. You may be led to believe that they don't give a @?% about you, but if you go talk to the profs, you'll find that that's totally not the case (most of the time, at least). They're making it hard because it does force you to think. Furthermore, it forces you to prioritize because the real world is just as hectic!
    2. You need the degree to get a good job. Where I work at, we won't even look at anyone that doesn't have a CS/EE/Math degree, preferably a graduate degree. That's probably not represenative of most of industry, but I can tell you that most of the places I interviewed at when I left school wouldn't think of talking to anyone without a B.S. or like 10 years experience.
    3. When you're in college, get jobs working for the computer center, CS support staff or whoever and also do some undergrad research. The big schools (like a state university) can afford the big toys (massive Cisco routers, Sun servers, IBM supercomputers, etc) that you talk about. The vo-tech schools can't. Furthermore, most big computing companies donate great equiptment to big schools (SGI just donated half the cost of a new 32-processor Orgin 2000 to my alma-matter). If you get involved, you stand a much better chance of getting your hands on some of this world-class equiptment.

    Then there's always the fact that college is a blast. I woundn't trade my 4 years for anything. In fact, I liked it so much that I'm applying right now to go back for my Masters! (People have told me that that's even better than undergrad because you concentrate more on what interests you.)

  • er... RIT is NOT the only school with a BS/MS in IT... try MTSU (mtsu [mtsu.edu]) 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.
  • 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.
  • Deakin is closer to a technical training school than a University. Which explains why they are more interested in job training than they are in teaching you more general problem solving skills. It's big on correspondence because most of the locals ( few though there are ) would rather relocate to Melbourne than study at Deakin

  • There is nothing that is not worth learning.

    schools that offer programming in languages like ColdFusion, ASP, JavaScript, Java, and Perl, along with courses like system administration, unix, databases, and networking.

    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:

    A College that deals with all computers all the time with cutting edge machines and cutting edge topics.

    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 [dice.com] 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.

  • 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.)
  • (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
  • 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.

  • 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 [gatech.edu]
    General College of Computing Education Info [gatech.edu]
    GT Main Page [gatech.edu]

    Groan... Time to go write a C-preprocessor for lab.
  • So, my list looks something like this:
    • 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.)

  • I work at a two-year Technical and Community College. I am in charge of computer support and regularly am hunting for and hiring qualified candidates.

    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.

  • 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!
  • 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.







  • I think that your professor's definition of "idiot" is rather narrow, and his definition of CS Ph.D.'s is even narrower.

    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.

  • Couple misc notes from fellow CMU student:

    * 'bout funding: There are both merit- and need-based grants and loans available. Yes, it's pricey, but the school IS interested in getting the best... this may mean things like matching offers from other schools (think: schools like CWRU. At least in '94, they had a fairly insane policy of granting $12K/yr scholarships to those w/ SAT \ge 1400, IIRC.)

    At least the cost of living isn't that high here.

    * It IS possible to get your B.S. here, and do very well at it, w/ maybe one all-nighter a year. Ya gotta pace yourself, 'tho...

    * Yes, it's Pittsburgh. Bring your umbrella, and for you SoCal-ers, it snows. :)

    * If you're considering on coming here, ask those of us who've been here for a while.
  • This person's comment is 100% true. I am in my third year of computer science and I can attest that the theory is much more important the learning "the language of the week" (nice term by the way slk). I have never seen a better distinction between "training" and "education".
    Basically its all a question of when and how long you want to be in the programming industry. If you want to start making some serious money right away then you should go for the training, but you're losing the long term skills. If you want in for life, go with the education and you'll be able to adapt easily to the times.
    However, the most important thing to remember when picking a college is pick one that is right for you; not someone else. It's your life.

    thanks all
  • 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).
  • I'm in a Software Engineering sequence right now at Ohio State... and they hammer home again and again that the language is just the tool. They are teaching concepts of component based OO programming, which is really what you want to learn.

    You can pick up multiple other languages in ONE credit hour classes here. Languages are easy - concepts are hard.

    People seem to have a difficult time understanding that they are NOT supposed to be concentrating on the language, but the methods.

    Cheers,
    Brian
  • by Joz (100708) on Saturday October 09 1999, @08:38PM (#1626202) Homepage
    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!!
  • I'm glad to see a comment like this. I've made a choice of pursuing a Computer Science major rather than attending a technical school. A friend of mine is attending a school called entre to become an MSCE. I'm sure the money's decent, but I don't know if he'll have a lot of choice when it comes to _where_ he'll be working or variety of work. I think it is much better to attend college because it tends to make one a more well rounded person. At entre, my friend says that he is the "smartest" in his class and that it is extremely easy. Personally, I wouldn't like that. I like college because I learn a variety of different things. Plus with a CS major, I will probably have a better chance at getting any sort of computer related job or maybe even a different line of work if I decide against a computer related job. I love working on my computer and I'm sure that if there's anything I don't learn regarding specific programs or programming languages, I can easily take the time to teach myself. I suppose it's also a matter of personal preference. If you like the idea of working for Microsoft for the rest of your life... go for it. I just know that it's not for me.