http://www.perlmonks.org?node_id=120211

I'm sorry if this is a bit off topic... I'm a recent high school grad and I've been looking at going to college this next year, however when I've been looking at the variety of choices I'm totally overwhelmed. I'm considering pursuing a career in programming. I would appreciate any and all suggestions of colleges/programs that you think would be helpful to me. Right now, I need advice from people who have "been there, done that". Any and all suggestions would be greatly appreciated!!!
  • Comment on College suggestions for possible programming career

Replies are listed 'Best First'.
Re: College suggestions for possible programming career
by Hutta (Scribe) on Oct 20, 2001 at 10:20 UTC
    I can't stress the importance of real-world (that is to say, non-scholastic) programming experience.

    I've had to hire programmers recently, and one of the main things I look for is some sort of history working on open projects. Having code in an open source project says more to me than most anything a candidate has done in a classroom.

    The peer review process that goes along with publishing your source code to the world is intense. I know that I pour over code, desperately looking for any small tweaks and performance enhancements I can implement on code I'd be perfectly content turning in to a teacher.

    There's a certain cool factor if your future hiring manager happens to be familiar with your work when your resume crosses their desk, but more importantly, you'll be learning the best ways to do things from some brilliant people.

    And by all means, stick around PM and read all you can.
Re: College suggestions for possible programming career
by cacharbe (Curate) on Oct 20, 2001 at 20:02 UTC
    You need to ask yourself a few questions first, I think, to help you determine what you want to do with your programming. If you think your choice of colleges is overwhelming, there are so many possible career paths available to you once you graduate.

    I went to work for a contract company right out of the gate, and within the first month I was interviewing for jobs ranging from network engineer to a C (not C++) programmer writing controller code for onboard computers for automobiles to a VB programmer for the Contract Company itself. Although I was qualified for all of these jobs, each one had things that I did or did not like. My goal as a programmer, though, has always been to try and solve immediate business process problems with the appropriate tools. I have tried to stay away from getting into religious battles about programming languages, as each has a strength that I will have to exploit at one time or another.

    My point is, go into your search for education with an idea about what you want to accomlish with it. My guess is, you're going to get involved in something, and those goals are going to change. Who knows, you might find that graphics programming is the coolest thing since sliced bread when you went in thinking that you wanted to design Encryption algorithms to rival Rijndael. Whatever your ideas, though, make sure you have some ideas going in.

    The beauty of our times is such that you can get involved in any aspect of programming and make a good living doing what you like (on average - Your day-to-day stress may vary).

    My suggestion, in the end, is to find a university that has a broad range of educational choices in Computer Science unless you are DEFINITELY sure about what you want to do. Find out what the Masters students are researching - they're usually the ones teaching your lower level classes - and find out what the professors backgrounds are. But don't just talk with the faculty and staff, poke around some classes and listen to see if you can learn from the guy in the front, and talk with some students, their general state of mind is a good indicator of how you'll be feeling in that curricula.

    The most important note I have, is that no matter what the college, curricula or location, make sure that you are in an environment that you can learn, study, and most importantly, have fun (not too much, of course - I have words of wisdom based on experience in that category as well *grin* MTU - Go Huskies!!).

    C-.

Re: College suggestions for possible programming career
by arashi (Priest) on Oct 20, 2001 at 20:31 UTC
    I attend The University of Wisconsin-Platteville. UWP is known primarily as a great engineering college, however we do have 3 great computer science programs, of which I am currently enrolled in Computer Information Systems.

    I could have gone to any of the University of Wisconsin System schools around the state for a programming degree, but I choose Platteville because it's a medium sized school (about 5000 students), where the student to professor ratio is something like 23 to 1. That means small class rooms, and an opportunity to get to know my professors, and they in turn get to know you, and your learning style, which, for me, is very important, and has helped me to succeed.

    The professors at UWP are great, they are very helpful. They go our of their way to help students learn, in the classroom, and also help students get experience outside of the classroom. I agree completely with Hutta, real world experience is very important. One thing that I really like about UWP is there is quite a few programming jobs available on campus, from PeopleSoft developers (they create and maintain databases and programs used by the university for things like student registration, class lists, etc...), to our Web Development Office (which, incidentally, is where I work). Also, in Platteville there is a company called Avista, who has had a history of taking interns from UWP during the summers, and even some of our professors work there during the summer.

    If you are interested in more information, take a look at these links:
    Software Engineering Major
    Software Engineering Homepage
    Fact Sheet about Software Engineering.
    Requirement Checklist for courses needed Software Engineering.
    Computer Science (Computer Information Systems or Computer Technology Majors)
    Computer Science Homepage
    Fact Sheet about Computer Science.
    Requirement Checklist for courses needed for Computer Science.
    The UWP Admission Homepage is located here, they have information about costs to attend, financial aid, entry requirements, and an online application.

    If it helps, someone else asked a similar question before, the node is located here if you would like to see what a few other people have said about colleges.

    I hope this helps you to make your decision, if you end up coming to UWP, drop me a line!

    Arashi
