IST Building

Do IST students really need to know how to program?

This is a question I’ve discussed many times with fellow IST majors. Do we really need a good amount of programming skills? Computer science and computer engineering majors are for the most part more heavily drilled in programming then we as IST majors are, but all of my internships have revolved heavily around my ability to program. I work for IBM currently and my manager once joked to me that I might as well be a computer science major, you both seem to know the same thing. Not that I wish to imply IST majors have the same skill sets as computer science majors (In fact most CS majors will laugh at that comment) but in any IT field it seems to be a crucial area of interest that an IT professional is able to write code. This has become a sore spot for a lot of people I know who major in IST because they quote “Hate programming.” Is this because they wanted to take the easy way out? Or is because they don’t feel that it’s a necessary skill in their job field? Like I said my experience has led me to believe it is.

If you are trying to learn how to get in and learn some scripting languages some really easy places to start would be:

Hypertext Preprocessor (PHP): Good old PHP. An excellent starting language, but if you start to want a bit more out of your programming ability you might want to look in to learning some other languages.
Counting from one to ten in PHP:

<?php
for ($i = 1; $i < 10; $i++){
print $i;
}

Practical Extraction and Reporting Language (PERL): Perl, PHP’s big brother…or father, whichever you prefer. PERL always you to get in to more nit and grit of your operating systems process management as well as being an excellent language for text processing and data mining. Warning though, you can write some really awful code in PERL. Best to learn using strict.

Counting from one to ten in PERL:

#!/usr/bin/perl

@array = (1..10);

foreach(@array){
print $_."\n";
}

Yes, I know there are better ways, but I’m trying to show off some default variables that PHP and python do not have.

Python (No acronym here!): Python is an excellent mix of clean coding through management of whitespace (You are forced to do this) and good ability to process text and manage server processes. Python, like PERL, is also able to do GUI programming, network programming, parallel processing, and heavy data mining. It’s also excellent for mathematical and statistical applications.
Counting from one to ten in Python:

#!/usr/bin/python

for i in range(1,11):
print i

Notice the lack of semi-colons and some parenthesis.

Well that about sums up some nice ways to get started learning programming if you’re an IST major. Any questions feel free to email me!

Tags: , ,

Categories: Opinion

