Using Rich Internet Applications to Keep Undergrad Computer Science Interesting

January 8th, 2008 by ryanstewart

There’s a really interesting article in CrossTalk about the drop in the number of computer science students in school. I spent a year as a CS major at Penn before transferring into the Economics department so I’m not as qualified to talk about this as I’d like to be. The CrossTalk argues that part of the problem is Java being the programing language everyone learns first but I really liked Joel Spolsky’s solution to the problem; creating a brand new kind of curriculum around computer science that is more liberal arts based.

I’m an average programmer, but even I know that there is an art to programming. Mathematics is still extremely important, especially for solving computer science problems, but there’s a lot of other knowledge that goes into creating an application. Creating a web application is arguably even more liberal-arts slanted because you’re much closer to the design part of the application so you have to think about what the user will see.

Maybe the language we teach is the problem but I’m with Joel, I think it’s more of a mentality. His idea of a Bachelor of Fine arts for programming seems crazy at first but as you think about it more, it makes a lot of sense. Rich internet applications would be a perfect fit in an educational program like that. You could take interactive design classes alongside more traditional comp sci curriculum. You’d get a much fuller picture of the art of programming.

[tags]Programming, Courses, Education[/tags]

Posted in Rich Internet Applications

No Responses

  1. Sam

    I have a better idea. Outsource it all to India where it belongs.

  2. Josh Tynjala

    The problem here is that Computer Science != Software Engineering, and most people don’t realize that. CS is very math intensive, and universities often make it a part of their Mathematics departments. Programming is actually supposed to be a very minor part of the CS degree program (a tool to further explore theory related to logic, math, and computation). Many schools offer a separate degree in Software Engineering. This type of program should be more focused on real-world development practices, and building RIAs would probably fit in well.

    A BFA for programming seems weird. Certainly, with computers permeating our lives, degree programs need to exist for people who will be designing our user interfaces. I’m not exactly what’s available right now, but I know that some colleges do already offer some sort of study in the field of Human-Computer Interaction (HCI), which is probably the best bet at the moment.

  3. Brian Swartzfager

    The guys in the CrossTalk article are worried that today’s comp sci students aren’t learning how to do really deep programming (things like managing memory usage and communicating with hardware devices) because those tasks are either automated or abstracted/hidden from the programmer by the programming language itself or through the use of code libraries.

    Since most RIA technologies hide or handle these tasks just as much (if not more) than Java does, I don’t think they would be the biggest fans of the RIA movement. :)

    Web application programming still seems to be an afterthought here at my university. I think we have one class that teaches students how to build websites with HTML, CSS, and JavaScript, and one class that introduces students to PHP, mySQL, and Apache. There are no classes on ColdFusion despite the fact that most of the departmental web applications and dynamic websites run off of ColdFusion.

  4. J. Mihai

    In Romania there is the problem of some of the teacher not knowing exactly what they are teaching their students. We have many Faculties in one University, all Engeneering ones, yet in very few of them studets are able to go further with their experiments. Very few are testing as much as they should what programming languages fits the best for them.

    As about web aplications, I would like to say that you are perfectly right about being close to the design. I am an Adobe Photoshop lover, that is the first software I really liked that much that I was spending few ours a day editing and creating images. After I decided that I want to go further and learn some programming. Its nice to see you can combine design an programming in something useful and nice looking.

    Kind regards,
    J.Mihai

Leave a Comment

Please note: Comment moderation is enabled and may delay your comment. There is no need to resubmit your comment.

About Ryan Stewart – Rich Internet Application Mountaineer

A blog by a Platform Evangelist at Adobe covering Adobe's RIA platform. Includes posts about Adobe Flex, Adobe AIR, ColdFusion, LiveCycle, Thermo, and everything in between.