Computer Science (by )

Is a Computer Science degree useful for people who want to have a career in software development? Many who work in the field come from physics, maths, or electrical engineering degrees, and do perfectly well. There's a widespread feeling that the concepts taught on computer science degrees, such as formal logic, proving the correctness of algorithms, functional programming, compiler theory, and so on are, at best, only vaguely useful in "real-world" software engineering, There's a sort of warm fuzzy feeling that knowing these things makes you a Better Programmer, even if you never use the knowledge directly, because you're more aware of the underpinnings of the tools you use. But I don't think anyone has ever shown a real benefit. With the obvious exception of people who go into niches such as compiler development, or writing tools for mathematicians...

Software development, in practice, is mainly engineering; often just following simple plans in obvious ways, like bricklaying. It takes skill to do it neatly and well, but not imagination or theoretical background. Familiarity with tools such as off-the-shelf libraries and standard system interfaces like POSIX are probably more useful than Prolog programming to most programmers. Debugging is, in practice, more valuable as a skill than using natural deduction to prove the correctness of algorithms.

But that's not to say that computer science is useless. Many modules in my computer science degree were engineering based, looking at practical topics such as building reliable distributed systems, dealing with concurrent access to resources, databases, networks, and operating systems. Those courses covered how things like TCP stacks are built, but that's necessary information to properly use them; information required by anyone who has to do a good job of writing network software. And the theoretical modules, on semantics, functional programming, logic, Prolog, and formal methods were useful to me as a special case of somebody interested in building new programming languages; a small minority of us nerds-among-nerds bury our heads in topics like continuation-based models of concurrency, and then emerge at the end with practical tools such as programming languages, threading libraries and distributed agreement protocols that the rest of the nerds can use to build applications with.

However, an electrical engineer will be taught programming, aimed at writing embedded software. It will be approached as an engineering activity, goal-oriented and pragmatic, emphasising requirements capture and verification of the result, and debugging. Issues such as working with the constraints of the hardware will be covered. It's no surprise that electrical engineers are widespread and successful in the software industry. But the electrical engineers who make it in software have had to do a lot of learning in their own time, and as such, it's harder to select them; they need to be individually interviewed in depth, rather than being rolled off the University assembly line pre-tested to a known standard.

So perhaps computer science degrees need to diversify further. Mathematics is often split into Applied and Theoretical sects; the distinction is sometimes arbitrary, with most topics straddling the divide in some way, but they are taught with different emphases. Theoretical mathematicians are better trained to go into mathematical research in academia or the more abstract R&D teams, while applied mathematicians are primed to dive into practical problems in statistics, simulation and optimisation. Perhaps we need something similar in computer science; I know that most degrees are modular, and mine let one end up with a degree title reflecting the specialisations one took, but I'm not talking about modules - I'm talking about a fundamental shift in emphasis in the degree, from day one. Everyone should start off with a year of practical software engineering, because even the most abstract theoretician needs to know how their work will be applied (and have the skills to build implementations of their theories, so they can be tested and then applied by others). Teach enough about compilers and computer architecture to give the student a head-start in optimising their code, without going into the detail required to build compilers or design CPUs. Give a nod to formal methods in showing how to design correct algorithms by informally argument.

Then in the second year and beyond, let it be down to modules; the software engineers can go into things like networking, databases, graphics, operating systems, high performance computing, distributed systems, and so on, depending on their desired specialisation. The theoreticians can go into abstract topics. And by all means, at the end, give them a Software Engineering degree if they did mainly software engineering modules, Computer Science if they did mainly theoretical modules, and something like "Applied Computer Science" if they did a mixture. Don't restrict student's choices, unless modules have an actual dependency on the knowledge from previous modules; but at the same time, give them guidance by explaining which modules will help them for different career paths. And don't force software engineers to spend their time learning abstract stuff they'll resent, in the vague hope that it will make them better programmers; it's no more useful than the electrical engineers working in software who had to sit through courses on filter design!

No Wage Slave (by )

I have been seeing some highly disturbing news reports lately about people being forced to work or having their benefits cut - the issue being that they are not actually being offered jobs but are being put on work experience in places like Tesco and Poundland. Then it turns out that the changes currently being made to things means that disabled people including the terminally ill could be forced to work and not just the eight weeks of unpaid work 'normal' job seekers are given.

