The description of the procedure is based on the PO 2022.

All those who started their studies before WS 22/23 have the possibility to change. The PO 2018 remains valid until 30.09.2026.

Structure and course of studies

The bachelor's degree is the first professional qualification and qualifies students for a subsequent master's degree. Therefore, it has both the goal to prepare for a profession as a computer scientist and to pave the way to a master's degree.

Computer science is diverse and constantly evolving - we cannot prepare for specific professions because we do not know what professions will exist in five years. Therefore, the bachelor's program in computer science at RWTH aims to provide broad fundamentals in computer science (and mathematics) that you will need later in most professions. This includes basic programming skills - prior knowledge of programming languages is therefore not mandatory for the computer science program. However, a solid knowledge of English is essential and can be demonstrated, for example, by passing the Abitur examination.

In addition, skills in abstraction, model building, problem analysis and transferability are taught in order to be able to apply the knowledge acquired to new problems in the profession later on.

Also, some specialization subjects can be taken according to one's own interests. Computer science is interdisciplinary - since professions for computer scientists are usually connected to a specific application domain, the specialization area is designed to be interdisciplinary so that you can see how computer science is applied in other fields while you are still studying. To facilitate entry into a later master's program, most specialization subjects have a strong research orientation.

Soft skills play an essential role both in a later profession and in a master's degree or academic career. Therefore, teamwork as well as scientific writing and presentation are also trained in the bachelor's program.

All this knowledge and skills are taught in the form of so-called modules. A module is a self-contained teaching unit and can be a combination of lecture, exercise, discussion hours and small exercise groups, but also a lab or a seminar. Most modules are concluded by an examination - usually a written exam.

Passing a module gives so-called credits. The ECTS (European Credit Transfer System) system describes the average workload of a student: one ECTS credits corresponds to an average workload of 30 hours. For example, if a module is worth 6 ECTS credits, a workload of 180 hours per semester can be expected for this module. As an alternative to ECTS, the abbreviation CP (credit point) is also used. In total, 180 CP are acquired in the Bachelor's program.

The study program follows a specific study plan and is divided into winter semester (WiSe) and summer semester (SoSe), whereby the winter semester begins at the beginning of October and ends at the end of March, and the summer semester directly follows and ends at the end of September. Each semester is further subdivided into the lecture period, in which the modules are heard or taken, and the subsequent lecture-free period, in which the examinations on the previously taken modules are usually taken.

Study plan

Although the following sequence is not obligatory, it is recommended to follow it, because especially in the first semesters, basics are taught. In addition, some courses in following semesters can only be taken if courses from previous semesters have been passed.

Color Legend

Practical Computer Science
Technical Computer Science
Theoretical Computer Science
Other courses

Proseminars, seminars and lab courses

Since places in (pro) seminars and software project labs are limited, they are assigned via a separate allocation procedure. This ensures that there are no double occupancies that take a place away from fellow students.

To participate in a course in the coming semester, registration and election via SuPra in the current semester is required. The timing of the process is determined individually for each semester and is aligned with, among other things, the lecture-free period (Christmas, Pentecost, end of lectures). The exact dates will be communicated by mail in due time before the start of the process. However, you can expect this to be the case in the second half of the lecture period.

Offers can be prioritized so that the distribution always tries to assign the highest priority if possible. In addition, courses can be marked to which an allocation should be made if the prioritized courses are full. The greater the flexibility, the more likely it is to get a place. Details of the process can be found in SuPra.

Note: System Programming Lab (PSP) is not offered through SuPra.


Non-Technical Elective (NTW)

According to the curriculum, one non-technical elective must be taken. This comprises a total of 4 credits, which can optionally be distributed over several courses.

Typical NTWs include language courses, mentoring as an NTW, or Project Leonardo.

The corresponding achievements are provided via participation certificates, which are either transferred to the ZPA by the lecturers or handed out to the students in paper form. If a participation certificate is issued in paper form, it must be presented to the ZPA so that it can be entered in the corresponding overviews of achievements.

With regard to language courses, it should be noted that the registration periods may be at the beginning of the semester or even in the weeks prior to the beginning of the semester. It should also be noted that for advanced offerings of the Language Center, participation in appropriate placement tests is required. The number of ECTS credits for a passed language course is equal to the number of SWS, unless otherwise stated.

Further information on recognition of a language course and registration in RWTHonline as well as placement tests can be found on the pages of the Language Center.

If there is interest in a non-technical subject that is not currently in the NTW catalog for the Bachelor of Computer Science, the following must be done:

  • First, the conditions for issuing a certificate of attendance must be clarified with the lecturers.
  • An application for approval of the desired course must be sent informally by e-mail to the Study Advisory Bachelor Computer Science, stating the course number (LV-Nr.). A confirmation will follow.

