Learning Computer Science…

Collège Calvin – Aile Sud – © Creative Commons

When I was a teenager, the question of my future career came up, so I ended up trying various things, talking to various people. I cannot say that this was a very structured experience, or that I came out of it with a clearer understanding of the world and my future, which was generally far in the future, and after my military service, which I was really not looking forward to, the cold war was not over then. While I had an affinity to computers, I tended to lean towards biology, mostly because the people I saw involved in it where cool in a geeky way that appealed to me.

I was also in a high-school track focuses on latin, because these were the days when people though that learning latin was important for everything and could be a blocker for certain university paths like medical science, not that this was clearly spelled out, the school system was involved in so many parallel reforms that I suspect nobody really knew. Those way the days of outdated and incorrect informational brochures…

Still I spoke to some guys who were doing real work with real computer. I don’t remember much of what they say, as they spoke mostly on how the work was done, and not so much on the computing part, I certainly understand why they did that now, but certainly did not then. The one thing I remember is saying I was excited about the new thing, that is graphical user interface, and the guy calmly explaining that this was irrelevant, not needed by the industry, and, by and large, a distraction, and would never really catch on in the industry. His explanation was structured, logical, and I think very sincere.

In my heart (or whatever acts as substitute with teenagers) in knew this was wrong, and subsequent talks with other people involved with computers brought out a strange pattern: people in entrenched in computing considered PCs to be the true way, and everything else toys not worthy of the industry’s attention, while people on the sideline, biologist, hackers used different devices, I saw a Commodore 64 used in a lab to measure the growth of plants, teachers writing interactive decks to teach in , video manipulation with the amiga. None of these things were considered real computers. One of the advantages of going to a reasonably conservative high-school ( is in the building were Calvin himself taught), is that you get a good measure of what real culture or real art means, it means fossilised.

Université de Genève – Aile Jura © Creative Commons

In the end, I did the army and went to the university, where in spent a seizable amount of time in a karate-kid state, trying to learn math and to see the relationship with karate computing. I also spend an sizeable amount of time being told that the languages I had learnt (Basic and Pascal at that point) were not real programming language, and that in the future we would all use so called high-level languages. The Ada compiler would crawl to an end, the Lisp interpreter segfault and crash, and on the sidelines I would learn to compute real stuff using Fortran and do actual code that did stuff in C. In parallel I learned how to code for the Macintosh in Pascal.

The educational system is obsessed by not giving out knowledge, but meta-knowledge, i.e. not to teach stuff, but to teach how to learn stuff by oneself, while this sounds great in theory, it is also very disempowering. Learning how to actually do stuff, read english or be able to write some program that actually does stuff is very empowering and motivating. That is something I did on the side, and all those in my class who did not do such things tended to wither on the side, overwhelmed. Unsurprisingly, attrition rate was horrible and it still was when I was teaching, a few years later.

Meanwhile the world had moved-on and entered the golden age of the Windows machine, internet had started spreading, Apple was all but dead, the boom was on, and I decided to start a PhD. One of my main problems during that time is that I was supposed to work on distributed database and simulations, but had little experience in interacting with the internals of such large systems, and of course they were not written in a high-level language, or documented with , so again I was overwhelmed.

Somehow I still managed to finish my PhD, and also did some amount of teaching, with the same themes coming again and again:

  • We need more people who understand computers, as our society is relying more and more on that technology.
  • Computer science is so machine-oriented it is dehumanising, students should be forced to do some humanist studies.
  • Why are there so few women in computer science?
  • Kids those days, they can’t really understand computers! they only used a X and not a real Y.
  • Do not worry, in five years the school will implement program X that will use the platform everybody was using five years ago.
  • User interfaces/networking/security/fault-tolerance are not really important, real computing systems are used in condition where those things are irrelevant.
  • Why teach computer science? all theses jobs are going to be outsourced to India/Pakistan/China.
  • Today’s young people were born with a gaming console/personal computer/smart phone, they understand computers intuitively, no need for all these courses!
  • We don’t need computer scientist to teach computer science, we prefer to rely on Math/Physics/Biology/wood-working/Gym teachers, as they already know pedagogy, and you know, and good teacher can teaching anything.
  • Why are there so few people with computer skills?

And so on. My best answer to half of theses conversation themes are the other just the other half of them. The big irony, of course, is that I’m mostly coding with the same class of tools than when I started, Python has replaced Basic, and C++11 has replaced Pascal, most of the grandiose changes predicted for computer science itself have not really materialised, the computing platforms have been rolling over at a regular place, mini-computers displaced by micro-computers, who became PC, who morphed into laptops, which are being replaced by mobile phones and tablets. Society in general does not have the slightest clue how these things work, but then, nobody understood how an analog TV worked, mobile phones are corrupting society like Radio, TV, Video-games did before. Sociologists, politicians, teachers are doing their thing…
I’m on a horse

Collège Calvin, Aile Sud © Nautica Shades – Creative Commons Attribution-Share Alike 2.5 Generic
Université de Genève, Aile Jura © Alexis Rivier – Creative Commons Attribution-Share Alike 3.0 Unported
 Only metaphorically.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.