Category Archives: Education

A Rough Guide to the Greek University System

Throughout my career I have had the pleasure of working with a quite a few Greek computer scientists and I have to say that I have found their skill level to be very good overall. I find a fairly higher than average ratio of female to male Greek developers, and I also find a lot of developers have gone on to study further and achieved PhDs. So it was in this vein that I decided it was time to look into what the explanation of this could be.

Greek Universities

Sunshine, Ionic columns and a high academic bar characterise the best Greek institutes for Computer Science.

Only the higher academic achievers study Computer Science

After completing the equivalent of A-levels (the Apolytyrion), Greek students who wish to attend university then take the “Panhellenic National Exam”, a national test that covers a broad variety of 6-7 subjects (making it much closer in variety subjects tested to a Baccalaureate than the more subject-specialist British A-level system). Each student is then nationally ranked and the students with the best scores get to choose what subject they want to study, at which Higher Education institute, naturally choosing the most demanding courses at the most prestigious places, and vice versa, the lowest performing students get the least choice of subjects to study, at the least prestigious HE institutes. In effect this makes highly demanding subjects like medicine and engineering (including Computer Science) at the very best universities the hardest to be admitted to.

Which means that in Greece not just anyone can choose to study computer science at University, and only the very brightest get to attend the very best institutes.

 

The Top Greek Universities for Computer Science are not “Universities”…

These are the top 3 Greek universities for computer science:

  1. National Technical University of Athens (aka EMP)
  2. Aristotle University of Thessaloniki
  3. Technical University of Crete

However none of them are strictly speaking “Universities”, the “National Technical University of Athens” is a polytechnic, as is the “Technical University of Crete”, and the “Aristotle University of Thessaloniki” has two parts to it, its Engineering Faculty which is a Polytechnic and the traditional “university” part teaches everything else. This is because in Greece Computer Science is often taught by an Engineering Faculty, and Engineering is almost exclusive taught by polytechnics, not by universities.

In general the Polytechnics give a more rounded, more practical level of Computer Science education and so, as with Poland and France, in Greece it’s regarded that Polytechnics Are Better Than Universities. As you can see from the three top universities above, somewhat unhelpfully its quite hard to actually tell from the institute’s name if its a polytechnic or a university.

Within these universities, different institutes have reputations for different things. So for instance the University at Crete has a long established reputation for being one of the top Universities in Greece but today it is considered that Computer Science is very well taught there. It has a lot of new equipment and seems to have attracted a younger set of professors who are more likely to have worked or taught abroad to teach the course. Athens EMP on the other hand is considered to have a more traditional approach to teaching its course, and an older set of professors.

Honourable mentions also include the University of Patras and the University of Ioannina for their computer science departments, and it’s also worth pointing out that there are many universities in the city of Athens, and as a whole they have a generally good academic reputation, although the National Technical University of Athens (aka EMP) is considered the best for Computer Science.

athena

Athens, named after the Greek Goddess of Wisdom (and War) has many good universities to attend.

Only Public Universities Are Recognised

In Greece although private Universities exist, they are not strictly permitted and the education you receive from them is not supposed to be recognised (for instance you would struggle to get a job as a civil servant with a degree from a private university). Only public universities are recognised, and these are considered the best. There are no tuition fees to attend university, although students must still pay for their cost of living, becoming a potential factor when considering Post-Graduate exams.

 

 

How do you know if it’s a good degree?

So apart from the name of subject that was studied and the name and type of institution it was studied at, there are 2 main ways to tell if someone has excelled at their degree.

One is the length of time they have studied. It takes a minimum of 4 years to complete a university degree and 5 years to complete a polytechnic degree, which is equivalent to a Masters, or MEng. As with private universities before, the Greek Government does not recognise 3 year degrees. However, students are allowed to retake exams if they don’t get the grade they were hoping for. Meaning that in general any degree achieved in under 6 years is considered to be very good. When students take longer than 6 years to complete a degree in Computer Science you can start asking questions as to just how many times each exam had to be retaken until the desired grade was achieved.

