How to teach computer science in Europe (and in the Czech Republic in particular)


    After reading the topic about the educational process at MSTU. Bauman , I decided that I also have something to tell on this topic. I studied (in fact, still formally studying) at Charles University in Prague at the Faculty of Physics and Mathematics (at the Department of Informatics) and, I think, many, not only those who are thinking about studying abroad, will be interested to know what foreign education looks like for future programmers.

    Since I studied at only one university (although I talked with students from different universities from different countries), I can only tell about it. However, the system of almost all European higher education institutions is approximately the same. So I hope that this topic will help those interested in creating a general idea of ​​how it all works there.


    Disclaimer: I acted for a long time and since then something could change.

    To enter a Czech university (even such a pontoon as Charles University) for computer science is very simple. The competition here is about 2 people per place, and you can apply to many universities at once - therefore, some students go to the exam just “to see people, to show themselves”, and an effective competition will be somewhere around a person in place.

    The entrance exam itself is passed in three subjects - physics, mathematics and computer science, and regardless of which department (physics, mathematics or computer science) a person enters. The worst result of the three is not counted, that is, one exam can be completely failed or not taken at all (I didn’t go to physics), and this will not affect the result in any way.

    The exams are quite simple and typical. For example, an exam in mathematics is to solve a simple trigonometric equation, some simple planimetric problem, a logic problem like “Masha and Dasha have 5 apples, who stole the sixth apple?” or rebus and something else. In computer science - for example, to answer the question "How many stars will this program display?" (without bells and whistles). There are 4 such tasks in each part and 90 minutes are given to solve the exam.

    Still there is no cripple on admission. And tutors are not accepted. And if the latter is explained by low competition, there is no blame (or almost no) even in those faculties where the competition is about 7-8 people per place (in the Czech Republic this is, oddly enough, all sorts of languages ​​and political science).


    If entering a university is very simple, then studying here is not easy, and somewhere around 60-70% of students do not finish their diplomas.

    The system here is quite pleasant - three attempts are given to pass each item. If after three attempts the student has not passed the subject, he can write it for himself the next year and he will again have three attempts. A total of 6 attempts to surrender each item.

    On the other hand, if a person has not passed an object that was mandatory for 6 attempts, then he will be expelled from the university. Or if you have not scored a sufficient number of loans, they are also excluded. With all the liberal requirements for gnawing granite, science is excluded here quickly, clearly and without problems. To convince the dean not to exclude is probably possible, but a very (VERY) good reason is needed.

    However, in order to be excluded, one must really very desperately score for studies. Well, even the one who was expelled has the opportunity to do it again and count automatically those items that were passed on "excellent" and "good."

    Items, Schedules

    There are several programs on computer science - something like an analogue of departments in post-Soviet universities. “Theoretical computer science”, “Programming” and “Databases”. For each program, there is a list of compulsory subjects (this includes matan, algebra, programming, algorithms and all that), a large list of semi-obligatory subjects (they don’t need to pass everything, just collect the required number of credits on them - usually you need to choose 3-4 subjects from 12 to your taste) and free subjects (it can be any subjects that are studied at the faculty - I have one of such subjects, for example, “History of Physics”). Mandatory subjects must be passed all. You must also pass part of the semi-mandatory.

    Since the student can choose for himself the subjects to his taste, then, accordingly, he can draw up a schedule for himself that is convenient for him. And to study (except compulsory) subjects only those that are of interest to him. The degree of freedom here is quite large. Some people use it (they choose the most “free” items for themselves), but there are quite a few, according to my observations.

    Credit training system

    At our university, everything is built on a system of loans. This means that each student, in order to transfer to the next semester, must collect some amount of credits per semester. Usually this number corresponds to somewhere around 40 hours of study load per week - 1 hour of classes per week = 1 credit. Credits are accrued for the exam or credit (if the subject does not have an exam). Credits can be accumulated “in reserve” - pass a bunch of exams in the first few semesters. This is very convenient for those who want, for example, to go to study in the Himalayas for six months or a year (there are some here).

    Level of training

    From what I can note (subjectively):
    1. Teacher level: 90% of Czech university teachers are at a very good level. Firstly, most of the teachers here are no more than 40-45 years old and they are very active in the scientific field, secondly they very openly and willingly help students with understanding of the material, thirdly, I have never had a problem in the exam “And why is the proof not as it was in the lecture? ” Always, when I did something as it was written in my favorite book, and not at lectures, the teacher sat and understood my evidence and rated only by fully understanding. And if my answer was correct, but not the same as he had, then this did not affect the assessment (on the contrary, many were very happy to see that someone had written something new).

      It should also be noted that in applied fields they are taught by people who really understand them. The subject “F #”, for example, is taught by a person who has developed this language at Microsoft and wrote a book about it. Programming in C ++ / Java / C # is taught by people who write in these languages ​​for a very long time, and they write real projects that earn real money. Teachers of the Linux Administration or Computer Security subjects only teach a couple of hours a week - and the rest of the time they work as administration or security specialists.

    2. Relevance of the material: Since programming is a very dynamic area, most items need to constantly update the program. Our university succeeds. They learn to program with us immediately in the C # language (there is also a C ++ subject and it is mandatory, asm is semi-mandatory). If we study the architecture of processors, we study using the Pentium 4 as an example, giving a couple of lectures to the differences from modern architectures like Core 2 at the level of microcommands. There are subjects “Programming for Android”, “Programming for iPhone”. In general, there are no problems with relevance.

    3. Training materials: There are also no particular problems with training materials. Firstly, there is a very good library of computer literature (in many languages). If there isn’t any very necessary book in it, then it can be ordered at the expense of the faculty (only teachers can do this, however). Secondly, the faculty has several well-equipped computer labs. You can connect to them remotely and use computing power (for example, leave all sorts of different vile things like neural networks at night).

    4. Diplomas and courseworks: Not so long ago I met with former classmates from BSU (Belarusian State University) and one girl told me how she was very tense and wrote a diploma in 2 weeks. I don’t know how much this reflects the real situation, really. At our faculty, graduates in the last year’s survey estimated the average time for writing a diploma at 500 hours. Of course, it can be like in a joke with the size of Indian condoms, when "you asked, but we measured it." But according to my feelings, for a diploma to be accepted here, recompiling 10 books is not enough.

      And there are no term papers here. But there are a bunch of required tests - when you need to write a project in C ++, a project in Java, a project in Haskell and Prolog (this was a required subject, by the way), a site in PHP with a database, a project in Flash, a utility for Unix in C ( at the server level with sockets or rlogin). There is also a compulsory subject “Operating Systems” - where we write part of the operating system for MIPS (it was horror-horror and two weeks of sleepless nights) - which is considered one of the most difficult for the entire course. In general, a student who honestly completed all tests will be able to gradually learn a very large bunch of everything and will be very well prepared for the real life of the programmer.

    Visits, groups and other administrative

    activities Since the university does not have such a thing as a “mandatory schedule”, the concept of a group is also very arbitrary. I was in my first year in group 31, but it absolutely did not mean anything - everyone went only to different subjects and I don’t even know what my “classmates” look like.

    In this place I should feel ashamed, but I didn’t visit the university as regularly as I could (why go to matan if all the same can be read in a book?). Once I even tried to pass the written examination work by mistake to another teacher (I saw the teacher for the first time on the exam and before that I did not know what he looked like). And this has never been a problem in the exam (the exam didn’t even hint at the question “Why didn’t I see you at the lectures?” But what about the lectures - the teachers didn’t even see me in practice). It does not make any difference if the student passes the exam well / writes the test.

    The optional attendance results in the fact that most students begin to work the course in the second or third. Personally, I have been working full time since my third year. This was somewhat reflected in my average score (from 4.72 from 4.60 on a five-point scale) and I’m studying for 7 years instead of the standard five (here I hide behind work, but a certain amount of gouging and a lot of interesting things in life besides the university also play a role - with if you wish, even working full time, you can finish it in a standard time). And this is a completely normal situation.

    I would also like to note separately that a student who believes that he was given some kind of assessment is unfair and the teacher did this only because he disliked him for something, may well write a statement and ask for a re-examination by the commission (usually 2-3 teachers which does not include “bias”). I did this once and this process is quite normal and sane - this is not considered a scandal or "he offends our colleague - let's give him a cradle!" It just happens that the student and the teacher did not agree on the characters - and in order to avoid offenses of the student, an external teacher re-examines.


    I think that local students have a slightly weaker base in mathematical and theoretical disciplines in general - we did not go through surface integrals and still a lot of everything that is taught in many post-Soviet universities (but I managed to study at BSU for a year and even knew what it was once )

    On the other hand, students here are not stuffed with a large amount of unnecessary or outdated material, and are not given to arbitrariness for teachers who themselves do not understand their subject and put "failure" for the fact that "not like it was at the lecture." Most of the teachers here are very healthy - both as people and as teachers. You can go with them to drink beer and generally communicate on an equal footing. And, most importantly, many of them are really working on real projects in the areas that they teach.

    Well, the main point is freedom and opportunity. Opportunities here are the sea - if there is a desire. The list of subjects that can be recorded and areas is very impressive. But no one forces students out of the stick - neither study, nor take advantage of these opportunities. No one will pull him or put the top three "for a sad look." And to get a diploma, you will still have to work hard - but such a diploma, at least, says a lot.

    1. What language is being taught?
      Training is in Czech. Written works and emails can be written in Czech English. In my first year I passed (due to non-fountain Czech) matan and algebra in Russian. I wrote the entrance exam with a lot of errors at the level "Here this formula came out and said that a solution was found."

    2. Do foreigners have to pay for their studies?
      Do not. Foreigners can study in the Czech Republic for free. On the other hand, the student covers the third-party expenses — housing, meals, insurance — himself. The cost of living is about 500 dollars a month. The optimum is about 700-800.

    3. Do Czechs offend foreigners? They say they don’t like Russians there.
      Do not offend. I have a bunch of Czech friends, a Czech husband, and for 7 years in the Czech Republic no Czech has offended me yet.

    4. Are foreigners given a hostel? And how to live there?
      The hostel give. It costs about 180 dollars a month, a room is usually designed for two people. The conditions there for the hostel are quite good.

    5. Do you get a scholarship?
      Do not pay. There is a scholarship based on the results of studies - but they begin to give it only from the second year, only to excellent students, and it is about $ 50. It is unlikely that it will be possible to receive a social scholarship or a scholarship of friendship of peoples or some other scholarship - the university does not give anything of this kind.

    PS. Full list of faculty items for this year

    Also popular now: