Course structure and modules
Course structure and modules
Curriculum of the Bachelor of Computer Science
The recommended structure of the Bachelor's programme provides for five modules per semester. Studying the basic and advanced modules according to this plan is recommended, as the order of the modules in this plan takes into account content dependencies between modules.
However, the assignment of the modules to the individual semesters is not fixed - especially in the case of the accent modules, it may turn out that a different, individual sequence makes more sense. The programme advisors will be happy to help you if you need to deviate from this model study plan.
You can also find the module descriptions and event times of the computer science modules offered in the current semester via the module directory.
If you are not studying according to this study plan, you can contact the subject study advisor when having questions selecting modules.
Recommended study plan for first-year students from winter semester 2021/22 onwards
This study plan applies to students who start their computer science studies in autumn 2021 or later.
Notes
The coloured backgrounds have the following meaning:
Basic module (BM) 30 KP | Basic modules serve to impart basic knowledge. They must be heard by all students in the degree programme. |
Advanced module (AM) 63 KP | Advanced modules also convey important basics of the subject or mathematics and therefore also belong to the compulsory area of the degree programme. They partially build on the previous knowledge from the basic modules. In the elective area of practical computer science, you must take two modules from the elective area, e.g. inf010 Computer Networks, inf012 Operating Systems, inf017 Internet Technologies, etc. In the elective area of mathematics, you must successfully complete another mathematics module from the corresponding elective area. |
Accentuation module 39 KP | The accent modules (AS) allow you to give your degree programme an individual focus. They can be used (in the Bachelor of Computer Science) for the study of specialisations, but can also be freely compiled from the catalogue of accent modules of the degree programme. In the (very broad) elective area of Computer Science Culture and Society, you must take a module (6 or 9 CP), for example the module inf851 Computer Science and Society, in which you discuss the effects of computer science on culture and society. |
Professionalisation 18KP | Professionalisation modules focus on the acquisition of job-related, practical knowledge and skills. On the one hand, this includes practical modules (software project and internship in computer engineering) as compulsory modules as well as modules tailored to the degree programme and therefore strongly recommended (soft skills). On the other hand, you also have the possibility to choose modules from the entire range of the professionalisation area, whereby subject modules (from Computer Science or from another, admission-free subject) may also be chosen upon application. |
Practical modules 15 KP | |
Bachelor's degree module 15 KP | In the bachelor's degree module, you write your bachelor's thesis. You will be individually supervised by a teacher in an accompanying seminar and finally present your results in a final colloquium. |
Modules from computer science
The Bachelor's programme has a standard period of study of six semesters - in order to complete the programme in this time, the study plan of the Bachelor's programme in Computer Science recommends taking five modules (with a total of 30 credit points) per semester.
- Basic and advanced modules provide you with fundamental basic knowledge in the first two years of study. These modules must be attended and passed by all students in the degree programme.
- Five elective modules (30 credit points) can be used for accentuation . Here you can choose any five courses from the range of computer science courses or follow the study recommendations for a specialisation. These modules can also be used for crediting a subject already studied to the extent of 30 credit points.
- In the elective area of practical computer science, you will deepen your knowledge in two modules of practical computer science and can choose from several modules, for example in operating systems, computer networks or Internet technologies.
- In the modules of the elective area"Computer Science, Culture and Society", you will take a critical look at the social effects of information technology and the digitalisation of society.
- In the compulsory proseminar, you will be guided to develop a scientific topic, write an article on it according to scientific criteria and present your findings in a scientific lecture - an important preparation for the final thesis.
- In the research seminar, you will deepen your skills for an independent, scientific approach in computer science. The research seminar can also be chosen in the same subject area as the intended final thesis and thus enable a more in-depth treatment of the Bachelor thesis topic.
Professionalisation area (General elective Courses)
The professionalisation area comprises 33 credit points* and the Bachelor's degree module (Bachelor thesis): Here you have the opportunity to deepen your subject-specific competences and to combine them with interdisciplinary content:
- In the practical modules (15 CP) "inf004 Software Project" and "inf202 Computer Engineering Lab" you gain experience in the implementation of software projects as well as in hardware design. These modules are mandatory in the Bachelor of Computer Science.
- In the other modules of the professionalisation area, you can choose from a catalogue of modules: The choice includes language modules as well as modules in philosophy and some other subjects. They can also be replaced by computer science modules.
Theory or practice?
University degree programmes - especially in engineering - have a high theory-based component. This is because a solid basic knowledge is necessary in order to be able to correctly classify and evaluate the developments that lie ahead in the future. If you only expect from your education to be trained in the tools commonly used today by certain companies, a (university) degree programme would be the wrong choice.
As you will learn basic methods, concepts, theories and structures in your university study porgramme, it is easier to keep up with future developments, because these do not become obsolete as quickly as concrete application-related tools. In computer science studies, therefore, vendor-independent, fundamentally "true" principles and fundamentals are taught and currently available software tools or programmes are used to illustrate certain principles.
Practical and applied relevance of the computer science modules
The study plan of the Bachelor of Computer Science shows that all our basic modules are also relevant for practical applications:
The mathematics modules (discrete structures, analysis, linear algebra, special mathematics (= numerics, analysis II or statistics) as well as the basics of theoretical computer science (logic, formal languages and automata,...) are strongly foundation-oriented modules.
- Mathematics not only provides formalisms that we urgently need in computer science to be able to express ourselves precisely and concisely. It also exercises logically structured and abstract thinking.
- The theoretical modules are a basis, for example, for circuit design, i.e. technical computer science, but also for programming languages (practical computer science) and many other applications.
- The two modules on technical computer science deal with how computers are constructed and which aspects need to be considered in hardware design. This is practically underpinned by the practical course in Computer Engineering in the 4th semester, where a small hardware design is actually run through, Lego Mindstorms robots are programmed, a little soldering is done and more.
The Practical Computer Science modules first provide a solid foundation in software development:
- In the the moudles Programming, data structures (PDA) and algorithm and Object-orientes Programming and Modeling (OMP), students learn a programming language (currently Java) but also about different types of programming languages and their general concepts.After these modules and some programming experience, all our students should be able to teach themselves new programming languages (because they know what matters). Besides the topic Algorithms and Data Structures helps students to understand the complexity of programs: Porgrams should be processed efficiently and should also not require too much memory.
- In Software Engineering module students learn how to structure a large software project with many participants so that it is completed successfully and on time.
- Programming on a small scale (PDA and OMP) and on a large scale (software technology) is applied in the one-year software project , where a moderately difficult task is solved in a team of students. Here you also apply techniques that were taught in the Soft Skills module (see below).
The purpose of the other practical modules can already be seen from their names:
- Information Systems: In most applications, the appropriate storage of information in databases is an important functionality in a software system.
- and in the elective area „Pracical Computer Science”:
- Operating systems: Without them, a computer would not run. But how do they work?
- Computer networks: who would want to do without them (is there life without the Internet)? How do computer networks work at all? How is information transmitted? What problems can occur?
- Internet Technologies: Programming languages and technologies to script interactive web pages
The professionalisation area gives our students the opportunity to acquire interdisciplinary competences. The modules
- Soft Skills, in which students have the opportunity to become more aware of and specifically expand their general skills, attitudes and knowledge elements, so-called key competencies, and
- Informatics and Society, which encourages students to reflect on the changes brought about by information technology.
are firmly anchored in the study plan of the degree programme as an urgent recommendation.
All other topics and courses can be chosen according to personal interest, i.e.
- those who want to work more "hands-on" choose internships,
- those who want to do more independent work and research choose many seminars,
- those who want to know more about the theoretical background, modules from theoretical computer science, etc.
- Those who want to learn something specifically about an application area choose the appropriate modules (possibly from a specialisation).
You can also choose the topic of your Bachelor's thesis and seminars according to your individual interests. How practice-oriented a study programme becomes is therefore largely up to each student after studying the basic and advanced modules, although we support our students by offering specialisations as well as mentoring and study guidance.
All of our lectures are accompanied by exercises in which you are regularly asked to solve tasks related to the lecture material in a team. This makes it easier to engage creatively with the lecture content and thus understand it better.
And last but not least: We give many of our students the opportunity to work on projects as student assistants during their studies. Our research institute OFFIS, many regional companies and other areas within the university also offer many jobs for computer science students.
The opportunity to actually work practically on concrete research and application-oriented problems (and to gain experience and earn money in the process) is also taken advantage of by about 70% of our students.