The other key factor is the final grade. Greek students graduate with a percentage mark out of 100, in a weighting that is pretty similar to the UK system. Any mark above 80% is exceptional, a grade above 70% is very good, and 60% is still good being treated in a similar way to a 2:1 is in the UK. The professors in Greece joke that no-body except God gets a 100% mark, and that 90% is for the professors only!

 

What’s covered in the Computer Science curriculum?

Greek students will tend to begin a course in computing or informatics or applied informatics, and will then specialise their studies in to areas like programming and software engineering in the second year. Because the first year covers quite a broad computing curriculum many Greek developers will have a basic foundation in areas like networking, infrastructure, electronic engineering, etc.

It’s very common for students to have completed some kind of academically related extra-curricular activity alongside their degree, such as contributing to post-graduate research or a complimentary programming project which will often be published in an academic journal.

Alongside main stream subjects, graduating in computer science will also involve studying mathematics to quite a deep level. There seem to be mixed feelings about this, some people say it doesn’t do any harm, whilst others believe the depth of mathematical competency that must be achieved in order to graduate is too much. Any for students who want to specialise in areas like networking, it is simply irrelevant.

What exactly is a Grandes Ecole and what does it mean?

The French University system has always seemed to be a bit of a mystery to me. Many of their Universities have roman numerals like II or III after the city’s name, looking at people’s CVs lots of people don’t seem to have even attended a university as part of their higher education in the first place, and it’s never been clear what the best universities for Computer Science in France are. So having recently secured a French developer a new position I asked him if he could help.

Those guys who went to “Big School” and not a “University” – they’re considered the very best

So I quickly found out that the developers who attended what looks like “big school” (where you wear your “big boy clothes”???) have actually attended the very, very best institutes for higher education that France has to offer, these institutions are so good, so well regarded, that they seem to be like “winning the lottery of life” or in Mafioso terms “becoming a made man”, they are the prestigious Grandes Ecoles.

Prestigious

The most important thing to know about the Grandes Ecoles is that it is highly prestigious to attend one. In fact it’s not just prestigious, it is Elite. And its not just a prestigiously elite system, it’s actually an Elitist system, but more about that in a moment…

The reason that the Grandes Ecoles are so prestigious that the whole fabric of French employment society is saturated, dominated even, by their presence. Established in the late 17th and 18th Centuries to educate and to give practical training to country’s brightest students in engineering and the sciences, these schools were so successful in generating the minds that the country needed to the lead their industries, they did not just survive Napoleon and the French Revolution, Bonaparte greatly expanded and formally christened the system “Les Grandes Ecoles”.

 

Elite

The developers who attended a Grandes Ecole will be part of the top 5% of academic students in their year, they will be the very brightest students their generation has to offer. Each Grandes Ecole is highly selective and the entry bar is made very high.

Elitist

Today, in the right business or social circles in France, it is a common question to ask when first meeting someone what “school” they attended. In France you need to have attended a Grandes Ecole in order to get into the higher echelons of management and company leadership in almost any company, and you will certainly need to have studied Computer Science, or mathematics or something similarly related, to become a developer in the most demanding software engineering teams in the Investment Banks or a Quantitative Analyst.

Getting in

Actually getting accepted to attend is very difficult, but naturally many kids (or at least their parents) are very keen to attend. The entrance examination is called the “Concours”, but certain Grandes Ecoles will only take the best of the best (see below) and others will only consider an applicant on the strength of their own exam.

Although some students go enter a Grandes Ecole straight after the end of High School, many students will attend a preparation course, called “Classe Preparatoire aux Grandes Ecoles” which consists of a 2 year course training the student in the way of thinking and approaching challenges they will need to successfully complete this form of higher education.

Interestingly the prevailing attitude seems to be that if you are smart enough to get in, then you will be smart enough to be able to complete the course, therefore there is little focus on final grades or overall performance as in with a British or Western University system.

One thing to note is that all this means that you have to be quite a competitive person to get in, which some people believe means that the Grandes Ecoles do not attract all of the brightest young technologists in France.

 

Once you’re in

Despite the lack of a big “final grade” that will represent your performance whilst studying, the course is “intense”. Courses are academically tough, they can be up to 6 years, and some are very industry focussed, making them very relevant to careers in programming; most courses however last for 3 years (some only 2 years).

English is widely taught at the Grandes Ecoles and in my experience most Computer Science students leave with a strong academic knowledge of the English language but can lack confidence with their verbal communication skills.

And once you’re in, you’re in

As you can imagine graduates from these institutions tend to be high sought after in France, and about 50% of graduates actually secure their first job before they complete the course.

 

Some Grandes Ecoles pay their students to attend!

That’s right, because attending some Grandes Ecole is considered a form of Public Service (such as Polytechnique and ENS) these institutions pay their students to attend (though they must take some form of state employment after their studies have been completed)! Otherwise its a VERY cheap form of Higher Education, most Grandes Ecoles have very limited tuition fees – just a few hundred Euros each year.

National Rankings

So without a final grade, there is actually no real national ranking system showing which of the Grandes Ecoles / Universities are the best. Instead it seems to be fair to say that France has a 2-tier system, the highly prestigious Grandes Ecoles and the rest, the Universities.

Interestingly, within the system of Grandes Ecole Computer Science is still regarded as a “new” subject and therefore not as pure as maths or physics, making it less highly regarded and less sought after as a subject to study by the very brightest students.

The best Grandes Ecoles for Developers

From my research here the best Grandes Ecoles for Computer Science:

  • CentraleSupélec
  • ENS (École Normale Supérieure)
  • Ecole Polytechnique
  • INSA
  • ParisTech (which has the largest student population of roughly 6,000 and includes “Arts et Métiers ParisTech”)
  • EPITA (“Graduate School of Computer Science and Advanced Technologies”)
  • ECE (Ecole centrale d’électronique)

 

Criticisms

The biggest criticism is that the system of Grandes Ecoles is an Elitist one. Its critics (found amongst both those who attended and those who didn’t) say:

  • the system tends to only draw students from the sort of middle class families who push their children to compete during their education
  • that France places too much weight on attendance (or non-attendance) and that this dominance over French industry means that it divides society
  • that the highly competitive nature of the whole system means that the system actually puts off some students and therefore does not train all of the very brightest French students
  • it’s an unfair system because the French State spends more per head on those students attending a Grandes Ecole than any other form of higher education, who of course comprise of the majority of kids attending university. Leaving the parallel French “University system” comparatively under-resourced, overcrowded and less well regarded by employers
  • it’s an “old fashioned” institution, that does not teach how to programming is actually practised today, and that the system’s focus on “Computer Science”, rather “Software Engineering” means that graduates can lack an ability to write a fully functioning application to today’s industry standard. The idea that a Computer Science graduate can write an algorithm but can’t “code”.

Xavier Niel and his “42” School

Finally no article on the French Higher Education system of today would be complete without a reference to a Parisian school for Computer Science that was set up in 2014 by the French Billionaire Xavier Niel called “42”. Its free, it has no entrance requirement other than entrants must complete a simple online logic test, continued attendance is assessed on a month by month basis, the education consists of a gruelling 24/7 work regime where students must learn to code or drop-out, team work is the key to success and executives from places like Google, Microsoft, Facebook and Twitter all seem to think its pretty good. It’s a totally new way of looking at learning to code and was founded on a philosophy of “The tougher you make it, the better they do”. Here’s a Wired article all about it.

A rough guide to the Italian University system

Or, “how to understand what your Italian developer’s degree actually means”

LDV with big data on his mind

An Italian academic with big data on his mind?

There are numerous Italian developers in London today, for many years there was a steady trickle but since the global recession I think its fair to say that that trickle has increased to more of a steady stream. Italian developers tell me they come to London seeking better opportunities, the attraction of working in a global city being one thing, but also being a part of the vibrant tech scene that we have here as well.

Speaking to my clients however, and there is not a great deal of knowledge in London about what the top IT universities in Italy are and how the system of final grades works.

How does it all work?

