HW8 Response 10.22.07

>> Are you concerned about: "the future of computing as a viable field of study and work."
if yes: what are your major concerns? did the report address your concerns?

No, I'm not "concerned" about the future of computing as a viable field of study and work. Three reasons why I feel strongly about this are :

1) I still communicate with my computer with a keyboard. I don't talk to my computer, I don't communicate thoughts TO my computer, I just type things to it and it responds - I don't like typing ... so this will HAVE to keep many people busy for some time yet to entirely eliminate this cumbersome and ineffective communication method,

2) computing, in general, has a LONG way to go yet - while we've solved some interesting problems, computers are used largely to do the same things they've been doing for 50 years. Consider the classic word processor : why is the word processor still just a "word processor"? By now I would have expected the standard "word processor" to have integrated tools to help me better organize my thoughts, suggest directions I might do further research - perhaps even evaluate the logic of my outline and arguments to help me tighten my thoughts and flow of ideas. While there are tools that exist to help with a few of these tasks, they're not mainstream and they're still immature. Things like this should keep us busy for a very long time (perhaps even along with (1)),

3) human innovation will not end; as one field quiets another is born and innovation continues. As long as there are interesting problems, there will never be a shortage of work to be done. Furthermore as problems get more complex and challenging, solutions will require increasing levels of creativity and innovation.

>> What are the issues in the report
you most strongly agree with? you most strongly disagree with?

I wanted to read the chapter on education, so I did that and had a few observations and reactions :

1) I think the summary of the India education system was interesting and while it stated that there were large numbers of graduates, the quality of the graduates was not consistent. I think the message that there were so many graduates overshadows the quality problem. Furthermore, the chapter does not address the concerns of quality over quantity in spite of lower wages. It would have been interesting to see examples of organizations which have been affected by this quality/quantity issue. It is easy to see how one could actually spend MORE money on an offshore project if the end results do not meet the requirements and cannot be corrected cheaply. This is something that needs to be addressed : "fast, cheap or good, pick 2". I've worked in industry for over 12 years. I've seen the both the good and bad of offshoring in my career.

2) I wholeheartedly agree that the US public universities need to be open to innovation faster. Many interesting things have happened in productive private funded projects, leaving the universities places of slow growth and old modes of thinking (seems contradictory when the sell of a university is one of creativity, free thought and limitless possibility). I think innovations in to broaden the scope and reach of "computer science" are important. I like what CMU is doing. I like what Indiana is doing. I like what UC Irvine is doing. More schools need to adopt innovation more quickly to come back to the fore of innovative social contribution.

3) The previous point ties in this last point. The authors in chapter 7 mention that there are a few reasons they can think of that enrollments in CS departments are going down : offshoring and dot-com job loss perceptions. They also mention the "quality and nature of material" being taught and that the focus on modern object-oriented paradigms and specific languages such as Java are "somewhat difficult for faculty to teach and students to learn". I think this is off-base for several reasons. First, my first formal programming language was Scheme. I would not exactly consider Scheme a hard language to learn, but the core concepts of the language are subtle and deep, particularly recursion and continuations. My second "formal" language was C. Compared to Java, C is much more complex and difficult to teach, especially when discussions turn to pointers and memory management. I personally think the authors missed out on a real opportunity to highlight what I believe is a reason students aren't finding "traditional" CS interesting : when they look at the course catalogs, nothing is grabbing their attention. They're not seeing courses in web design, service-oriented architecture (or "software architecture" - or even "great software architectures"), database design for highly scalable websites (i.e. "ebay under the hood"), real-time web servers, open source software systems (i.e. "greatest hits and greatest misses of the last 15 years of open source") or even web-based game design. These things will get an 18 year excited and interested, and they can be presented in a "computer science" way, that goes far beyond what a "vocational" curriculum would teach.

4) The authors admit that the US curriculum is largely out of date and needs revision, and that the current curriculum is geared at training academics. We should all consider that a healthy blend of fundamental skills and contemporaneous thinking is not only helpful to those who will be going strictly into industry, but also helpful for those staying in academia.

>> name one action which our department should undertake to address your major concerns
More course offerings in stuff outside the "core" of computer science. I like the fundamentals, but I also like the contemporary. I'd love to see a "greatest hits and greatest misses of open source software" class, as I think the OSS movement is very relevant to computer science education ( and the future of the field ).