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.
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.
First semester (winter)
Second semester (summer)
Third semester (winter)
Fourth semester (summer)
Fifth semester (winter)
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.
Fundamentals of Electrical Engineering 3 - Signals and Systems
Fundamentals of Integrated Circuits and Systems
High and Medium Voltage Switchgears
Manufacturing Processes for Silicon Based Microsystems
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
NC-Programming of Machine Tools
Medical Software Engineering
Rapid Control Prototyping
Computer Assisted Surgical Technology
Electromechanic Motion Technology
Medical Engineering I
Medical Engineering II
Machine Design I
Bascis of Electrical Engineering for Mechatronic Systems
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
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.