Follow Slashdot stories on Twitter

 



Forgot your password?
typodupeerror
×
Education

High Intensity Computer Colleges? 321

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 discussion has been archived. No new comments can be posted.

High Intensity Computer Colleges?

Comments Filter:
  • by Anonymous Coward
    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).
  • by Anonymous Coward
    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.
  • by Anonymous Coward
    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 @08: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.
  • by Gextyr ( 7554 )
    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.)
  • 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?
  • (
    BTW, you never see on a job app that a degree from specific colleges is required. Just a degree. ....snip... So how much value does the degree really have? Think about it.
    )

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

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

  • 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.
  • Still? Back in my time (1-2 years ago) upper division classes were full because of undeclared hopefuls trying to boost their tech GPA. The way things work in Berkeley that you can get into CS program two ways. You either apply to School of Engineering as EECS major right out of school or you can apply to Letters & Science as undeclared major and then declare CS. The second way makes it easier to get into the school, but you need to get something like 3.5 in technical subjects the first year and getting harder every year. Anyway, I thought the new rules don't allow undeclared's in upper division CS anymore? God, I am really happy that I don't have to get in now. It was way easier back in 94 when I started.
  • 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
  • I'd say that the reason that MIT gives us projects with "robots killing other robots" isn't because they prepare us for a career in robot-making; its so we don't go crazy when we take classes like 6.170 (Laboratory in Software Engineering)

    (Don't get me wrong, I've realized since I took it that 6.170 is chock full of good stuff that is very applicable to industry programming (specification, testing, documentation, design...) but there are fine lines between what SHOULD be practiced in the industry, what IS practiced in the industry, and what a delirious student is going to practice when she's been up three nights in a row)

    Robots killing robots is *FUN*

    More importantly, its a very large project involving both realtime constraints and complex problem solving, and it grabs our attention enough to test our real ability to reach lofty goals
  • 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

  • by Boolean ( 15853 )
    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 [collegeview.com] is another great way to get a ton of info about colleges, so check it out.

  • 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.
  • Hmm, maybe I just didn't mention the theory.

    the C class (150) is data structures, here we learned the basics: , then in 250 (C++) we learned all sorts of dynamic structures (lists, trees, trees) unfortunately theory focused classes become extremely *convoluted*. 250 is a revolving door for doctoral sudents who've forgotten to code. My final project was vaporware. It had great theory, lots of crap about the eventual failure of near-prime public key cryptogrophy and how it might be possible to circumvent this with the particular implimentation of R. Rivest's "Winnowing and Chafing" setup. I also skipped half the labs. I also bullsh***ed my way into a Microsoft interview. I bet MS employees have a great theory repetoire and the WinNT system must have a beautiful design, but it doesn't always work.

    In fact we talked about this kind of stuff alot in 350 (afforementioned program design). So theory-based was 250 (the only prereq for 350) that everyone's final project for 350 fell on it's ass. 250 is theory based, and a JOKE. In 360 (adv unix proramming - filesystems) the prof quipped at how 250 students are clueless.

    Good thing 250 is changing. A few key individuals make all the difference. Both are industry veterans who have come back for their MS. A code-based 250 (both in the lab and in the classroom) make all the difference. I audited the 250 lab to get back in the swing of things, and learned a hell of a lot more than I did when I actually took the class (got a B).

    I'd rather work with a bunch of other students who can actually code, rather than put out a sublime design. In 360 there is no partial credit. There is no credit for nice looking code, or a fancy design. Sure I can add usage messages and fully adhere to data abstraction... and waste a few hours turning what is a global variable into every function's parameters and then get no credit because it just doesn't work.

    Theory is for those who know how to code, but C++ isn't even suited for such things. Truly OO based languages (smalltalk/java) are better suited to such things. Ok, _what_ reason is there to learn ml? To use a strongly typed language and be able to code discrete math principles directly, not worrying about the nittpicky bugs. You've got to learn a whole new language to even _get_ to the theory. Then you've got to waste that time in class or in the 4 year plan to teach another language... and freshmen are clueless. 99% of 150 students have never coded. Sound like a good reason to save heavy theory out of the first two years of the cirriculum?


    Also, you could contribute some original criticism rather than something that's been posted under this story about fifty times allready.

    BTW... *GET AN ACCOUNT*
  • hint: it has the highest frequency of mentions in the comments from this slashdot headline

    *snort* CMU... based on the influx of CMU student's opinions I'm not too impressed, and I don't think that paying through the nose should be prerequisite to attending school. CMU cost of attendance estimates are 4x here, with tuition 10x WSU's. Sure, if I didn't mind borrowing 4x what I will be now, and could find a part-time on-campus job that paid $60/hr it would be comprable. ;-> Maybe after I cash in on what I'm learning I'll try a private school for my MS.

    WSU is _far_ from perfect. Upper administration here can kiss my ass, and may end up doing that after I graduate (they have a high alumni giving rate to maintain).


    There is only one class in the CS department that teaches students how to code.

    150 here, at a school where it isn't a waste of 2 credits to learn perl, or an API. That's about $180 after books plus 30 hours in class, 10 to 20 hours out (depending on how callenged you are). So an equivalent value of 70 hours (very conservative estimate). Could any undergraduate pick up their second language in less than 70 hours?


    I just had to laugh at your MS interview.

    I laugh at it all the time. Especially when people tell me how proud of getting one, but isn't it that nice to have one as a Frosh?


    Your 360 isn't exactly what I would call a hard or challenging class.

    It could be if you didn't know how to code. Remember what the prereq is? 250... that no one learns a quip about coding in. So a few weeks of review are used to quell the dropout rate and then we're into business.

    I never said it was challenging... and we haven't gone by the Steven's book so far. Everything's been at the lowest level, for my mkfs I use open() read() write()... that's all. None of the nice library functions in that book to use.

    Sure, if you can learn the low level workings of a UNIX filesystem and process management allongside basic x86 assembly in a trade school, then sign me up.


    You learn ML because it is allows many things to be done so simply and elegantly.

    Just about what I was saying, BUT how do you write a for loop in ML... something like this?

    fun union A B = let

    fun loop ([],_,rs) = rs
    | loop (x::xs, ys, rs) =
    loop (if isMember x ys then (xs,ys,rs) else (xs, ys, x::rs))
    in loop (A,B,B) end


    Strongly typed and good for such stuff yes... but a practical language? By no means, but good for theory.


    AC postings often have the most intelligent, informative and insightful comments.

    Not based on my experience. While you're free to ciriticize from the shadows, free of any accountability, Just another faceless trolling AC... I'm responding with no mask on.

    I'm sure you're familliar with the theory that internet chat participants easily detach from their actions. The internet becomes a fantasy realm for their exploits. Feel empowered? Feel unaccountable? Sure, you're an AC and I'm not. It takes half a brain to get my private e-mail address and webpage. There's me, all of me. Authenticity, accountability, reality. Nothing less. I like to talk to people, not their egos.
  • hmmm, I thought this post [slashdot.org] was amusing. I did have a heck of a time going through honors calc 3 my first semester with a bunch of sophomores, and my first advisor didn't give a damn about me.

    That's what I call an informative AC post.

    I don't know why anyone's so insane to take a pricy private college for their undergrad work.
  • 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.

  • i posted a few comments away from you.

    I just wanted to tip my hat your way for being a forward-thinking employer.

    peace.
  • if skeptical, you can look at my resume at www.anet.com/~kerouac/resume.html.

    i'm 30 years old, and the comment that you posted suggests to me that you've never applied for a job
    in this industry because you were scared off by what a job posting asked for.

    get some balls and tell the employer that you know the stuff, and they will pay attention, and possibly pay well.

    and stop being a snipe, it doesn't make a good impression of you.
  • 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.
  • Here's a serious suggestion -- go to a smaller school that focuses on undergrad education... As an adult, you'll have to be able to get a job. In CS this won't be hard. But you'll also want to understand social and political issues and you're gonna need to be a polished writer no matter what you do. You can theoretically go through a big school without ever writing a paper. And though freebees are cool every now and then, they're not why you go to college.

    I could not agree more strongly with this comment.

    I was a physics major at Carleton College [carleton.edu], 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.

  • (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 [uwaterloo.ca] (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
  • 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!
  • >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
  • 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
  • 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 [princeton.edu] 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,

  • 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!
  • I believe he was speaking of the person who posted the original question about ASP/PHP/CF/Perl/etc.

    I think the following is perhaps the most insightful quote I've yet seen in this whole discussion:

    Would you hire an engineer who had no university education to design a bridge? Of course not. But you'd probably hire someone with no degree to help build it. That's the analogy. You're the construction worker who doesn't need to know about materials, structural analysis, fluid mechanics, etc. You don't need to know about software engineering practices, languages, automata, algorithms, data structures, control structures, mathematical optimization, and so on.

  • 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 am about to graduate from DeVry in 2 weeks and I can tell any geek out there that if you do this, it will be the biggest waste of 2 years of your life. Only one professor I have had has had any sort of idea about the information he was teaching. Job placement assitance is definitely there and if that's all you are after, then fine. But if you really want to learn, go to a real college. I hear UC Berkley is one of the top for CS. Check out this page with some guy's experience at DeVry: DeVry Sucks [angelfire.com]
  • 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 [njit.edu] 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
    ---
  • .... but is probaby the norm: there are separate departments for Computer Science and Computer Technology. CS would include a class as "Introduction to Algorithms," whereas CT would (and does) have a class titled "Installing and Maintaining a LAN," with "Mastering Windows NT" as the class textbook.

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

  • 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 [pct.edu]
  • Interesting idea.
    From my point of view, then: the original questioner wants to end up doing geeky IT-type things, hacking unix, some internet (java), some coding, whatever. These are the mainstay of any decent (defined in an "is-geek, is-not-manager" sense) job in the IT sector these days, surprisingly enough.
    To set yourself out above the crowd, one should know about something *other* than the run of the mill stuff. Hence try becoming a computational physicist - ie someone who's interested in physics and uses The Computer to do things like plot planetary orbits (gravitation) or solve some of the differential equations shooting off from Schroedinger's equation, all that kind of stuff. There are other projections of the same idea into maths - stats - astronomy - engineering - whatever. The basic principle is something like 'get a life, then get computing'.

    Go somewhere where there are trees, both outside *as well as* the email clients ;)
  • 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.
    --------------------------------------
  • 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).
  • 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!
  • by babbage ( 61057 ) <cdevers.cis@usouthal@edu> on Saturday October 09, 1999 @09:39PM (#1626131) Homepage Journal
    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 @09: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.

Software production is assumed to be a line function, but it is run like a staff function. -- Paul Licker

Working...