Web Development Should Be a Third Level Degree

I’m a college drop out. This is not something I’m particularly proud of, but it is a fact of my educational life and something that hung over me like the proverbial Damoclean sword for some time post-college; it caused problems where none existed, robbed me of some self confidence and continues to affect me to this day. Although I’d like to think that it has become a driving force in my desire to succeed (and prove that I am entirely capable of doing what I love without the degree) I have no illusions about the profound effect those years had on me.

My dropping out is a fairly straight forward story and isn’t what this post is about, but it provides background for my opinion.
I started Computer Applications in DCU with a determination to learn how to program. In this, I feel I was very successful, my instruction in Java and Assembly quickly enabled me to learn the fundamental concepts of programming. Within a few months and with the resources and peers afforded to me by Redbrick, the college networking society, I was delving into PHP and MySQL. When summer rolled around, I spent all the free time I had writing my first content management system in a sort of one-upmanship coding duel with a classmate. This was the root of where I disconnected from college. In first year, I had great interest in the woefully underemphasized HCI option. I had also been looking forward to the web design element of the course, which turned out to be a walkthrough of mid ninties design, FONT tags and all. By second year, I was being instructed in Java “Netbeans” which bored me to tears, and the increasing emphasis on maths paper exams eventually drove me away from the course entirely. I had also started earning money at this stage working as technical support for BT Ireland, and having used my familiarity with PHP, MySQL and Debian to secure myself a partial development role, decided just to skip straight into doing what I enjoyed.

For me, DCU’s Computer Applications Information Systems stream became an obstacle course. I knew what I wanted to do and it eventually became an inhibitor. I learned how to program and then hit the ground running. I have great admiration for my contemporaries who successfully completed the course. Even as I complain about this course, it was character building. Without the rigorous and challenging first year of the course, complemented by my seniors in Redbrick I would not be doing what I am today. While my classmates who graduated are now software engineers,  it would obviously be presumptuous of me to follow suit :)

There is no course in Ireland that I have found which caters to my interests, interests that are obviously shared with many others. I think there is room for a much more focused, web-orientated bachelors degree in modern universities. Any course that attempts to veer from pure computer science appears to become a weak business I.T. course. I believe that it’s important to prepare students for the Internet age that becomes ever more entwined in our lives.

In much the same way that the modern Information Systems student is not expected to be able to write a compiler or build a computer from first principles ( although I personally think both are pretty sweet :) ) I think computing education should be allowed move to the next layer.

There’s room for broad computer science courses, engineering courses and many others.

I propose a BSc. in Web Development and Design.

What would such a course contain? As far as I’m concerned the content of such a course nearly writes itself. In fact, I imagine trying to fit design and development into one course may even be too much. A rough outline for such a course might look like the following:

Year 1

  • Presentation Technologies (HTML/CSS/Javascript/Flash)
  • Web Programming (PHP/Ruby/Perl/Python)
  • Server Scripting and Maintenance (Shell scripting, package management systems, middleware configuration, logging)
  • SQL for Web Applications (MySQL/PostgreSQL)
  • Interface Design 1
  • Human-Computer Interaction
  • Documentation

Year 2

  • Scaling – (Caching, optimizing queries, reducing code overhead, database design, OS customization)
  • Application Frameworks (intro to Ruby on Rails, Code Igniter, Django)
  • Interface Design 2
  • Data Portability (XML-RPC, JSON, FOAF, SIOC, Designing an API)
  • Mobile Technologies

Year 3

  • Advanced Scaling (Designing for Distributed/Cloud systems, failover, CDNs)
  • Building an Application Framework
  • Building Scaling Technologies
  • Building Desktop Internet Applications
  • Starting a Business

Year 4

  • Project: “Killer App”?

The person who comes out of this course is not going to have a place in the I.T. department looking after the company’s Microsoft Office installations and Anti Virus updates.

Obviously this particular format I’ve chosen makes certain assumptions about the potential student, it’s also quite messy, but the concept should still be visible. A course like this is going to need to keep abreast of current technologies, and can’t be too flavour-of-the-monthy as some of the hypothetical courses I’ve listed are. I know that there is great investment of thought going into planning the future of the web. Some of these people are in DERI, amongst myriad other places.

What I’m getting at here is that there is way more going on behind the scenes than a lot of people are aware of. Attend some of the more academic brainstorming sessions and you’ll find yourself facing technologies and concepts you may never have heard of or even imagined, but a year or two or three down the road are the “Big Thing“.

I’d welcome the thoughts of my seniors and contemporaries on this though (I have a tendency to take a thought and run with it).

This entry was posted in Technology. Bookmark the permalink. Both comments and trackbacks are currently closed.

