Commentary

Can Academia Prepare Students for the Real World?

Note: This is skewed toward computer science courses. I’m interested to see if it is the same in other subjects.

I have long had a belief that universities are, by and large, completely out of touch with the real world. This may not count for all universities/colleges or their staff, but in my experience most work given is largely pointless and taught by lecturers that have never been out of the academic environment - meaning they have no idea how things happen ‘out there.’

As I said, this probably doesn’t count for all lecturers and professors, but most that I know have finished high school, gone straight to study in a university, perhaps undertaken research, then right on into lecturing. It is this lack of real-world experience that prompts them to issue work that does not help prepare students for the outside world.

There are certain things that I believe that all students should learn, and while they might not be used generally in the workplace, they are things they provide a solid grounding for future thinking. This kind of work is fine, but there is so much pointless work that doesn’t fall into this category, and I honestly feel sorry for those students that leave university with no concept of the workplace. I have spoken to several students in this exact predicament recently.

I have with me an assignment that was issued in an Australian university just a few weeks ago, one which I believe perfectly highlights this point. I will not reveal the university it was given at, nor will I reproduce the content in it’s entirety, but I will highlight a few points that I feel are, quite frankly, ridiculous.

To start, this assignment requires the student to write a CGI application using C/C++, and includes the line:

“…your CGI program will need to update a data file (using a database from C++ is simply too painful).”

Not good enough. The course that this assignment relates to specifically targets programming for the internet, and this is a third year subject - by this point, database usage should be mandatory for this kind of task.

“It is not common practice to write client-side JavaScript from scratch! Instead, you notice a web-site that has an interesting feature - view source.”

Sure, in a lot of cases developers don’t write code from scratch, but they also don’t steal code from other pages. Many developers write Javascript code with frameworks such as jQuery and Prototype (myself included), students should be encouraged to explore code reuse through these methods instead of just ripping code off other websites. It is a complete lie that it is common practice not to write code from scratch - a lot of work requires it.

“Your overall task is to write a report detailing how you completed the various subtasks listed below. You will be marked on your report.”

Yes, not marked on the work itself, but instead a report on you doing the work. Surely the marker can at least take a gander at the work itself.

“Your web should be composed of material that you might later wish to post to your Facebook or MySpaces web site”

Sorry, just had to highlight the poor grammar as well.

The ‘web’ must include:

“A section using an IFRAME to include a separate file that contains visitor comments presented in a HTML table. This separate file gets updated by the CGI program when a viewer submits a comment.”

There are so many reasons why having a CGI program that writes out a static HTML file that is included with an IFRAME isn’t the best way to do comments on anything. Again, this is a final year subject, this should all be dynamic.

“The comment should be checked to detect < signs, or the % equivalent, in case a hacker is trying to inject scripting code or other problematic data.”

With no explanation at all why this would be problematic, or indeed any pointers to how to better protect yourself from injection attacks.

“The file with the table of comments (’Comments.html’) should be created initially with simply the HTML markup for the table and its column headers. This file should be placed in a ‘data’ subdirectory of your public_html directory and should created with global write permission.”

Clearly, anytime that a web server needs to write to a file, said file should have global write permissions.

“Traditionally, [removed] involved a lengthy but easy exercise on Apache configuration … but things are just becoming too simple. On Windows - install Apache means double click on a file icon. Most Linux systems these days come with Apache pre-installed … it just isn’t fun any more.”

So instead of actually covering the setup of a web server in a course that’s description references ’server technology,’ the student is instructed to just use the defaults provided by install packages. It might be right that Apache and the like are far easier to install these days, but this doesn’t mean a student shouldn’t learn why the defaults set up by these installer scripts are the way they are, and how to change them.

I really could go on and on about this, but this assignment is comprised wholly of tasks that are either never used in the real world, or that point students in the wrong direction on practices that are used in the workplace. From what I have seen, this kind of thing is the norm rather than the exception.

I am not trying to start a flame war here, but instead to highlight the fact that students leaving university should be prepared to face life outside of academia. If you have had better experiences, please post a comment. Please also do the same if you agree.

10 Comments

speak up

Add your comment below, or trackback from your own site.

Subscribe to these comments.

Be nice. Keep it clean. Stay on topic. No spam.

You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

*Required Fields