In a similar way to the system in Spain, in Italy it’s common to go to best University closest to your home but if you get outstanding grades then you might travel to a university further from home. So if you live in Genoa, and you’ve got good grades and a real passion for Software Development, its probable that you’ll want to go to the Milano Politecnico or the Politecnico di Torino.

In terms of the “best” universities in Italy, there are universities that are prestigious to attend and there are universities that teach Computer Science to a high degree of excellence.

Of the top IT universities for IT in Italy, there are 3 Politecnico’s :

  • Milano Politecnico (the largest technical university in Italy)
  • Politecnico di Torino (Italy’s oldest technical university)
  • Politecnico di Bari

And 3 other well established universities that have excellent reputations:

  • Universita’ degli studi di Pisa
  • Universita’ degli studi di Salerno in Fisciano
  • Università degli Studi di Napoli Federico II (the world’s oldest state university)

Rome has two top universities for IT, the Tor Vergata (a public research university located in Rome) and La Sapienza that are worth noting as well. La Sapienza is well-established university and has one of the oldest libraries in the world, it is also the oldest established university offering the Ingegneria (Engineering) type of degree.

The Politecnico at Bari is Italy’s has largest campus at 60,000 students, and has an international reputation for research. In my experience there are a number of excellent graduates with PhDs in big data related subjects in the UK who studied at Bari.

As with the British system of higher education there are a number of more recently established universities which are much cheaper to attend and have a lower entry criteria, and which are typically less prestigious as well. Interestingly however the Tor Vergata University of Rome was only established in the early 90s and has managed to establish a very strong reputation for the “harder” sciences of mathematics, engineering and computer science.

 An “Ingegneria” degree

The number one IT/Computer Science degree in Italy is the Ingegneria which is a type of degree offered by only a small number of Italian universities (mainly those in the list above). An Ingegneria degree can be studied for degrees in subjects such as Computer Science, Civil Engineering, Telecoms, Nuclear Power, Chemical Industries etc.

The “computer science ingegnere” are highly sought after and are generally considered to have a better degree than a graduate with a straight “computer science” degree.

Entrance Criteria

The entry criteria for the top universities in Italy involve entrance exams and achieving top grades at secondary school or scuola superior. All of the above universities have an entrance test on Maths ability, logistical properties and so on.

Final Grade

Graduates leave university in Italy with a score between 60 – 110, and may or may not receive a distinction mark on top, called Lode. Lode is the same as the Latin Laude or Cum Laude, translating as “with highest praise”.

Undergraduates complete their initial studies to achieve an initial mark of at least 60 (60%) and then complete a thesis (which can take between 4 months and 1 year) in order to complete their degree. Once your thesis has been handed in there is a final interview with a commission of professors, including the professor who assigned you the thesis. This consists of a presentation of the results of your thesis  (probably made using Powerpoint, for example) which is then follow by a series of questions about it. When you’re finished, you’ll be asked to temporarily leave the room, so that the commission can discuss and decide which grade to assign you). The final grade is the sum of your initial mark plus the result of how well you did at your thesis, meaning that in practice, very few undergraduates receive a final grade of 60.

Years of study

Degrees taken prior to 1999 took between 5 and 6 years. But today, Italian degrees follow a new system.

In the original system you needed a minimum of 28 exams (the majority of which were written rather than multiple choice) and then a face-to-face interview with a professor in order to graduate. It lasted 5 or 6 years and if you stopped after 4 years you left with nothing.

Since the reforms in 1999, and then further reforms in 2008 Students study for 3 years and then graduate with a laurea breve or a short degree, which is quite generic and doesn’t have a specialism. Graduates then study a specific subject (i.e. Computer Science) for 2 more years for a full degree and graduate with a Laurea specialistica or Laurea magistrale (depending upon the university).

Here is a handy flow chart showing how the new system works:

Newly reformed Italian uni flow chart

What has an Italian Computer Scientist studied?