8 Comments

  1. Posted May 3, 2009 at 1:25 pm | Permalink

    Excellent post Ross and some very good points made. I too feel that the web design industry needs to be taken far more seriously in Ireland than it is now.
    Unfortunately it seems that anyone with a pirate copy of Dreamweaver or even Frontpage 4.0 (shudder) become ‘professional’ web designers. I am hopeful that the proper internet professionals who follow best practices and don’t cut corners will weather the economic storm and rise to the top when people start realising web design cannot be a cottage industry run by anyone.

    I studied for 4 years in CA and although I’m grateful for my degree, I couldn’t help but feel that quite a lot of it boring statistics and logistics. I echo your sentiments about html tables and font tags being taught to current students. I think the course is about ten years out of date and drastically needs to be modernised.

  2. Posted May 3, 2009 at 1:33 pm | Permalink

    I can relate to your experience in DCU 100%. I made my way through the first two years and found myself entirely bored, so disappeared into the working world for a few years before eventually completing the degree as an evening student.

    On the other hand, after a few years some of the more theory-based concepts that I was taught really came in useful, particularly in the software engineering side of things. Your description of a web-developer course misses out the “middle” part of the development picture – you have server configuration and front-end, but it takes people through frameworks without explaining the decisions as to why things are done that way, explaining the concept of MVC / separation of various layers and software design patterns etc. Also, I think for anyone in web development it’s crucial to know about analytics and metrics.

    Don’t get me wrong though, if there had been a similar course available when I was picking college I’d have been all over it like a cheap suit. I’d love to see a course like this started for transition year students.

  3. Posted May 3, 2009 at 1:41 pm | Permalink

    @matt Thanks for the comment, and for our conversation which was the seed of this post :)

    @dave Some very strong points there alright, I am absolutely with you on theory. It’s one of the most important things I learned from my time in DCU, and I could undoubtedly do with more. Coming straight into programming without those concepts would have been disastrous for me, and I’ve seen the results of a lack of formal education in programming all over the place.
    It would certainly need to be fundamental to any such course.

    You also make a good point about analytics and metrics, something I somehow managed to overlook in my hypothetical course!

  4. Posted May 3, 2009 at 1:44 pm | Permalink

    Just another thought: I think it’s more the nature of colleges that causes things like a web course which teaches “font” tags in HTML etc. Lecturers aren’t there to lecture, for the most part lecturing is the annoying thing they have to do when they’re not researching their Phd / area of interest. It’s not particularly in their interest to be updating their courses all the time, and in some cases they may not have any great experience in what they are teaching (inheriting notes from previous professors etc). It’s a pity really.

  5. Posted May 3, 2009 at 2:59 pm | Permalink

    Another thought I had about the course in DCU. Like most things you learn in school or college I think it’s all more a matter of selection and conditioning than rote learning and regurgitation, so you are ready to work in the real world and tackle bigger problems. All those trigonometry functions I did in the leaving cert have yet to serve me 8 years on, but I’m sure I am here now because I was able to do them.

  6. Posted May 3, 2009 at 3:00 pm | Permalink

    If you look at some of the DCU lecturers webpages today they are exactly the same as they were in 2001 :) Brings me back so it does.

  7. Posted May 4, 2009 at 9:24 pm | Permalink

    Hey Ross, thanks for the support on my blog.

    I also dropped out of CA in DCU, but transferred over to the Multimedia degree and found that quite enjoyable. Not perfect by any means but a good foundation to move into the design field, and many of my classmates have gone on to great things in web development, graphic design, audio production, video editing to start with.

    I’ve often wondering about a course like you suggested. The only criticism is that in theory, something like CA should prepare you to be a programmer in a wide variety of areas, not just training in web development. College courses are supposed to give you an overall education, rather than training you in a specific sector.

    Having said, that it’s still an interesting idea, certainly a masters in it would be very useful too. A degree could work very well with two streams, design & development, with a lot of core courses in principles like User Experience, Information Architecture and then branching off for the designers into Typography, Photography, digital design, 3D modelling etc. Or perhaps there could be two courses run parallel over 4 years with common modules. With a solid design & dev teams that you would have, you could produce some amazing stuff and prepare some great graduates for the industry.

  8. Posted May 5, 2009 at 6:03 pm | Permalink

    I wholeheartedly agree that there should be a course like this made available somewhere. For someone who wants to do work in web development, it’s hard to find the ideal course right now.

    Also, CAIS is a load of crap. Although I can’t say much given I’ll be repeating second year of CASE again next year…

One Trackback

  1. […] read an interesting idea for a B.Sc. in Web Development and Design in Web Development Should Be a Third Level Degree. This idea is particularly interesting because it comes from the Lead Software Developer in […]