Computer science is the science, technology and application of the automated processing and transmission of information. It deals with the theory, methodology, analysis and construction of information technology systems - as well as their practical application and social impact.
Computer science is much more than an independent discipline: its ways of thinking and tools have found their way into almost all areas of science, business, technology and even the humanities. Many of today's research fields and technologies would be inconceivable or would not even have been created without computer science concepts and methods.
The Computer Science elective provides students with the key foundations for making informed decisions in an IT context in an increasingly digitalized working world. The aim is to enable students to actively participate in the planning, selection and implementation of software solutions, databases and information systems - for example, in the design of IT processes or collaboration in interdisciplinary project teams.
Even if graduates do not typically work as computer scientists themselves, the ability to communicate successfully with IT specialists is essential. This requires a basic understanding of the ways of thinking, methods, techniques and technical terms of computer science.
The focus is not only on technical knowledge, but above all on understanding how computer science thinks and works. Students get to know key terms, methods and approaches - and develop a feel for what digital systems can do and where their limits lie. This basic understanding is crucial in order to competently evaluate digital solutions, clearly communicate requirements and collaborate across disciplines.
The elective is intended for students enrolled in one of the following programmes:
A computer science elective for other degree programmes is being planned.
The module provides an introduction to the structure and use of relational database systems. One focus is on the systematic design of relational databases: students learn how to develop data models with the help of entity-relationship diagrams, transfer them to the relational model and avoid redundancies through normalisation. Building on this, basic knowledge of the relational database language SQL is taught - for example, how to create and edit tables and their contents, how to formulate queries with joins, aggregate functions and nested structures and how to use views for the structured visualisation of data. This is supplemented by an overview of data management concepts and typical areas of application for database systems. The aim is to develop an understanding of the efficient organisation of data and to be able to design and use simple information systems independently.
The module provides an introduction to the structure and use of relational database systems. One focus is on the systematic design of relational databases: students learn how to develop data models with the help of entity-relationship diagrams, transfer them to the relational model and avoid redundancies through normalisation. Building on this, basic knowledge of the relational database language SQL is taught - for example, how to create and edit tables and their contents, how to formulate queries with joins, aggregate functions and nested structures and how to use views for the structured visualisation of data. This is supplemented by an overview of data management concepts and typical areas of application for database systems. The aim is to develop an understanding of the efficient organisation of data and to be able to design and use simple information systems independently.
This module provides an introduction to basic concepts of computer science with a particular focus on the structure and functioning of the internet. Topics covered include the digital representation of data, computer architectures, networks, protocols, services and IT security. In addition, topics such as searching for information, data processing and computer applications in the humanities and social sciences - such as the use and analysis of social media - are at the centre of attention.
The module is explicitly aimed at students with no prior knowledge of computer science and provides a practical foundation for the competent use of digital technologies - particularly, but not exclusively, in the context of the humanities and social sciences.
This module provides an introduction to basic concepts of computer science with a particular focus on the structure and functioning of the internet. Topics covered include the digital representation of data, computer architectures, networks, protocols, services and IT security. In addition, topics such as searching for information, data processing and computer applications in the humanities and social sciences - such as the use and analysis of social media - are at the centre of attention.
The module is explicitly aimed at students with no prior knowledge of computer science and provides a practical foundation for the competent use of digital technologies - particularly, but not exclusively, in the context of the humanities and social sciences.
The ‘Programming with Python’ module teaches basic programming skills using the widely used programming language Python. The focus is on a systematic introduction to central programming concepts such as data structures (e.g. lists, tuples, dictionaries), control structures, functions and the basics of object-oriented programming. In addition, practice-relevant libraries are covered, including NumPy for numerical data processing, Matplotlib for graphical visualisation and SciPy for scientific computing, in order to enable students to use modern tools in a scientific and technical context.
A particular focus is on the development of methodological skills, such as structured problem solving (top-down design), writing, testing and debugging simple programmes and independent further training with the help of technical documentation. The module thus lays a solid foundation for the competent use of Python.
The ‘Programming with Python’ module teaches basic programming skills using the widely used programming language Python. The focus is on a systematic introduction to central programming concepts such as data structures (e.g. lists, tuples, dictionaries), control structures, functions and the basics of object-oriented programming. In addition, practice-relevant libraries are covered, including NumPy for numerical data processing, Matplotlib for graphical visualisation and SciPy for scientific computing, in order to enable students to use modern tools in a scientific and technical context.
A particular focus is on the development of methodological skills, such as structured problem solving (top-down design), writing, testing and debugging simple programmes and independent further training with the help of technical documentation. The module thus lays a solid foundation for the competent use of Python.