images.jpeg

Great article in The Journal of Defense Software Engineering written by 2 NYU PhD’s. Found it via subscription to Joel on Software, here.

I received a B.A. in Computer Science from Lehman College, a member of CUNY (City University of New York). When I first declared my major and started, computer programming courses were taught in C++, but by the time I graduated, they were taught in Java. I chose the B.A. in Computer Science, with a minor in Computer Applications, because I could graduate a semester earlier :-). I’m happy I did, the minor allowed me to take classes in UNIX and COBOL, both of which I needed for my day job at the time.

Its been a while since I graduated, so let’s see what classes I took for my major/minor:
- Math: Calculus I, II, Intermediate Calculus I, Linear Algebra, Discrete Math
- CIS: Computer Information Systems, COBOL, Practical UNIX: Programming & Systems
- Computer Science: Programming Methods I, Programming Methods II, Computer Organization & Assembly Language, Data Structures & Algorithms I, Operating Systems, Networks, Independent Study

I feel as though I got a good grounding in Computer Science. Here are classes, some of which were not offered at Lehman, that I think I could have taken in addition: Programming Languages, Lisp

I have long considered going back to school for an MS in Computer Science, but my computer programmer/software engineer/engineering lead jobs never specifically required me too, there were other things to do (relationships, hobbies, family, etc), and I never got back to it. I have also thought about taking an MBA, which I think would be good for some practical learning towards running my own business.

A question for the Interweb: Has my B.A. in Computer Science, and lack of M.S. in the same, caused me to program in an inferior fashion? I have worked alongside hundreds of professionals, many with MS degrees, some with PhDs. A lot of them approached projects a bit differently, and the PhDs certainly liked to talk about how they approached it quite a bit :-), but I haven’t seen my output to be drastically different. Through my career, I’ve found the need to program in C, C++, Java, Python, PHP, C#, Perl, and ksh/bash. I am comfortable with procedural and object oriented languages, but do not have much experience with functional programming. Where would I see the cracks in my academic learning, out here in the wild?

Update (January 9th, 7:00pm EST): Slashdot has picked up this story as well, some interesting commentary here.