Subscribe to
Posts
Comments

Principles Never Go Out of Style

1 Star2 Stars3 Stars4 Stars5 Stars (3 votes, average: 5 out of 5)
Loading ... Loading ...

image Last weekend I participated in the Alumni panel for ICS scholar day. This is probably the third or fourth time I’ve participated in the discussion and yet always enjoyable. Contrary to many other schools, ICS has seen a 55% rise in enrollments, a testament to the school that we call our alma mater.

The panel was comprised of Nael Sabha (FBI), Lloyd and Missy Tullues (related by marriage and an ICS love story), and myself. While the faces in the audience were new, the questions in essence were the same and centered on how UCI in general and ICS in specific prepares students for life.

I was reminded of a town hall meeting that then ICS chair Michael Pazzani held for all ICS students. This was circa 2000 when the dot com boom was at its peak and every ICS major wanted to join a startup, cash in on their options, and buy a BMW. The recurring question was why wasn’t ICS teaching technologies that were relevant to the market place? Technologies like DreamWeaver, Photoshop etc. Pazzani in his characteristic straight-forward, low key manner, said that ICS was not a trade school that taught you Java in 21 days, the focus was to learn the principles and the technologies that implement it, principles that would stay true through all the technology churn.

Fast forward to the present day, Dream Weaver is basically a dead product. Even MySpace had to rewrite their entire web site in .NET to have it scale. Yet, the principles have remained the same. In fact, in my own endeavor, I’ve had to pull out my advanced data structures book to solve some real-world problems. I’ve used flocking theory to solve the problem of rendering popular spots on a map, I’ve employed min path algorithms to solve efficient routing problems, and am implementing Directed Acyclic Graphs (DAGs) to store data that have multiple one-way relationships.

Sorry if that sounded somewhat cryptic, but there’s only so much I can reveal about my day job. My point is, that the technology I’ve dealt with in my relatively young professional life has undergone multitudes of change, yet the principles have stood stead fast. In fact, one of my mentors used to jest, all of computer science can be reduced to a LOAD, MOVE, or ADD operation.

 

Quote of the Day

The entire history of software engineering is one of rising levels of abstraction.

                                                –Grady Booch

5 Responses to “Principles Never Go Out of Style”

  1. on 19 Apr 2008 at 7:42 pmfvhale '81

    On the path of the force you walk, TJ.

    I started my ICS studies at UCI in Fall 1978.
    None of the technology that I used as a student exists today. And most of the technology that exists today
    did not exist then.

    This is why, for example, I did not waste time in school studying digital technology (except for the one required couse, ICS 151, “Elements of Digital Computers,” in Fall 1980). That was before RISC architectures, and we spent
    a lot of time studying explicit logical hardware and designing microcode for complex instruction sets.

    That is also why I did not spend a lot of time programming in school. My ICS classes with programming were the following:

    ICS 2L, Fall 1978, mostly Algol on punched cards, I think, using galley proof of Standish’s new (then) book.
    ICS 3, Winter 1979, I think it was also Algol on punched cards.
    ICS 161, “Design and Analysis of Algorithms,” Fall 1979. I think we used Pascal for algorithm studies.
    ICS 141, “Programming Languages,” Winter 1980, in which we studied COBOL, FORTRAN, SNOBOL and LISP.
    ICS 171, “Heuristic Problem Solving,” Winter 1980, in LISP.
    ICS 142, “Compilers & Interpreters,” Spring 1980, when we built lexical parsers and code generators in Pascal.
    ICS 145, “Language Processor Construction,” Fall 1980–more Pascal.
    ICS 195, “Project in System Design,” Winter 1981–I think we used Pascal here, too.

    I never programmed in any CS class in graduate school in Berkeley, except perhaps some LISP in CS 283, “Natural Languages,” in Fall 1981.

    On the other hand, I’ve been making a very good living since 1975 programming in Fortran. 33 years. 1 language.

    Sure, I’ve done “Hello, world!” in Java, C, C++, Python, Perl, and a lot of other languages I can’t remember. But most of my code work for 33 years has been in a language which is not commonly taught in colleges.

    So, what did I get from UCI ICS?
    Principles. Theory. Such as:

    Fundamentals of data structures in ICS 2 and 3,
    Algorithm design and analysis from ICS 161 and 162,
    and computability and complexity from 2 quarters of ICS 199 independent study,
    a good foundation in formal logic from the Math 6 series,
    and an understanding of linear algebra from the Math 120 series.
    And writing skills.

    Those are the gems of my UCI ICS experience.

    (And I’ve never owned a BMW or stock options.)

  2. on 20 Apr 2008 at 9:48 amTJ Thinakaran

    Thanks for the words of encouragement Frank.

    The interesting fact is that the courses you find relevant thirty years into your career and the ones I that I find relevant six years into mine and that is very heartening. I still remember sethi-ullman trees in ICS 142, and Professor Dillencourt’s ICS 161 class when he tried to explain the relationship beween parent and child nodes by saying, “It’s like the relationship between me and my children, my children always know where I am, but I have no idea where they are”.

    You also bring up the point about non-ICS courses, some of my best learning experiences came from classes outside of ICS (http://www.onetj.com/tjs_kaleidoscope/2007/12/why-teaching-ph.html). Not to mention Anthropology, which believe it or not, came in handy during my consulting career(that’s another story). I still regret dropping out of the Jazz piano class. So for all the undergrads reading this, take the Jazz piano class. You will learn what you must to excel in your craft, but finding time for such seemingly esoteric pursuits only gets tougher.

  3. on 20 Apr 2008 at 7:51 pmfvhale '81

    The more I think about the technological differences between my ICS experience 1978-1981, and the present, I wonder if current students and recent alumni can really appreciate the differences.

    When I studied ICS at Irvine, there was no Web.
    There were not networks in the way they are currently understood.
    Computers were, for the most part, isolated, stand-alone machines.
    There were no personal computers, and in general students did not own computers (there were the occasional electronics enthusiasts who built something like a Rockwell AIM-65 computer of their own, with input through toggle switches, output on LED’s, and 4 Kbytes of RAM.

    When I took ICS 2 and 3, we used punched cards.
    When I took my upper division courses, we stored our assignments on 8″ floppy disks that held about 500 Kbytes.
    And they melted if you left them in the sun in your car in the parking lot.

    It was a whole different world.
    And I think it was actually easier to think about Computer Science, particular design and analysis issues, without the Web as a distraction.

    Of course, I also used a slide rule when I first took college chemistry, because the early electronic calculators were not allowed in class.

  4. on 21 Apr 2008 at 4:50 amfvhale '81

    Imagine a UCI
    with no network,
    with no computers in the dorms,
    with no computers in the libraries,
    with no wireless service,
    with no cell phones,
    no digital cameras or video,
    no CD’s or DVD’s or iPods.

    Imagine a UCI
    where an HP-65 scientific calculator
    was the most advanced “hand held” device around,
    where students did their homework with
    paper and pencil and pen
    and typewriters.

    The library had printed materials
    and paper card catalogs in wood file drawers.
    Computers were found only in the ICS Building.
    There were a lot less buildings,
    and a lot more open space.
    You had to go to Newport Beach for a restaurant
    (besides Denny’s).

    That is the UCI where I studied ICS.
    I think it might have been a better environment
    for study
    which is really more a matter of what can be found
    between the ears
    than by a Web search engine.

  5. on 30 Apr 2008 at 4:26 pmBinh Dang

    And to think, I was stucked in the “Mac Dungeon”. LOL

Leave a Reply