Speaking to Italian developers already in London many tell me that there is still a high level of theoretical subjects covered and not as many practical courses as some would like to see (in the short degree) in the Laurea Breve. For example the University of Naples has a lot of courses such as Algebra, Physics, Maths, Algorithms etc but only has 6 or 7 exams regarding Web, programming languages and Software Engineering. This seems to be largely because many of the professors in the technology faculties actually come from a Maths or Physics background rather than a Computer Science background. In a Computer Science Laurea specialistica or Laurea magistrale the course is entirely focussed Computer Science. Many young Italians would also like to see English courses become part a degree.

A rough guide to Spanish Universities

OR “how to tell if your Spanish developer has gone to a good university”

Top Technology Universities in Spain

Recent economic unheaval in Spain has lead to a sizeable number of Spanish developers coming over to London. I find that Spanish developers have excellent web development skills, good experience with software development across the SDLC and good architectural skills.

But they also come with some with some challenges, the main ones being communication skills and a mystifying education system. It is also common for Spanish developers to have a Europass CV – which is a not very helpful in the UK market.

Sadly many Spanish developers come to the UK with excellent computer language skills but poor spoken English. A few employers are happy to take on a good coder (at below market average salary) but in today’s über competitive market the ability to clearly communicate with internal staleholders and the end user has never been more important. My only advice to them is to work as hard as they can upon their speaking and listening skills, ideally before they arrive.

The Spanish University system

The problem for a recruiter in the London market is that Spanish CVs don’t come with a grade for the degree they acheived and I think its fair to say that knowledge of which universities are the best for computer science or software engineering is low in the UK. Its got to be said that from my research the Spanish university system appears completely different from the UK system.

Much of this is because Spanish students tend, on the main, to go the university of their nearest big city, so there is not really a national “league of excellence” for higher education as Spanish universities are not ranked according to national performance in each subject. So instead we can say that the top universities are those situated in the largest city of each region.

The bigger the city, the bigger and better the University is

If pushed a Spaniard will tell you the two top universities for programming-based courses are Deusto in Bilbao and ICAI in Madrid. Both are private universities and – typically Spanish – both are run by Jesuits. These are prestigious institutions to attend and teach at a high technical level.

In fact, although a national ranking of Spanish technical universities does not exist, El Mundo (a well respected Spanish newspaper) has compiled a list here (you will need to use Google translate if you don’t speak Spanish).

A two-tier system

As in much of Europe, Spain has two tiers of university, a public tier which will generally be “the University of” each city and a private tier. Top students tend to go to the biggest public university in their region unless there is a private university nearby that has a renowned specialism.

Private universities come in two forms, the traditional, well established institutes and the newer type from the last 50 years. Many of the newer ones have a second rate reputation, and none have an entry criteria of academic excellence.

There IS a final grade

When asked, most Spaniards will tell you that you do not graduate with a mark and instead as long as you attain higher than 50% then everybody graduates.

However, I have found that there is a grading system. Or rather there are two grading systems, the established one and a new one introduced 2 years ago – both run concurrently.

With the established system there are four grades you can graduate with, Grade 1 (for which you receive a mark of 5-7 and is equivalent to an overall achievement of 50-70%), Grade 2 ( covers 7-9 and the according percentages), Grade 3 (9-9.5) and Grade 4 (9.5-10). So you can achieve the equivalent of a first class mark in the UK, yet receive a grade which is not distinguished from the same mark as a 2:2. You can also be in the top 5% of your year/class and still receive the same grade as everyone else. So it is well worth asking what percentage your candidate received.

The key indicator is TIME

Importantly there is actually no time limit on the length of time you study for and poorly performing undergrads can retake a course as many times as they like. So in Spain the main indicator of a “good degree” is not the grade achieved at a university with a good academic reputation but whether they attended the biggest university in their region and if they graduated within 4 years and no more.

Its difficult to actually differentiate any more than this on the strength of the CV alone and I would say that unless you can see that your Spanish technologist attended Deusto or ICAI I would skip the university part of their CV and go straight to the tech testing!

A rough guide to Polish Universities

I have been doing some digging around recently into which Polish Universities have a reputation for turning out good Java developers, and as a rule the top 5 seem to be:

  • University of Warsaw
  • Jagiellonian University in Krakow
  • Politechnika in Wrocław
  • Gdansk
  • Poznan