Neither of these situations is good - they are basically slavery. I could have probably swallowed the job seekers working on community projects and charity shops as I don't think gaps in CV's or in the pattern of doing a job is a good thing unless absolutely needed but big chain stores? Come on!

Worse this will be reducing the amount of people they are actually paying to do the work! Anyway this along with a few other things has inspired another angry political poem by me which I am now going to inflict on you.

No Wage Slave
Bayed go down the commercial drain
Human rights u-bend
Send wraith of pain
Terminally ill aint catching
Government snatching
Chiold's under the poverty line
Finned for not being on time
Crime swine on the rise
Cries in the night of destitution
Prostitution of limb and maw
Leaving lives stretched and raw
Time sinking backwards
Reeling
Hear the keening
Ghosts that fought for freedom
In and out of this United Kingdom
Sever hand that feeds jowled
Gluttonous banker
Ignored by Political

But who steps to the fore
Who gives the ROAR!
Stop think!
This policy stinks

Don't blame the other
For running for cover
Your hand's are stained no better
And suicide teens don't get much deader
Youth terror
Masked error
As this economic storm is weathered

Sink swim
desperation cling
Shame filled
Pill killed

Work for no wage
The government say

I say
Stand up and be counted
Attrition is mounting

Write that damn letter to your MP
Do it electronically
Again I remind you of
They Work For You and My Society

Cos the word be mightier than the turd
Scream and rant
21st C slavery should be banned
Think you can't change that with words
At least try
Please tell me you didn't just ask why?

There will be audio versions at some point on Monday - baby currently keeps churping over any I attempt at the moment.

I feel this disgusting and is putting those most vulnerable members of our society at risk of being used. It is a highly dangerous step backwards.

Notye (by )

Notye and band Jean and Mary arguing about the ukele Alaric as Notye

SO I've had this idea of making Alaric pose as Gotye for photos but then this week I've had my younger cousins staying and the result is that we made a video of it!

It is a spoof of this Gotye song with elements of this cover by Walk Off The Earth. It is made with the laptop which had limitations but I think it's pretty good as a first film/music vid 🙂

Poetry and Art and Science-Art (by )

This last week has been quiet busy for me as far as my 'work' is concerned. First off I had a meeting on Saturday about taking part in another art exhibition like In Braille with Centre Arts in order to raise many for the visually impaired. I'm aiming for another piece of three dimensional textural science art.

Then on the Sunday I was performing (though briefly due to sick baby) at Art Tournament in Gloucester, a monthly event which is becoming a regular thing for me!

Then I have mostly been writing science and tech poetry as part of this years WoPoWriMo challenge. This involves actually checking facts for a start!

Then there has been organising supplies for Alaric's Cub pack so that they could practice sewing badges and buttons on.

And then I got a peak at the Cheltenham Poetry Festival programme and yeah! Look Look! I'm in it! (running kids workshops).

Then (yes there is more) I've been preparing for a Poetry Dragon workshop at a school in Cheltenham - thanks once again to Cheltenham Poetry Festival. (This has been a bit of a challenge as everything is still not unpacked!)

Then I have been designing a new craft writing workshop!

Knitted Alaric's Valentine present and am half way through little presents for the girls (we go for the concept of Family Love rather than Sexual Love for this holiday)

Tonight I am going to deliver a flower made of hearts painting/collage to Centre Arts along with some knitted hearts and other various craft bits of a valentines day nature. This is for their Valentine Exhibition which is on Friday 10th at 12:00pm until Thursday, February 16, 2012 at 5:00pm.

Then tomorrow I run the workshops.

And this weekend holds just as much arty fun plus it looks like my cousins are visiting for the half term 🙂

Oh and I finally managed to not only play F on the guitar but then to change to C7th and back again! W00t! Playing nursery rhymes to the girls is paying off!

WordPress Themes

Creative Commons Attribution-NonCommercial-ShareAlike 2.0 UK: England & Wales
Creative Commons Attribution-NonCommercial-ShareAlike 2.0 UK: England & Wales