Re: College suggestions for possible programming career
by jryan (Vicar) on Oct 20, 2001 at 10:08 UTC

    Currently, I am a college freshman at Ohio State University, in a Computer Science and Engineering major. Its basically like a regular Computer Science degree, except you have more of a calculus/engineering background rather than an English/Foreign Languange background (the two majors are virtually identical once you get past the GECs). Personally, I find this plan much more beneficial than a regular CS degree. The chance to do co ops and have field experience is much more important to me than some foreign language that I'll never use again. (sorry frenchies ;)

    On a second note, I really like Ohio State. The benefits of a huge, internationally known university in a huge, internationally known city are enormous. You have every possible resource available to you. The main library has over 6 million books, and there are over 10 other libraries on campus (including an engineering library with 17 different perl books!). 7 gyms, 800 different clubs and organizations, 60 different intermural sports teams, one of the biggest stadiums in the country, etc. On top of that, we are one of the highest ranking engineering schools in the country. I don't wanna spread too much propaganada, but just check us out :)

Re: College suggestions for possible programming career
by E-Bitch (Pilgrim) on Oct 20, 2001 at 20:13 UTC
    Well, speking from experience (and not to step on any toes):

    Stay away from Utah State University in Logan UT. It's a good school, but not for programming.

    That being said, I transferred to Colorado State University (www.colostate.edu, CS Dept: www.cs.colostate.edu), after my first semester at USU. I began to pursue my degree here, and am about to complete it (2 more semesters, 28 credits... come on!) I have a 3.8 GPA, and am challenged in every CS class I take. My degree will be in Computer Science with an emphasis in Artificial Intelligence.

    Another thing to consider when choosing a school is post-graduate placement rates. Research whatever colleges you are planning on attending, and see if you can get any figures on who gets a job and who doesnt. Personally, I recieved an internship my sophomore year at Sun, and am still there, with a standing job offer for when I graduate.

    Hope my advice helped!

    _________________________________________
    E-Bitch
    Tempora Mutantur Nos et Mutamur in Illis
    "The Times are Changed Even as We are Changed in Them"
