Hi, Habr!
For two years now I have been studying the bachelor program in Computer Science at the Technical University of Berlin (TU Berlin). Today I want to tell you how my study is organized.
The cover of last year's StudienfĂĽhrer - a detailed brochure on how everything works')
Arrival
Until this year (winter semester 2018-2019) there was no competition for entering computer science. However, due to the fact that every year first-year students recruited a little more than 800 people (of whom less than a hundred get to undergraduate work, but this is a completely different story), and the number of university audiences is limited, the competition is still introduced, and now we are interested expect what will be the average points received.
Foreigners enter German universities with the help of the organization uni-assist, which acts as an intermediary between universities and applicants. After completing the necessary prerequisites (for example, language level C1), the newly-baked student can only pay a semester contribution of 306 euros, which includes an unlimited travel card for all types of Berlin transport per semester, library services, reduced prices in the dining room and other fees, and get your student . It should be worn with pride (and almost always, as it is also a travel card).
Features of the Berlin Education in Berlin
Training takes place in German, except for some modules. In English, sometimes there are presentations by teachers, other additional materials, lectures themselves, tutoriums can be provided (see below), it is possible to write an exam on it or at least get a translation of tasks for additional understanding. In general, it is strongly recommended that German still know and practice tirelessly. In my experience, in order to study technical specialties, there is enough of shaky knowledge upon arrival.
Study time is measured in semesters (and not in courses) and is not fixed at all. The average number of semesters for which students of my specialty finish their studies is 10, that is, five years. For comparison: the sample curriculum offered on the university’s website (see below) asserts that this is actually done in 6 semesters (no). There are two semesters in the school year: a winter one, which begins in October and ends sometime in March, and a summer one, starting in April and ending in August. The concept of university vacations is blurry - strictly speaking, they simply do not exist. There is a "time in which classes are not held." At this time, students take exams.
Actual progress in mastering the curriculum is measured in LP - Le eunungs
p unkte, grades, they are also called credits. 1 LP corresponds to approximately 30 academic hours. Now I am finishing the fourth semester and have already gained 75 LP (and after the exams in October there will be 96). For a successful bachelor’s degree, you need to dial 180 LP (along with your bachelor’s degree work). Itself bachelor costs 12 LP. You can start writing it when the total is from 120 LP.
Items are called modules. A standard module costs 6 LP. This module usually includes one lecture per week and one practical lesson per week. A small (only lectures and exam at the end) module costs 3 LP, an average (for example, with two lectures per week) - 9 LP. There are more terrible options.
With rare exceptions (for example, if only a limited number of students can enroll in a module) attendance is optional and not controlled at all. Students are required to come only for the exams they have signed up for, otherwise they will go for a retake or freeze (see below). As a rule, for the first two weeks everyone goes for everything, and at the beginning of the lecture one has to sit on window sills and stairs, but then the seats in the classrooms are gradually released.
Lectures are usually led by a professor accompanied by a prepared presentation. Examinations are also a professor and his research associates. It happens that the material is presented in such a way that it makes no sense to use anything to help in preparing for the exam besides these very presentations.
Lectures are usually accompanied by weekly practical classes (tutoriums), which are usually conducted by students who have already passed this module (tutors). If you are lucky with a splint, then this is the most useful element of learning worth attending if you want to take an exam and / or understand something. On tutoriums, they solve puzzles, which, sometimes, are relatively similar to those that will be encountered in homework.
At the end of the second semester, I myself tried to become a splinter on theoretical computer science, but I became nervous during a trial lesson. Yes, and yellow-headed freshmen are reluctant to take to teach, to be very honest.
To help foreign students (and for everyone), there is also a program of fachmentoriums (Fachmentorium): these are weekly classes, as a rule, as part of the modules of the first two semesters, in which material is additionally worked out. They are also led by senior students.
Also every week, tutorials have special hours when they sit at the university and are ready to discuss with their students everything that concerns them. Attendance of these hours almost always tends to zero.
Examinations (Klausur) are usually written and sometimes oral, but always cover all the material covered during the semester. There is not just a ticket, but even a list of topics. In this case, the unlearned and unworked will always come out sideways. As a rule, two written attempts and one oral are given for the exam, after the failure of which, as one teacher said, “You will understand your place in life” because studying in this specialty (as well as in others whose program has a similar module ) in Germany will be impossible. You can usually pass the exam (or retake) at the end of the current semester, at the beginning of the next one after the holidays, or when the module is offered again (for example, after a year). The maximum for (re) passing the exam is given a year after the first attempt.
Within each module, you can score up to one hundred points (depending on the specific distribution, 86 or 95 points will be “excellent”, less than 50 - the module failed, exactly 50 - the module was passed to the minimum mark). The modules themselves differ in the types of examinations: just written, the so-called “portfolio” and just oral. The first and last means that the points for the module are equal to the points for the exam, which, respectively, will cost a maximum of 100. At the same time, during the semester, it happens that you still have to pass mandatory homework assignments, the results of which become an admission to the exam. “Portfolio” means that the results of homework and / or intermediate exams during the semester (this also happens) are counted in the final hundred. The final exam itself in this case usually costs a maximum of 50 points.
That is characteristic, for a score of LP the estimation for the module has no value. The student will pick up his LPs, approximating the cherished diploma, receiving at least 50, at least 100. Due to this, as well as the high complexity of the exams, the popular expression “Hauptsache bestanden” is popular, that is, “The main thing is passed”. However, the points for the module are still converted into a score on a five-point scale (1.0 - “excellent”, 4.0 - passed to the minimum score), from which the average score is calculated, which can play a role in admission to the first job or to the magistracy. Nobody wants to spoil it.
Modules and their content
Sample curriculum from the university site - unreal 180 LP in just 6 semesters (my translation)First of all, the modules are divided into compulsory,
voluntary-compulsory compulsory from groups to choose from and just to choose from. In the second place, all subjects that are relevant to the mandatory, are divided into four groups: theoretical, technical and practical computer science and mathematics. In the plan above, these groups are highlighted in different colors. Subjects simply to choose from can be any of those represented at the university: from the fundamentals of nuclear physics to Gender Studies and foreign languages.
You can take modules of any kind, when and as long as you like, if they are taught in this semester. Very rarely, it happens that for admission to the exam you need to pass something else (for example, “Mathematical analysis II” cannot be passed if “Mathematical analysis I” is not passed), but nobody forbids just visiting couples.
The first semesters are traditionally reserved for compulsory modules. With the increase in complexity by the third and fourth semester, less than half of those enrolled remain.
In the very first semester, most of the students, of course, focus on programming. Within the framework of the “Introduction to Programming” module, using the example of the C language, we study various simple algorithms (for example, sorting), the language itself, and other tasks. Homework - at the Faculty of Informatics is the cornerstone of learning - is given weekly to a special online platform for testing through automatic tests. The “Computer Structure” module from a technical informatics group in parallel introduces assembly language so that first-year students do not relax.
By the way, about homework: they are almost always group. It is very important in the very first weeks to make friends or even acquaintances on whom you can rely and with whom it will be pleasant to work (or not - also experience).
In the following semesters, they are quite cheerfully learning Java along with algorithms and data structures and not only the databases in the company with SQL, Haskell as part of their introduction to the new programming paradigms and Python on the brainwashing Computational Methods.
In higher semesters, it is prescribed to take at least one module from the section “Practical Programming Workshop”. These modules without evaluation consist of group work on a project on a given topic and its presentation at the end of the semester. As far as I know, the programming language is optional. From this group, I personally plan to take the module "Intelligent Software Systems".
Sometimes teachers of practical modules are gracious and include only the theoretical part of the material in the exams. However, often we have to “program” on a piece of paper.
Mandatory modules on technical informatics, as a rule, include C programming and a large amount of information on how computers are arranged, processes, memory, distributed systems, and other relatively tangible things.
A lot of attention is paid to theoretical informatics at TU Berlin compared to the programs of other German universities. Unfortunately, with the exception of “Formal Languages ​​and Automata” in the first semester, their teachers, who structured and supplied the material in a very original way. For example, as we were told with aplomb, “Logic” is not taught anywhere like we do. This led to the fact that relatively trivial things and tasks were almost impossible to compare with textbooks and the issue of Google.
Modules in mathematics are considered the most complex. More than half of those who donate regularly fail them, although they don’t represent anything special. Unless, students of computer science, for some reason, are obliged to take matane and linear algebra on the same day with a short break between the two parts. And, failing one, they fail everything, although they are different modules with different teachers, which can even be taken in different semesters.
In general, in almost all subjects, the material is structured so that every week we study and work out a new topic. Quantitatively, this is very, very much, one cannot count on an empty boltology on pairs. It is necessary to get into the educational process from the very first week, to clarify incomprehensible moments on the spot - otherwise problems grow like a snowball.
There is practically no brief repetition of the new semester (subject) covered at the beginning: for example, the “Computability and Complexity” module from the group of modules on theoretical informatics begins exactly from the point where “Formal languages ​​and automata” ends, namely, on the Turing machine.
Another example: the basics of the C language are studied only within the framework of the Introduction to Programming course. If a person comes without initial knowledge on, for example, “Programming Operating Systems”, where in the first homework, among other things, it is necessary to implement the priority queue (without forgetting about the correct allocation of memory), he will be advised to watch tutorials on the Internet and start working (real happening).
The complexity of programming tasks (and not only) as a whole always grows exponentially. If my friends with the specialty Engineering management by the end of the Introduction to Java module find it difficult to define a class constructor (yes, this takes place before the end of the semester), then local hell begins in the second week. And it is beautiful: learning by doing in all its glory.