In general all Polish Universities seem to have a high bar and I think that is reflected by the generally good standard of Polish developers in the UK.

Most cities seem to have a University and a Politechnika, which are divided on the same lines as the UK – the former providing more theoretical focused courses and the later more technical ones. Saying that the Politechnikas have a much, much better reputation than the British Polytechnics, and often the two institutions vie for the top place in that city. So for instance the Politechnika in Wrocław has a better reputation than the University of Wrocław. Politechnika tend to run courses that are more “electrical engineering” based and will have resources like micro processor labs onsite.

The top university in Poland is the University of Warsaw. Its got a reputation for teaching its students core computer science concepts and quite a lot of its students go on to do a PhD in algorithms or the JVM or similar. During high school students take Olympiad exams and the highest scoring students get to choose which University they attend, and many will choose the University Warsaw, with those who don’t opting for another top uni because it is closer to home. Students at the University of Warsaw also tend to score consistently well in global competitions like TopCoder and IBM’s ACM-ICPC, often beating the USA’s prestigious MIT. This institution is not to be confused with the neighbouring “Cardinal Stefan Wyszyński University”, which seems to be the “Oxford Brookes” of Warsaw – a good university in its own right, but not at the prestigious level of the city’s main institution.

For Gdansk and Poznan there is apparently not much difference between the Universities and the Politechnika – each have good reputations. I also don’t know much about the Jagiellonian in Krakow, other than it very prestigious and many Olympiad winners also choose to attend.

On an aside, it is interesting to note that there is no major Polish tech company. Most countries today where computer programming is a strong industry tends to have at least one global IT corporation but Poland doesn’t. I suppose that’s because for the last 20 years Polish programmers have tended to leave Poland to build their career in countries like the UK or USA in exchange for higher salaries, a higher standard of living and a more international working environment. Today Poland is catching up on all 3 of those factors, which I imagine will steadily work to stop the “brain drain” and we should see a major Polish tech company appear as that happens. Putting my money on the table, I am going to predict one appearing in the next 5 years.

WTH is IIT?

Last night was Corcoran Lock’s first IIT night! If you know anything about IIT then you will appreciate that we had a pretty eclectic bunch turn up – and with lots of beer on the table we had a pretty good night too.

The best description I have heard of IIT is that it is the “ivy league” of Indian universities. It is an elite technology university, it’s very tough to get in and the technologists it churns out tend to be very good as well. As the Indian’s say “you fight to get in your whole life, and then they fight to get you”! Today there are 15 colleges, each one is about the size of a normal university in England, but for a long time there were 5 core universities: Kharagpur (the oldest), Delhi, Mumbai, Chennai and Kanpur. I think IIT-BHU (based at Varanasi) came next and so there was some banter last night with the guys from the original 5 universities saying that IIT-BHU guys are “wannabes”.

As with any institution they actually have quite a few sayings and terms specific to them. I heard some new ones last night but the best one I know refers to NIIT, which I believe is some kind of training college in India; “The difference between IIT and NIIT is the difference between heaven and hell.”

To get in to IIT to have to pass an entry test call a JEE (nothing to do with me!) and your score is called an AIR*, or All-India-Ranking as your score used to rank you against all of the other entrants in the country that year! Its quite interesting asking IIT guys what their AIR is… I’ve met numbers 47 and 13 so far.

I have worked with quite a few Java developers from IIT, both as candidates and clients, and I can personally attest that they are good performers at interview stage! Strangely though despite IIT guys being found in some pretty senior positions in the London financial markets (we had a CTO, a “head of” and number of senior dev managers at top financial institutions there last night), I consistently find that not many people have heard of IIT – which is nice for me because I get to tell them about it, but strange that not more people know about it. When you tell them that it was an IIT alumni who helped write the Java programming language they start to listen!

In the end the evening went on well into the night and it was good company with lots of good jokes. This is one of the things that I love about my job – and London – is that I get a little insight into a culture that comes from the otherside of the planet with out ever leaving the square mile.

* They must really like their TLAs (Three Letter Acronyms)