Re: College suggestions for possible programming career
by Stamp_Guy (Monk) on Oct 20, 2001 at 21:21 UTC
    Thanks for all the feedback! If you guys don't mind, I'd like to seek your advice for preparation for college... but first, a little background.

    I graduated high school in May of this year. I kept a perfect 4.0 through high school. I decided to stay out of college the first year because I was extremely uncertain what I would want to take and figured I had better save up. I've been learning quite a bit about perl during that time too... When I took the SATs, I got a relatively high score (1300), but it was a bit unbalanced... my Verbal scores were WAY above my math scores (730/570). I never took beyond Algebra II in H.S., so that is likely why. However, I'm wondering if that will hurt my chances at getting into the college of my choice, since I intend to go into computer science/programming. Also, finances are a big issue for me. Because I wasn't going directly into college after high school, I didn't get any scholarships. I assume you guys get the idea.

    Sooo... what would you guys suggest I do to best prepare BEFORE going to college to study computer science/programming? I'd appreciate all the advice I can get at this point! Thanks.

    Tim

    P.S. Arashi, I'm checking out those links you sent and they are proving very interesting.

      Have you thought about taking a couple of classes at a local community college while you have your year out? I assume you are working full-time, so you won't have a lot of time for school, but maybe you could fill in your (for lack of a better phrase) " mathematics gap". I think that might look good on your university applications and help you get into a CS degree program. It'll also keep you in the 'school habit'. ;)

      Your academic background sounds good enough to get you into most universities, so it's a case of where you want to go and what you think you can afford. However, what you think you can afford and what you actually can manage may be two different things. If you haven't already, talk to financial advisors at the universities you would like to attend. They should be able to help you make it all happen. Good luck!
      Well, the first thing you need to do is apply at a few colleges that you are interested in. By applying, you will gain access to all of the recourses available at the college for new students, like financial aid, academic advising, etc. If you have an academic record as good as you say, I wouldn't see why you wouldn't be accepted, at least at UWP :)

      If finances are a problem for you, remember that a student can always receive some kind of aid, either government loans, grants, scholarships, or you can get a loan from just about any bank for your education (you'll probably need a co-signer) Once you are accepted at a college, you can apply for the Free Application for Federal Student Aid (FAFSA), which will determine what sort of financial aid you are eligible for. Speaking from my own experience, my parents are fairly well off, and I have held fairly good paying jobs (for a student) and I am still eligible for a government loan for about $5000 per year (note that the amount is based on my need, tuition for me is about $3500 per year, if you had a higher need, the amount of you loan is usually higher). I would suggest that you visit UWP's Financial Aid Office website and look around, perhaps give them a call or write them an email, I'm sure they'd be more than willing to answer your questions. With the knowledge that you can somehow get your education covered by either loans, grants, or scholarships, you should realize that your education is more important than money. Once you graduate and have a job in your field, you shouldn't have problems paying off any debt related to your education, provided you are responsible with your finances (I'm not making a judgement on anyone about responsible financial management, I'm horrible at it :)

      No matter where you decide to go, the most important thing you can do is call or write an admissions officer at that university, and they should be able to point you in the right direction. Their purpose is to help you make informed decisions about your education, and have many resources at their disposal to help with that goal. At UWP, they have an Admission Calendar that should give you some idea about when and what you should be doing to get into college.

      I hope this helps you, if you have any more questions, feel free to ask!

      Arashi
      As a quick sidenote to what jryan said about math, at UWP, you'll note that the Computer Information System (CIS) Major doesn't require anything past Calculus I, which is one reason I took that major. With a CIS major, you learn more about system design, how things fit together, and project management. Coding is a major part of the degree, however it is more centered on business appications of programming, rather than a scientific approach like a Software Engineering degree.

      Arashi
      Just like yourself -- I graduated high school with Algebra II as my highest level Math course. If I were to attempt a computer science degree, due to my Math limitations, I think I would really struggle to make it through. Comp Sci students are responsible for a lot of Math -- things like Calc III, numerical analysis, differemtial equations, and so on. If you're simply a little behind, thats one thing. But if you find yourself having trouble learning it, make sure you know what you are getting yourself into.

      Instead of going that route, I decided to take a two year degree in Computer Information Systems, which tends to be a well balanced computer degree. Along with some interesting system troubleshooting, you also get into various sorts of programming, networking, possibly even web development, and so on. You will have to get into some math. For me though, it was still challenging, but not prohibitive.

      I have since been hired as somewhat of a network administrator. Actually, my title is Internet Specialist. I do everything from administer a bunch of Linux boxes doing "Internet stuff" (www, email, dns, etc) to web application development. I certainly get my fair share of programming in -- usually with Perl. Both web application development and system admin is really helped through the use of Perl, along with other languages where appropriate.

      However, programming isn't all I do, and I really enjoy it that way. Dealing with Perl code is an incredible amount of fun, but the variety I'm offered by also getting to learn new technologies, protect systems from intruders, configuring/tweaking software, and all that other wonderful stuff that comes along with sysadmin is something I don't think I'd ever want to give up.

      Good luck!
      -Eric
      Just a tip, if you don't like math. Stay away from computer science in college; most programs at most colleges require up to the 5th-6th level calculus :)
      Actually, here at Colorado State, for CIS, you are required to take Calc I and II for business majors (as CIS is a business major here), and for CS, you are required to take Calc I and II for Scientists and Engineers, and for CS, you are also required to take Algebra I & II, Analytic Trig, and Matricies and Linear equations. By taking one more math class as an elective (typically Calc III) you can also get a Math minor (though I am not). The hardest part about calculus is actually sitting down and doing it. It really is intuitive, you just have to keep up and try to apply it to your assignments. I have had no problems with it.

      CIS and CS here are very different majors. Here, CIS majors are basically trained to do Sysadmin jobs and program on windows based platforms (the most complex they get is Visual Basic, and a light SQL course). The rest of the major is business oriented.

      CS here is the real difficult one. There is a class for everything from c, c++, java, lisp / prolog (sp?), database desgin, os design, compiler construction, graphics, machine learning, AI, etc. Unfortunately, there are no perl classes, though in several of the theoretical classes (like software Engineering I), you can use it for your projects.

      Hope this helps!

      _________________________________________
      E-Bitch
      Tempora Mutantur Nos et Mutamur in Illis
      "The Times are Changed Even as We are Changed in Them"
Re: College suggestions for possible programming career
by social_mandog (Sexton) on Oct 22, 2001 at 00:55 UTC
    You might look at a list of accredited computer science programs and the ACM's <a href=”http://www.acm.org/education/accreditation/"> educational policy pages

    I graduated from high school with SAT scores of 710 verbal and 510 math. My situation is a little like yours. (Except I'm 15 years older, married and with 3 dogs)

    Because I couldn't get into the army, I went to college. I dropped in and out until I figured out that I really liked creating software and decided that I really wanted to be good at it.

    By that time I'd been exposed to a programmers and system administrators with a variety of backgrounds. In my experience the competence rank went something like:

    1. Compulsive people with a degree in something difficult like physics or People with a 4 year computer science degree from an accredited school
    2. Self taught compulsive people
    3. People without technical background or interest who really motivated to accomplish a particular task.
    4. ….
    5. ….
    6. The cleaning staff
    7. ….
    8. MIS / CIS degreed people

      Good Programming is difficult, People who sweat through all the way through discrete math do much better at it than people who get 70% on a multiple choice exam on the syntax of COBOL.

      Some of this is because the material is relevant. A binary search is much faster than a sequential one. Some this is because the material makes you a better thinker.

      Sure the math is hard, It might take you 1-2 extra years to get a CS degree starting where you are. (or you might be smarter than me and catch up over the summer…) Sure in a CS degree you spend a lot more time programming than you do in a CIS degree. (this is a good thing right?)

      Is the pain worth it? It depends on what you want. If you want to be the best programmer you can be, it is probably worth it. If you want some free time in school to party and you want a piece of paper that might help you get a job, you might be better in CIS.



      email: mandog

Go to a small school!
by dragonchild (Archbishop) on Oct 22, 2001 at 16:36 UTC
    Just to put my two cents in ... I graduated from a tiny four year liberal-arts school in the middle of Wisconsin. (I would definitely reccomend Ripon College to anyone.) The CS department was part of the Math department and there were 6 graduating seniors in both departments combined when I was a senior. 3 Math majors, 1 CS majors, and two doubles. (Two of the Math majors doubled, but not in CS. One, I think, was Psychology.)

    Your choice of college is less important than you think. Yes, you do have the opportunity in a larger college to be exposed to a number of projects you wouldn't normally see, like AI or robotics. However, in a smaller school, you get something very precious - time with your professor. My largest class throughout my college career was 22. That was my Ethics course. All my freshman courses were under 20 students. The largest class was Biology 101, at 75 students. That was also the only course with TA's. All my professors knew my name.

    What am I doing now? I'm three years out of school and working as a well-respected consultant. I feel I actually learned more about what good programming by having math professors teach me. Programming is a very difficult art to get right. You need discipline in your thinking. If you want to avoid math, then you shouldn't expect to be a crackerjack programmer. Think about it.

    ------
    We are the carpenters and bricklayers of the Information Age.

    Don't go borrowing trouble. For programmers, this means Worry only about what you need to implement.