20 must see TED videos for Computer Science people

Masters in Computer Science collected and described 20 must see TED videos for Computer Scientists.  I  previously saw some of these, but it’s nice to have them all handy in one place.  If you prefer TED’s video player, click through to get the list.  I personally like YouTube better.  So I collected all these videos into a public playlist, which you can watch, bookmark, and share.

Continue reading 20 must see TED videos for Computer Science people

Education for IT

For a while now I am thinking and re-thinking the misalignment of the computer science education system and the real world needs of IT industry.  And it’s not only me, and it’s not only in Cyprus.  I’ve seen it myself of course, but also heard it from many people around the world.  There are not enough candidates to hire, and the quality of the candidates even coming out of the top schools is very poor.  It’s not rare to see a candidate who has no idea what a loop is, yet holding not one, but two bachelor degrees from both UK and American universities.

While I understand that there are differences from school to school and university to university, and that Computer Science is an academic discipline, not a practical tutorial for the programmer wannabes, I still think that there is something wrong with how computers are taught today.  And there is more than one problem.  Here are just some of those that I could think of:

  • There should be a balance between theory and practice.  Computer Science graduates should have some practical value, not only theoretical.  They should be able to assemble and disassemble a computer, configure a simple network, and write a simple program, at a very least.  Without that all their theoretical baggage is useless.  Or so I think.
  • Technology in general and computers in particular have evolved a lot in the last few years.  And they continue to evolve.  Academia is too slow to react to the modern world and something has to be done about that.
  • Academia is too slow in adoption of the new teaching methods.  These days pretty much everyone has a computer and access to the Internet.  Anyone can use Google, Wikipedia, and other excellent tools.   But those excellent are only a the beginning of the integration with the official teaching process, even though some of them have been here for years.
  • The world itself is changing.  Younger generations differ from the older ones quite a bit, especially in their attention spans, the breadth of attention, and requirements for feedback.   They have a bigger need to see immediate effect than we had, and we needed that more than our parents needed.  The world is getting faster, snappier.  And I don’t see a reflection of that in academia.

So we with all those things I was thinking what can be done and how.   I don’t have a solution for any of these problems of course.  I don’t know what will work and what won’t.  But one thing that I was fascinated to see, for example, was this interview with Sridhar Vembu of Zoho.  These guys in India see the problem and even think that it’s magnified for them with an even faster rate of development and with lower access of the general public to the good education.  And it is absolutely amazing how they went about solving the problem, experimenting, and also the results that they have achieved!

[youtube=http://www.youtube.com/watch?v=Zt5EMnATY_Q]

Via O’Reilly Radar.

Whatever happened to programming

Via this Slashdot post I came across an excellent blog rant – Whatever happened to programming (and the follow-up).  Subject in focus – modern programming, and how boring it have become (mostly).

Today, I mostly paste libraries together.  So do you, most likely, if you work in software.  Doesn’t that seem anticlimactic?  We did all those courses on LR grammars and concurrent software and referentially transparent functional languages.  We messed about with Prolog, Lisp and APL.  We studied invariants and formal preconditions and operating system theory.  Now how much of that do we use?

Of course, when a subject like that is brought up, it’s pretty much guaranteed that the web will respond with numerous discussions on if and how much of it is true, how did we get here, and how we can get out, and anything else remotely or not at all related.  And that’s just what happened.  You can read Slashdot or Reddit comments or Google for more.  But I think, if you do programming for living, you’d probably agree with the main point of the article.  And even if you won’t, it’s still fun to read.  Like this bit for example:

Especially, I have learned that anything that has “Enterprise” in its name is so incredibly boring that the people who use it had to shove the name of the Star Trek ship into its title just to keep themselves awake.

On the serious note though, working with mainly two programming languages – Perl and PHP, I see that there is indeed a difference to the “being boring” degree.  PHP is way more boring than Perl.   Surprisingly even with Perl being so well known for its CPAN – a huge archive of modules and libraries to use.   I guess it has something to do with There Is More Than One Way To Do It – motto of Perl.

Black people in science and innovation

It’s been a few times already that I heard the argument that “black people made no contribution to computer science“.  I’ve also heard a few alternative versions, which were less or more specific, varying from “African blacks” and “no innovations“, to “black women” and “no contribution to science“.

Depending on the overall direction of the discussion, variation of the argument, and sensibility of the opponent, it can be very easy or rather impossible to reason. For example, an argument like “there is not one black programmer in the world” is pretty trivial to destroy.  There are at least a few respectable Perl Monks of the black race.  Over the last few years, I personally have been in contact (IM, email, phone) with a few black programmers and system administrators.  On the other hand, a request for a name or a biography of a black computer scientist might be much harder.  I am not very good with names and biographies, and I don’t know many scientist by name at all.  Picking representatives of a certain race using my own memory is close to impossible.

So, I asked The Mighty Google for a few names and biographies, and it replied.  Here are a few links that I picked from the results:

I have to admit that I was a little bit surprised by the low number of results.  Finding the above weren’t very easy.  Also, many links were very outdated.  Sometimes I’d come across a quote that slowed me down before I could “sink it in”.  Here are a couple of such examples:

one quarter of one percent (.25%) of computer scientists are black

from the “Computer Scientists of the African Diaspora” page, which seems to be from the 1990s.

Throughout the United States, there are only 32 African-American computer science (CS) professors.

from the “A Model for Department Diversity” article, which was posted in 2004.

I think that the above references are enough to convince any sane person that both science and innovation have benefited from black people.  Whether the benefits were to the same degree as those of the other races is a totally different question.  I am not going to debate it now, but perhaps I will come back to it later.

(NOTE TO MYSELF for when and if I do: consider that most computer science innovation is happening in the USA [obviuos, but citation needed], and that black people make only about 12% of the USA population [Wikipedia]. )