27 Comments, Comment or Ping

  1. Brian Reitz

    Some might argue that there’s a difference between scripting and programming languages. I won’t.

    However, while learning the P’s of programming certainly couldn’t hurt, it also wouldn’t hurt to be grounded in lower-level programming languages. C or Java are two good choices. The problem is you get bogged down by weird compiler issues and low level crap, but it’s an immense relief when you switch to Python from C and realize how much Python does for you. Python also has the commandline interpreter, meaning you can get results as soon as you press Enter.

    Side note: you forgot a ?> in your php example.

  2. IST students should have some hard skills and programming is a great way to pick up an ability. Most of this knowledge is transferable between languages too. Use your free time to create a worthwhile side project and you’re all set for chit-chatting during interviews.

  3. Lovely thing about PHP is you don’t need to have a ?> at the end if you really don’t want to. I admit, I forgot it, but I can get away with being forgetful in PHP.

  4. I think the ability to program is absolutely critical. I find that a great deal of IST students have little technical inclination, if any, while many jobs and internships require these technical skills. I feel that if enough of these students go into these jobs and internship positions unprepared for the level of technical proficiency required, an IST degree will become greatly devalued in the future.

  5. Ryan Richards

    HTML, sql, css, javascript aren’t programing. They never were and never will be. Java sucks. I forget who said it but computer science is as much about programming as astronomy is about telescopes. Knowing how to program in X,Y,Z is an extremely POOR skill set, just ask all the COBOL programmers and all the HTML coders. Instead IST should be teaching the ideas behind shit and not just type this and it works.

  6. Ryan, you should take IST311 then. The class is a lot of OO Design. Also try IST412, which is complex software systems. Those should give you a better foundation in ideas behind programming and not just “stuff to type in.”

  7. Daehee Park

    Ryan - in classes like “just type this and it works,” we might as well go to a technical school to learn the same thing better.

  8. Caroline Furey

    Any other ideas for learning how to code? What kind of projects or in-class assignments in your IST classes were most useful in teaching you how to code a particular language?

    Daehee said he heard the suggestion to debug open source code online to practice your skills. Thought that was a great idea.

  9. Caroline,
    In my experience (I’ve been programming a while) you’d be best to pick a language. The ones above might be the easiest to start, but if you want you can try Java or C/C++/Objective-C or C#, VB.NET, Lisp, Ada, COBRA, or many other dead languages. But pick a language and go out to Barnes and Noble and buy a book on it. (I think this sounds cliche, but O’Reily does make good books) then while you read the book actually write the code from the examples. (Don’t copy them from the CD) and compile and try and understand them. Once you’ve got a nice grasp from the book pick a project that interests you or is something you need. I’ve written blog software for myself because I needed it. I’ve written Python shell scripts because I need them, but whatever you may desire try and find yourself a project to get in to. You don’t have to make it beautiful or perfect, but just get your feet wet. And try to do as much of it on your own, only consult the documentation unless you’re really stuck on an answer. And yes, I said consult the documentation, that means stop IMing me Daehee to ask me a question you could have answered yourself. But that’s how I came along with most of my ability, I’m basically all self taught, nothing in school really grew my learning as much as my own desire. Hope that helped.

  10. Ryan Richards

    Stephen I was in compsci for 2 years. Ive been codeing for 7 years. OOP is a retardedly high over head. If you have unlimited procession power sure use OOP since its easy to program. My point is that they can outsource to india for 2$ an hour to code, but they cant outsource as much for the algo design and what not. Apparetly you haven’t taken sra 221 or ist 451. The labs consist of retyping the lab and getting it checked. It teaches you jack shit and then people put it on their resumes and companies take them because of their 3.8gpas and fuck over people that actually know how it works and knew how it worked for the past 5 years.

  11. Well then you’re going to have to find a way to set yourself apart from someone with a 3.8GPA. I have a 2.8gpa and I work for IBM, I’d say it’s possible. Also, I beat out someone with a 4.0, so just because you have a high GPA doesn’t guarantee you a good internship.

  12. Caroline Furey

    Steve, I did take SQL in IST 210 and have dabbled in html and flash, but sadly two years have passed, I haven’t used the languages much, and thus, forgot them. I want to devote some serious time in learning a language this summer. I like your idea of working on a project that I need or want. Really helpful advice. Thanks.

  13. Since this is an IST mag, I thought I’d plug for the FREE O’Reilly books you can get thanks to the College of IST.

    http://proquest.safaribooksonline.com/

  14. Ryan Richards

    May I ask what type of witchcraft you used? When i was in compsci ibm wouldnt take your resume unless you had a 3.5+ Secondly, its hard to set yourself apart since in ist if you looked at something once its ok to list it on your resume

  15. Ryan,
    That’s IBM’s software group. IBM is, as I’m sure you know, a large company. IBM has it’s fingers in everything from software to real estate (believe it or not.) If you don’t have the good GPA or work experience you can look in other divisions of IBM that still need developers. (I work in Signal integrity, which is an off shoot of electrical engineering division) so it wasn’t really that I had any special powers, it was more of looking where you might not expect. I did interview though with IBM for software development in Poughkeepsie, but never got a call back probably for the same reason as you, but like all large companies you can always find a place there if you look hard enough.

  16. Tom Bierly

    Ryan, you don’t need to have a good GPA. My GPA isn’t that great, and I still had several internship options. It’s all in how you present yourself. If you would like to do a mock interview, I’m sure Madhavi or Penny, or a student member of the Career Assistance Team, could set you up and give you lots of pointers on how to improve.

    As for needing to program: YES! You still need to be able to program. IST students generally go out into technical fields. The college of IST is a different approach. They teach you more of the managerial stuff and they *try* to teach you how to learn, so you can teach yourself what you need to know. Information is doubling every year, if they were to teach you hard skills in your freshman or sophomore year, that knowledge would essentially be useless by the time you graduate. If you have a passion for what you do, you won’t mind doing it on your own. When scheduling classes, try to block off time to study on your own. Penn State offers free online courses to learn basic languages (or they used too- see Doc Gerry), and I don’t know any professor who would turn you away if you ask them for help.

  17. Ryan Richards

    Personally Id never see Santoro for anything. I have 0 respect for the guy after sra111. Tom i handed out 30 resumes last career fair and heard back from 2. 1 was an automated response the other called to check if my gpa really was 2.2 then a day or 2 later they turned me down.
    Just out of curiosity Stephan what would your psudo code be for a program that gives you the prime numbers between 1 and say a million?

  18. @Ryan Richards:

    Using list comprehensions:


    primes = [x for x in range(2, 1000) if x not in [j for i in range(2,8) for j in range(i*2,1000,i)]
    print primes

  19. Ryan Richards

    @Stephen Carman:
    Ok just checking. Because if you said for 1 to 1 million divide each number by 2 through number– i would have said you can code but cant program. Most people would have said it the “wrong way” Personally I think things like this is more important than teaching the syntax. Stuff like not using recursion when you can or if you have to make it tail recursion, pass by reference and points believe are the points that should be taught.

  20. Outside of Pseudo code:

    PHP:
    Using GMP, I only want things that are surely a prime number.
    This function uses Miller-Rabin’s probabilistic test to check if a number is a prime.


    <?php

    for ($i = 1; $i

  21. @Stephen Carman:
    Yes i know they have already made libs and what not but that wasnt the point. I was just seeing if you were an ist student that talks shit about stuff he doesnt know like Caleb or actually knows what you are talking about. You clearly know how to program. This is a stupid argument and im leaving this site since it is exactly what i thought. A place where a select few act better than everyone else and wave around their massive “epenis”.

  22. Steve Carman

    @Ryan Richards: Naturally my above post doesn’t work thanks to Word Press being trash. Anyways. but mine first creates a list of non-prime numbers then takes the inverse of it. Not very efficient, but better then the method you though I might use. Recursion is known to be slower in C derived languages anyways, but is a foundation of languages like LISP where you don’t have common loops. Passing pointers and references is something you only have to worry about in C/C++ so since they teach Java in IST I doubt it’d be something they’d touch on in huge detail.

  23. Mike

    @Ryan Richards: How the heck do you get a 2.2 GPA in IST? The people who do bare minimum amounts of work and slide by can get a 3.5. Did you fail classes while in another degree program? I was getting a 2.8 in engineering after barely passing my classes.

  24. I think that you will need to know programming in some jobs and not in others. If you feel strongly about your skills then that will open up the job markets considerably, but I don’t feel that every job needs extensive skills.

  25. @danflynn: I doubt anything entry level right out of your BS requires that you know everything right away. Maybe a senior architect, but probably nothing entry level. Well, unless you’re applying to Google or IBM. Either way, I’m sure there are plenty of jobs that don’t require you use programming ability on an everyday basis, but you’d be mad to say that you don’t need the skills at all. Even SQL DBAs write upkeep scripts. Even if you don’t write the code, it’s always good to know how to read and understand it if you happen to be a debugger or a application engineer. Almost anywhere in the IT field it’s an irreplaceable skill, just go on dice and look up IT jobs and you’ll notice some don’t require the skill, but say it’s a bonus or a huge plus if you do. So while you may not need it if the ability to fill multiple roles is there, employers will love you.

Reply to “Do IST students really need to know how to program?”