When I was little, the only job I was willing to consider was building houses. In fact, it wasn't really important to me if the piles of bricks I put up would be for a house or not; the purpose however, was to see a concrete outcome out of my work. Still, when I started playing with a computer like every other kid, I changed my mind rapidly. The computer immediately attracted all my attention; a black box and a screen appeared to me very mysterious and seducing.
I was done with the games pretty soon. What I then wanted was to do the programming. I wanted to be the one giving orders, not the other way round. I started learning on my own using fairly primitive programming tools in BASIC, and then in Pascal. With hindsight, I can now see that my interest in building something concrete and in programming are two drives that have been important in guiding my career choices.
When the time came for me to go to college in my native Italy, I chose a public Institute for Industrial Technology ( Istituto Tecnico Industriale Statale) the I.T.I.S. Galileo Galilei at Conegliano. The good thing about these institutes (for pupils between age 14 and 19) is that they give you the chance to study generic techniques for 2 years before choosing what you really want to specialise in the next 3 years, such as mechanics, informatics, or chemistry.
Mathematics, for Making Things Work
During these first 2 years I learnt the importance of mathematics, not so much in getting good marks but for its role in making things work. Even the most common devices that we use are based on mathematical concepts. For example, the music engraved on a CD is transmitted through our equipment because somebody wrote a mathematical model of audio frequencies for it. Moreover, the larger the devices, the more mathematics you need to make them work.
When I chose the discipline I then wanted to specialise in, I was influenced by the friendships I had more than by anything else, and went for mechanics at the institute. Meanwhile, I kept programming by myself, inventing small problems only so that I could solve them. I think now that these were really simple, but still very useful for learning how to tackle common problems you encounter in computer science.
I soon discovered that programming is what I wanted to do for a career. That is why I changed institutes, going to the I.T.I.S. J. F. Kennedy at Pordenone, specialising in informatics. There, I started learning how to handle computers and dominate them. During those years, I learned how to use operating systems such as DOS, Windows, and a little VMax, as well as do some programming, mainly with C/C++ compilers and 8086 assemblers, but also a bit of Java and Prolog, Standard Query Language, and a couple of graphic tools for Windows. This is how I discovered very quickly that many mysteries in computer science are nothing more than numbers that give answers to questions.
The good thing about this institute was how it emphasised the connection between computer science and electronics. Programming alone is not sufficient in this field. The computer is always connected with the world, at times only through a screen, at others through a multitude of other devices. You only have to consider its connection with medicine, mechanics, and every other discipline to understand the potential applications of computer science. This is when I really understood that informatics isn't just about sitting in front of a computer, wearing glasses with thick lenses--it is a powerful instrument with an unlimited potential.
To combine computer science with my wish to do something concrete, I registered in a course in engineering and computer science in 1997 at la Universitá degli Studi in Padua. The aim of this well-established institution is to produce people who are flexible enough to be able to do everything in this field. Of course, this approach may make it more difficult when you actually want to start working, as you have no real experience, but the idea is that you can learn practical things very easily once you master all the theory.
In any case, during my first 4 years of university, I never saw a computer. I didn't need it for my studies and didn't want to dedicate the little free time I had to a computer. This is how I reached my fourth year, with a good theoretical preparation but no practical knowledge of programming, all I knew in this field was what I had learned previously at I.T.I.S.
I chose to specialise in industrial control and especially in the "theory of control" to add an even greater focus. It is not easy to explain what the sub-discipline of "control" is in the field of computer science. The fact is that control can be applied to everything, not only to industrial processes; thus every device, even simple ones, that has something automatic requires a control unit. As a consequence, the few subjects related to programming that my university offered were not even required. Even then what I liked wasn't so much the idea of working with theorems, but I was seeing in them the possibility of using programming for concrete enterprises.
To complete my degree in engineering, I had to do a final-year project of 6 to 12 months' duration at another university, so in 2002 I left Italy for Spain. Certainly, this choice had something to do with the sun and the prospect of learning another language, but also with the desire to study at a European university. When I say a European university, what I actually mean is, as a student from Padua, a university far away from Italy--with a great campus, labs full of computers and equipment, professors available and smiling at you ... as well as one somewhat different. Although I wouldn't say that education is necessarily better in Spain, it is different from that in Italy in that Spanish schools generally have more resources and equipment.
I found in the Universidad Politécnica de Cataluña in Barcelona all I was imagining and indeed looking for. I started with a year full of practical experiences and other small projects, with deliveries of equipment or software I helped create every now and then, and little, very little, theoretical studying. All these were necessary for the corresponding Spanish diploma as well, as courses are organised here in many modules with short projects.
I then finally started my final-year project for my university in Italy. I am working on how to control a small indoor dirigible remotely, that is, without connecting cables and with only the help of a computer and camera. I am designing the dirigible's control system and its connection to the PC. The system runs on a Linux platform, an operating system that is very stable when compared with Windows, but, more important, it is free (open source), although a little difficult to use.
The overall objective of this project is to use this dirigible in a laboratory that will be remotely accessible to students. They will be able to get connected through the Internet and perform a control task, with the possibility of choosing the control parameters themselves and seeing directly the resulting behaviour of the dirigible in real time thanks to the system of cameras. They will be able to do the task as many times as they want, without having to book a time, and without teachers' having to give practical lessons.
This is less expensive for the university and a better use of resources, allowing extra money to be spent on projects that require more teaching. This is a project that I would never have managed to find as easily in Italy because projects tend to be less applied there. You often find yourself studying a subject that is quite difficult, and if you find a solution, you're unlikely to have the opportunity to try it out in the real world.
This is also a project that is finally allowing me to relate all I have learned before: electronics, a bit of image processing, a touch of elementary mechanics, and some programming--things I had left aside for quite a while to dedicate myself to my studies and that now allow me to link everything.
It is now time for me to think about the future, inside or outside the university. From what I have seen, the university is rather useful for learning, and I like it for that, but on the other hand, working for one means a constant fight against the lack of money and resources. I like practical applications and believe that working for a company would be better suited to my strengths and qualities.
In companies also, technology and research require money, sometimes badly spent, but they do require some standards as well. Thus, if I were working in such an environment, I would also keep learning, which is another motivation of mine. I don't know what job I will find, but the good thing about control and computer sciences is that they can be applied in almost every field. I think for me it will be more a matter of selecting opportunities than favouring one field over another.