Elective modules

From the third semester onwards, 3 - 4 (18 - 24 CP) modules from the elective area of computer science must be taken in the bachelor's degree program in computer science. Apart from the restriction that at least one of these elective modules must be chosen from the field of Theoretical Computer Science, there are no further restrictions on the choice of elective modules. At the beginning of each semester, there is a listing presenting the elective courses offered in the current semester.
A (semester-independent) overview of the entire elective course offerings in the bachelor's program in computer science can be found in the Module Handbook.

Application area

From the third semester onwards, modules in the scope of 12 - 18 CP from the application area must be taken in the bachelor's degree program in computer science.
Any modules from different subject areas can be combined. The following modules can be taken in the application area:

Bookkeeping and Managerial Accounting

Decision Theory

Operations Research

Principles of Management

Biology for students of Computer Science and Mathematics

Inorganic Chemistry

Organic Chemistry

Computational Chemistry

Theory of Chemical Bonds

Fundamentals of Electrical Engineering 3 - Signals and Systems

Power Systems

Fundamentals of Integrated Circuits and Systems

Communications Engineering

High and Medium Voltage Switchgears

Manufacturing Processes for Silicon Based Microsystems

Information Transmission

Introduction to Acoustics

Fundamentals of Electrical Engineering 2 - Modeling and Analysis of Electrical Components and Circuits

Introduction to Mechanical Engineering
Simulation Methods in Mechanical Engineering
Communication and Organisation Development
Business Engineering
Energy Economy
NC-Programming of Machine Tools
Aircraft Systems
Medical Software Engineering
Rapid Control Prototyping
Automatic Control
Computer Assisted Surgical Technology
Electromechanic Motion Technology
Medical Engineering I
Factory Design
Engineering Mechanics
Medical Engineering II
Machine Design I
Bascis of Electrical Engineering for Mechatronic Systems

Practical Course in Mathematics


Complex Analysis I

Numerical Analysis I

Numerical Analysis II

Modules from the application area Medicine have to be applied for separately at the examination board Computer Science.

Basic Module Philosophical Propaedeutics

Optional Courses of Philosophy

Physics I for Students of Natural Sciences, Mathematics, Computer Science and Engineering

Physics II for Students of Natural Sciences, Mathematics, Computer Science and Engineering

Physics Lab


Communication Psychology

Cognitive Psychology

Media Psychology

Social Psychology

Bachelor theses

In the Bachelor's thesis, students must work intensively on a science-related topic in computer science over a period of four months. This work usually takes place at teaching groups of the Computer Science Department and must be supervised by an examiner from the Computer Science Department. The concrete task of the thesis depends on the teaching group where the thesis is written. The topic can be theoretically or practically oriented. Examples are:

  • A literature review and evaluation of existing approaches to a current scientific topic area.
  • An in-depth evaluation and analytical or empirical comparison of selected solution concepts.
  • The implementation, further development and evaluation of existing procedures and concepts of computer science for scientific analysis (evaluation prototype) or for didactic use (demonstration prototype).
  • Evaluating the performance of systems with respect to specific tasks and workloads.

The exact procedure for assigning topics and registering for the bachelor's thesis can be found in the FAQs.

Exams and exam registration

In order to successfully complete a module, the associated examination must be passed in most cases. This is usually an exam that takes place during the lecture-free period following the course. Examinations for courses from the winter semester take place in February and March, examinations for courses from the summer semester take place in July to September.
Two exam dates are offered for each module, but only one exam must be passed. The first exam date tends to be at the beginning of the lecture-free period, the second at the end of the lecture-free period. Concrete exam dates can be found in RWTHOnline from the beginning of each semester.
Students can register for either exam date via RWTHOnline. The registration period for the first examination date usually ends two weeks before the end of the semester and for the second examination date one week before the respective examination date. We recommend that you register for the first exam date; if you do not pass, this gives you the opportunity to still register for the second exam date.
In some modules, admission to the written exam must first be acquired in order to be allowed to participate in this exam. This is usually the achievement of a certain number of points in the exercises that are to be worked on during the semester. For which modules an admission requirement for the written exam must be achieved is specified in the module handbook. The exact nature of this admission requirement is determined at the beginning of the semester by the lecturer of the respective module.

Exclusion of Grades

When completing the program in the standard period of study, it is possible to exclude certain module grades from the overall grade calculation. These are then entered as "passed" on the final certificate and the grade values are shown for information purposes in a separate area. To calculate possible exclusions, the Notenstreicher can be used, kindly provided by a student.