Skip to content

Computer Science

Computer Science

Do you want to understand how computers, apps and networked systems work – and develop digital solutions yourself? Then the Bachelor’s degree in Computer Science is exactly the right course for you. It provides you with a broad foundation: programming, software engineering, computer architecture, operating systems, database systems, web technologies, computer graphics, IT security, as well as knowledge-based systems, theoretical computer science and mathematics form the basis of the programme. Through practical exercises, you’ll learn early on how to translate theory into working software. You can explore your own interests in greater depth through compulsory-elective modules such as quantum computing, advanced web technologies or cryptology. In addition, you’ll have access to subjects from seven other computing-related degree programmes offered by the Faculty of Computer Science. Further specialisation takes place at Master’s level – the Bachelor’s degree provides an ideal foundation for this. With this qualification, you will be ideally prepared for careers in traditional software development or in future-oriented fields such as AI, automation or cyber security.

Please note: This program is taught in German. 

Job perspectives

Computer scientists work in all fields involving the application of information technology methods, which is the case in virtually every industry. The field of applications is hence broad and varied. You could work as a developer and supervisor of hardware and software systems and interconnected information systems for example, or you can be deployed as a developer, system architect or manager of computer science projects.Computer science is a key to the future. Computer scientists can expect long-term excellent career prospects in a constantly growing job market.

Apply now
Degree
Bachelor of Science (B. Sc.)
Duration
7 Semesters
Start of studies
Winter
Main teaching language
German
Admission restricted
Yes
Location
Ingolstadt
Type of degree program
Full-time
ECTS
210
Accreditation
Yes

Application period for the 2027/28 winter semester: 2 May to 15 July 2027

Curriculum Computer Science

Presentation of curriculums
Semester
1st Semester
  1. Einführungsprojekt

    This introductory project supports students in their transition to university studies and fosters teamwork and social networking. Students create their first applications using Scratch, gain practical experience with virtualization and Linux environments, and learn basic system configuration and programming concepts. A library introduction and information literacy training provide essential skills for academic study.

  2. Grundlagen der Programmierung 1

    This module introduces the fundamentals of imperative programming and software development using the C programming language. Topics include data types, control structures, functions, memory management, arrays, pointers, and dynamic data structures. In the lab, students develop an interactive game in a Linux environment and gain practical experience with development tools, version control, build systems, and professional software engineering practices.

  3. Rechnerarchitektur

    This module introduces the architecture and operation of modern computer systems. Topics include data representation, instruction set architectures, the von Neumann model, memory systems, input/output, and bus architectures. Students also explore advanced concepts such as caching, pipelining, superscalar processing, and multicore architectures. Lab exercises provide practical experience with assembly language programming.

  4. Mathematische Grundlagen 1

    This module provides the mathematical foundations for computer science and engineering. Topics include propositional and predicate logic, set theory, Boolean algebra, sequences and series, complex numbers, matrices, and systems of linear equations. Students also learn the fundamentals of differential calculus and are introduced to differential equations for modeling technical systems.

  5. Physikalische und elektrotechnische Grundlagen

    This module introduces the fundamental principles of physics and electrical engineering relevant to technical systems. Topics include forces, electric charge, the structure of matter, direct and alternating current, and electric and magnetic fields. Students also learn the basics of circuit design and digital electronics, developing an understanding of physical and electrical processes in engineering applications.

  6. Englisch

    This module develops English language skills in technical and scientific computing contexts. Students work with English-language technical literature, media sources, and academic publications while expanding their IT vocabulary. The course covers grammar, listening comprehension, presentation skills, business communication, and the effective use of online resources for professional and academic collaboration in international environments.

Einführungsprojekt

<p>This introductory project supports students in their transition to university studies and fosters teamwork and social networking. Students create their first applications using Scratch, gain practical experience with virtualization and Linux environments, and learn basic system configuration and programming concepts. A library introduction and information literacy training provide essential skills for academic study.</p>

Grundlagen der Programmierung 1

<p>This module introduces the fundamentals of imperative programming and software development using the C programming language. Topics include data types, control structures, functions, memory management, arrays, pointers, and dynamic data structures. In the lab, students develop an interactive game in a Linux environment and gain practical experience with development tools, version control, build systems, and professional software engineering practices.</p>

Rechnerarchitektur

<p>This module introduces the architecture and operation of modern computer systems. Topics include data representation, instruction set architectures, the von Neumann model, memory systems, input/output, and bus architectures. Students also explore advanced concepts such as caching, pipelining, superscalar processing, and multicore architectures. Lab exercises provide practical experience with assembly language programming.</p>

Mathematische Grundlagen 1

<p>This module provides the mathematical foundations for computer science and engineering. Topics include propositional and predicate logic, set theory, Boolean algebra, sequences and series, complex numbers, matrices, and systems of linear equations. Students also learn the fundamentals of differential calculus and are introduced to differential equations for modeling technical systems.</p>

Physikalische und elektrotechnische Grundlagen

<p>This module introduces the fundamental principles of physics and electrical engineering relevant to technical systems. Topics include forces, electric charge, the structure of matter, direct and alternating current, and electric and magnetic fields. Students also learn the basics of circuit design and digital electronics, developing an understanding of physical and electrical processes in engineering applications.</p>

Englisch

<p>This module develops English language skills in technical and scientific computing contexts. Students work with English-language technical literature, media sources, and academic publications while expanding their IT vocabulary. The course covers grammar, listening comprehension, presentation skills, business communication, and the effective use of online resources for professional and academic collaboration in international environments.</p>

  1. Grundlagen der Programmierung 2

    This module introduces the fundamentals of object-oriented programming using Java. Topics include classes, inheritance, polymorphism, memory management, generics, collections, interfaces, exceptions, and concurrency. Students also learn how to develop graphical user interfaces and handle asynchronous events. In the lab, the acquired knowledge is applied through the implementation of a media player with a graphical user interface.

  2. Mathematische Grundlagen 2

    This module provides advanced mathematical foundations for computer science and engineering. Topics include determinants, eigenvalues and eigenvectors, properties of mappings, and modular arithmetic with practical applications. Students also study integral calculus, power series, and introductory numerical methods used to solve mathematical and computational problems.

  3. Betriebssysteme

    This module introduces the fundamentals of modern operating systems. Topics include system programming, processes and threads, scheduling algorithms, memory management, and synchronization and communication mechanisms. Students also explore file systems and key concepts of parallel processing, gaining an understanding of how modern software systems are managed and executed.

  4. Technik der Mensch-Maschine Interaktion

    This module introduces the foundations and technologies of human-computer interaction. Students explore a wide range of 2D and 3D input and output devices, including touchscreens, speech interfaces, gesture control systems, virtual reality technologies, and haptic interfaces. The course also covers perception principles, design requirements, and current developments in interaction technologies.

  5. Rechnernetze

    This module introduces the fundamentals of computer networks and data communication. Topics include network architectures, transmission methods, Ethernet, wireless LANs, IP, routing, and the transport protocols TCP and UDP. In laboratory sessions, students configure and analyze real and simulated networks, implement essential communication mechanisms, and gain practical skills in network design, operation, and troubleshooting.

Grundlagen der Programmierung 2

<p>This module introduces the fundamentals of object-oriented programming using Java. Topics include classes, inheritance, polymorphism, memory management, generics, collections, interfaces, exceptions, and concurrency. Students also learn how to develop graphical user interfaces and handle asynchronous events. In the lab, the acquired knowledge is applied through the implementation of a media player with a graphical user interface.</p>

Mathematische Grundlagen 2

<p>This module provides advanced mathematical foundations for computer science and engineering. Topics include determinants, eigenvalues and eigenvectors, properties of mappings, and modular arithmetic with practical applications. Students also study integral calculus, power series, and introductory numerical methods used to solve mathematical and computational problems.</p>

Betriebssysteme

<p>This module introduces the fundamentals of modern operating systems. Topics include system programming, processes and threads, scheduling algorithms, memory management, and synchronization and communication mechanisms. Students also explore file systems and key concepts of parallel processing, gaining an understanding of how modern software systems are managed and executed.</p>

Technik der Mensch-Maschine Interaktion

<p>This module introduces the foundations and technologies of human-computer interaction. Students explore a wide range of 2D and 3D input and output devices, including touchscreens, speech interfaces, gesture control systems, virtual reality technologies, and haptic interfaces. The course also covers perception principles, design requirements, and current developments in interaction technologies.</p>

Rechnernetze

<p>This module introduces the fundamentals of computer networks and data communication. Topics include network architectures, transmission methods, Ethernet, wireless LANs, IP, routing, and the transport protocols TCP and UDP. In laboratory sessions, students configure and analyze real and simulated networks, implement essential communication mechanisms, and gain practical skills in network design, operation, and troubleshooting.</p>

  1. Algorithmen und Datenstrukturen

    This module introduces fundamental algorithms and data structures for the efficient processing of information. Topics include complexity analysis, lists, graphs, trees, hashing techniques, and sorting algorithms. Students learn how to evaluate runtime and memory requirements and how to select and apply suitable data structures and algorithms for different computational problems.

  2. Software Engineering

    This module introduces the methods and processes of professional software engineering throughout the software lifecycle. Topics include requirements engineering, software architecture, design, implementation, documentation, and testing. In the lab, students apply these concepts through practical assignments and gain experience with UML modeling, architectural design, and black-box and white-box testing techniques.

  3. Webtechnologien

    This module introduces the fundamentals of modern web development. Topics include client-side technologies such as HTML, CSS, JavaScript, and Bootstrap, as well as server-side concepts including PHP, sessions, cookies, AJAX, and REST. Through practical exercises, students develop interactive web applications and gain hands-on experience in implementing modern web architectures.

  4. Verteilte Systeme

    This module introduces the concepts, methods, and technologies of distributed systems. Topics include modeling, communication, and synchronization of distributed applications, as well as challenges such as consistency, security, and coordination. In laboratory sessions, students implement distributed applications using technologies such as RPC and RMI and gain practical experience in developing communicating software systems.

  5. Wissensbasierte Systeme

    This module introduces the foundations and methods of artificial intelligence with a focus on knowledge-based systems. Topics include logic programming, knowledge representation, inference techniques, expert systems, and constraint satisfaction problems. Students also learn selected machine learning and pattern recognition methods and apply them to practical tasks such as dynamic gesture recognition.

Algorithmen und Datenstrukturen

<p>This module introduces fundamental algorithms and data structures for the efficient processing of information. Topics include complexity analysis, lists, graphs, trees, hashing techniques, and sorting algorithms. Students learn how to evaluate runtime and memory requirements and how to select and apply suitable data structures and algorithms for different computational problems.</p>

Software Engineering

<p>This module introduces the methods and processes of professional software engineering throughout the software lifecycle. Topics include requirements engineering, software architecture, design, implementation, documentation, and testing. In the lab, students apply these concepts through practical assignments and gain experience with UML modeling, architectural design, and black-box and white-box testing techniques.</p>

Webtechnologien

<p>This module introduces the fundamentals of modern web development. Topics include client-side technologies such as HTML, CSS, JavaScript, and Bootstrap, as well as server-side concepts including PHP, sessions, cookies, AJAX, and REST. Through practical exercises, students develop interactive web applications and gain hands-on experience in implementing modern web architectures.</p>

Verteilte Systeme

<p>This module introduces the concepts, methods, and technologies of distributed systems. Topics include modeling, communication, and synchronization of distributed applications, as well as challenges such as consistency, security, and coordination. In laboratory sessions, students implement distributed applications using technologies such as RPC and RMI and gain practical experience in developing communicating software systems.</p>

Wissensbasierte Systeme

<p>This module introduces the foundations and methods of artificial intelligence with a focus on knowledge-based systems. Topics include logic programming, knowledge representation, inference techniques, expert systems, and constraint satisfaction problems. Students also learn selected machine learning and pattern recognition methods and apply them to practical tasks such as dynamic gesture recognition.</p>

  1. Datenbanksysteme

    This module introduces the fundamentals of modern database systems and data management. Topics include data modeling with the Entity-Relationship model, relational databases, data integrity, normalization, SQL, and transaction management. In the lab, students design and implement database schemas, create database queries, and deepen their understanding of advanced database concepts through practical exercises.

  2. Fachwissenschaftliches Seminar

    This academic seminar develops skills in scientific research and professional communication. Students analyze scientific literature, prepare technical content for different audiences, and present their findings in professional talks. Through discussions, peer feedback, and structured documentation, they strengthen their abilities in presentation, argumentation, software analysis, and academic communication.

  3. Grundlagen der Theoretischen Informatik

    This module introduces the theoretical foundations of computer science. Topics include formal languages, grammars, automata, and their classification within the Chomsky hierarchy. Students explore computability and decidability theory, analyze abstract models of computation, and investigate decision problems and the fundamental limits of algorithmic processing.

  4. Diskrete Mathematik

    This module introduces key methods of discrete mathematics for computer science and software engineering. Topics include graph theory, elementary number theory, and order and lattice theory. Students learn mathematical structures, proof techniques, and algorithms and apply them to problems in modeling, optimization, and information processing.

  5. Computergrafik

    This module introduces the fundamentals and methods of computer graphics. Topics include 2D and 3D graphics, modeling, transformations, projections, visibility determination, lighting, and shading. Students explore modern techniques for image synthesis, texturing, and visualization and gain an understanding of how graphical scenes are represented and processed in interactive applications.

  6. Projektmanagement

    This module introduces traditional and agile project management methods as well as the fundamentals of academic work. Students learn how to plan, manage, and control projects, covering goal definition, risk and stakeholder analysis, resource management, and project controlling. The course also addresses Scrum, academic research strategies, source evaluation, proper citation practices, and the responsible use of scientific literature.

Datenbanksysteme

<p>This module introduces the fundamentals of modern database systems and data management. Topics include data modeling with the Entity-Relationship model, relational databases, data integrity, normalization, SQL, and transaction management. In the lab, students design and implement database schemas, create database queries, and deepen their understanding of advanced database concepts through practical exercises.</p>

Fachwissenschaftliches Seminar

<p>This academic seminar develops skills in scientific research and professional communication. Students analyze scientific literature, prepare technical content for different audiences, and present their findings in professional talks. Through discussions, peer feedback, and structured documentation, they strengthen their abilities in presentation, argumentation, software analysis, and academic communication.</p>

Grundlagen der Theoretischen Informatik

<p>This module introduces the theoretical foundations of computer science. Topics include formal languages, grammars, automata, and their classification within the Chomsky hierarchy. Students explore computability and decidability theory, analyze abstract models of computation, and investigate decision problems and the fundamental limits of algorithmic processing.</p>

Diskrete Mathematik

<p>This module introduces key methods of discrete mathematics for computer science and software engineering. Topics include graph theory, elementary number theory, and order and lattice theory. Students learn mathematical structures, proof techniques, and algorithms and apply them to problems in modeling, optimization, and information processing.</p>

Computergrafik

<p>This module introduces the fundamentals and methods of computer graphics. Topics include 2D and 3D graphics, modeling, transformations, projections, visibility determination, lighting, and shading. Students explore modern techniques for image synthesis, texturing, and visualization and gain an understanding of how graphical scenes are represented and processed in interactive applications.</p>

Projektmanagement

<p>This module introduces traditional and agile project management methods as well as the fundamentals of academic work. Students learn how to plan, manage, and control projects, covering goal definition, risk and stakeholder analysis, resource management, and project controlling. The course also addresses Scrum, academic research strategies, source evaluation, proper citation practices, and the responsible use of scientific literature.</p>

  1. Vorbereitendes Praxisseminar PLV 1

    This preparatory internship seminar helps students prepare for their upcoming professional placement. The course focuses on reflecting on personal expectations, strengths, and areas for development while addressing uncertainties related to the workplace. Through group exercises, role-playing activities, and feedback techniques, students develop communication and conflict resolution skills and strengthen their teamwork and professional self-awareness.

  2. Praktikum

    The internship enables students to apply the knowledge and methods acquired during their studies in a professional environment. Students work on practical tasks in a company in Germany or abroad, actively participate in teams, and gain experience with modern development tools and processes. A structured work plan and a comprehensive internship report support reflection and the transfer of academic knowledge to practice.

  3. Nachbereitendes Praxisseminar PLV 2

    This post-internship seminar supports the reflection and evaluation of experiences gained during the internship. Students present their activities and insights in short presentations followed by discussions of both content and presentation style. Through constructive feedback and peer exchange, they enhance their communication, reflection, and presentation skills.

  4. Informations- und Medienkompetenz PLV 3

    This module develops competencies in scientific information retrieval and the professional use of academic resources. Students learn research strategies, scientific publishing processes, and the use of library catalogs, specialized databases, standards, and patents. The course also covers academic writing, proper citation techniques, bibliography management, and the practical use of reference management tools.

Vorbereitendes Praxisseminar PLV 1

<p>This preparatory internship seminar helps students prepare for their upcoming professional placement. The course focuses on reflecting on personal expectations, strengths, and areas for development while addressing uncertainties related to the workplace. Through group exercises, role-playing activities, and feedback techniques, students develop communication and conflict resolution skills and strengthen their teamwork and professional self-awareness.</p>

Praktikum

<p>The internship enables students to apply the knowledge and methods acquired during their studies in a professional environment. Students work on practical tasks in a company in Germany or abroad, actively participate in teams, and gain experience with modern development tools and processes. A structured work plan and a comprehensive internship report support reflection and the transfer of academic knowledge to practice.</p>

Nachbereitendes Praxisseminar PLV 2

<p>This post-internship seminar supports the reflection and evaluation of experiences gained during the internship. Students present their activities and insights in short presentations followed by discussions of both content and presentation style. Through constructive feedback and peer exchange, they enhance their communication, reflection, and presentation skills.</p>

Informations- und Medienkompetenz PLV 3

<p>This module develops competencies in scientific information retrieval and the professional use of academic resources. Students learn research strategies, scientific publishing processes, and the use of library catalogs, specialized databases, standards, and patents. The course also covers academic writing, proper citation techniques, bibliography management, and the practical use of reference management tools.</p>

  1. IT-Recht

    This module introduces the legal foundations of information technology and digital business models. Topics include contract law, e-commerce, data protection, copyright, domain law, and legal requirements for websites, apps, and online services. Students also explore aspects of cybercrime, legal procedures, and regulatory issues related to modern digital technologies and applications.

  2. Projekt

    a { text-decoration: none; color: #464feb; } tr th, tr td { border: 1px solid #e6e6e6; } tr th { background-color: #f5f5f5; } This project module provides hands-on experience in collaborative software development. Students plan and implement a software project using agile methods such as Scrum or Kanban. They work with modern development tools, apply practices including pair programming, test-driven development, unit testing, and CI/CD, monitor project progress, and present the final project results.

  3. Statistik und Kombinatorik

    This module provides mathematical foundations for the description, analysis, and interpretation of data. Topics include combinatorics, probability theory, descriptive statistics, and inferential statistical methods. Students learn hypothesis testing, confidence intervals, regression and correlation analysis, as well as techniques for investigating relationships and differences within datasets.

  4. Grundlagen der Betriebswirtschaft und des Gründertums

    This module introduces the fundamentals of business administration and entrepreneurship. Topics include organization, marketing, finance, accounting, investment analysis, innovation management, and business model development. Students explore entrepreneurship and intrapreneurship concepts and apply them in a startup project by developing product ideas, business models, and marketing strategies.

  5. Fachwissenschaftliche Wahlpflichtfächer

    In the sixth semester, students select one of two advanced electives for individual specialization. Embedded Systems and Real-Time Systems focuses on cyber-physical systems, real-time operating systems, and time-critical applications. Parallel Programming covers parallel computer architectures, multithreading, GPU programming, and efficient parallel algorithms for high-performance software systems.

  6. IT-Sicherheit

    This module introduces the fundamentals and methods of IT security for protecting systems, networks, and applications. Topics include security management, risk assessment, network security, operating system hardening, access control, and secure software development. Students also learn cryptographic techniques, public key infrastructures, and the mathematical foundations of modern security mechanisms and apply them to practical security concepts.

IT-Recht

<p>This module introduces the legal foundations of information technology and digital business models. Topics include contract law, e-commerce, data protection, copyright, domain law, and legal requirements for websites, apps, and online services. Students also explore aspects of cybercrime, legal procedures, and regulatory issues related to modern digital technologies and applications.</p>

Projekt

<p>a { text-decoration: none; color: #464feb; } tr th, tr td { border: 1px solid #e6e6e6; } tr th { background-color: #f5f5f5; }</p> <p>This project module provides hands-on experience in collaborative software development. Students plan and implement a software project using agile methods such as Scrum or Kanban. They work with modern development tools, apply practices including pair programming, test-driven development, unit testing, and CI/CD, monitor project progress, and present the final project results.</p>

Statistik und Kombinatorik

<p>This module provides mathematical foundations for the description, analysis, and interpretation of data. Topics include combinatorics, probability theory, descriptive statistics, and inferential statistical methods. Students learn hypothesis testing, confidence intervals, regression and correlation analysis, as well as techniques for investigating relationships and differences within datasets.</p>

Grundlagen der Betriebswirtschaft und des Gründertums

<p>This module introduces the fundamentals of business administration and entrepreneurship. Topics include organization, marketing, finance, accounting, investment analysis, innovation management, and business model development. Students explore entrepreneurship and intrapreneurship concepts and apply them in a startup project by developing product ideas, business models, and marketing strategies.</p>

Fachwissenschaftliche Wahlpflichtfächer

<p>In the sixth semester, students select one of two advanced electives for individual specialization. Embedded Systems and Real-Time Systems focuses on cyber-physical systems, real-time operating systems, and time-critical applications. Parallel Programming covers parallel computer architectures, multithreading, GPU programming, and efficient parallel algorithms for high-performance software systems.</p>

IT-Sicherheit

<p>This module introduces the fundamentals and methods of IT security for protecting systems, networks, and applications. Topics include security management, risk assessment, network security, operating system hardening, access control, and secure software development. Students also learn cryptographic techniques, public key infrastructures, and the mathematical foundations of modern security mechanisms and apply them to practical security concepts.</p>

  1. Programmierparadigmen und deren Sprachen

    This module introduces fundamental programming paradigms and their theoretical foundations. Topics include procedural, object-oriented, functional, and logic programming, as well as the lambda calculus as the basis of functional languages. Students explore modern languages such as Haskell, Scheme, Scala, and Standard ML and gain experience with evaluation strategies, parser implementation, and the application of functional concepts in mainstream programming languages.

  2. Fachwissenschaftliche Wahlpflichtfächer

  3. Bachelorarbeit

    The bachelor’s thesis represents the final academic achievement of the degree program. Students independently formulate a research question and address it using scientific methods and structured problem-solving approaches. The thesis requires the application of research techniques, project and time management skills, and the clear documentation of results. Findings are presented to a professional audience and critically discussed.

  4. Seminar Bachelorarbeit

    This seminar supports students in preparing their bachelor’s thesis. Students identify and refine a suitable topic, coordinate with their examiners, and develop an initial content and project plan. The course covers scientific research methods, including literature review, reproducibility, traceability, proper citation, and plagiarism-free writing. It also strengthens communication and time management skills essential for a successful thesis project.

Programmierparadigmen und deren Sprachen

<p>This module introduces fundamental programming paradigms and their theoretical foundations. Topics include procedural, object-oriented, functional, and logic programming, as well as the lambda calculus as the basis of functional languages. Students explore modern languages such as Haskell, Scheme, Scala, and Standard ML and gain experience with evaluation strategies, parser implementation, and the application of functional concepts in mainstream programming languages.</p>

Fachwissenschaftliche Wahlpflichtfächer

Bachelorarbeit

<p>The bachelor’s thesis represents the final academic achievement of the degree program. Students independently formulate a research question and address it using scientific methods and structured problem-solving approaches. The thesis requires the application of research techniques, project and time management skills, and the clear documentation of results. Findings are presented to a professional audience and critically discussed.</p>

Seminar Bachelorarbeit

<p>This seminar supports students in preparing their bachelor’s thesis. Students identify and refine a suitable topic, coordinate with their examiners, and develop an initial content and project plan. The course covers scientific research methods, including literature review, reproducibility, traceability, proper citation, and plagiarism-free writing. It also strengthens communication and time management skills essential for a successful thesis project.</p>

Curriculum Computer Science — Overview of all semesters and modules
1. Semester
  • Einführungsprojekt
  • Grundlagen der Programmierung 1
  • Rechnerarchitektur
  • Mathematische Grundlagen 1
  • Physikalische und elektrotechnische Grundlagen
  • Englisch
2. Semester
  • Grundlagen der Programmierung 2
  • Mathematische Grundlagen 2
  • Betriebssysteme
  • Technik der Mensch-Maschine Interaktion
  • Rechnernetze
3. Semester
  • Algorithmen und Datenstrukturen
  • Software Engineering
  • Webtechnologien
  • Verteilte Systeme
  • Wissensbasierte Systeme
4. Semester
  • Datenbanksysteme
  • Fachwissenschaftliches Seminar
  • Grundlagen der Theoretischen Informatik
  • Diskrete Mathematik
  • Computergrafik
  • Projektmanagement
5. Semester
  • Vorbereitendes Praxisseminar PLV 1
  • Praktikum
  • Nachbereitendes Praxisseminar PLV 2
  • Informations- und Medienkompetenz PLV 3
6. Semester
  • IT-Recht
  • Projekt
  • Statistik und Kombinatorik
  • Grundlagen der Betriebswirtschaft und des Gründertums
  • Fachwissenschaftliche Wahlpflichtfächer
  • IT-Sicherheit
7. Semester
  • Programmierparadigmen und deren Sprachen
  • Fachwissenschaftliche Wahlpflichtfächer
  • Bachelorarbeit
  • Seminar Bachelorarbeit

Structure

First and Second Semesters

The first two theoretical semesters comprise the basic subjects of mathematical principles, programming, computer architecture, operating systems, fundamentals of business management, and English.

Second study phase

This phase comprises four theoretical semesters and one practical semester (generally the fifth), in which the following subjects are covered in more depth: software engineering, computer networks, database systems, algorithms and data structures, modelling and simulation, knowledge-based systems, web technologies, IT security, IT law, discrete and applied mathematics, principles of physics and electrical engineering, seminar, project, project management, and electives.

Interesting Facts

  1. Dual study programme

    A combined model (degree programme & vocational training) OR a degree programme with in-depth practical experience (degree programme and intensive practical placements) are available. For the dual study programme, you must apply both to the company and to the university (please note: be sure to check the company’s application deadlines!). 

  2. Studying abroad whilst at university

    During your studies, you will have the opportunity to gain international experience. THI has an international network comprising more than 150 partner universities as well as numerous international companies worldwide. Our International Office serves as a central point of contact for all students.

  3. Funding for Studies

    At THI, students have access to a wide range of support options in the form of scholarships. We recommend that students living on their own budget for at least 700–900 EUR per month for personal expenses (accommodation, health insurance, food, books, tuition fees).

Admission requirements
To gain admission to the programme, applicants need one of the following qualifications for university entrance:

  • Abitur (European Baccalaureate, A-Levels, High School Diploma)
  • Fachhochschulreife (Vocational Baccalaureate)
  • Fachgebundene Hochschulreife (Specialised A-Level)

Admission requirements for international students
If you wish to study at a German University, you need a so-called Hochschulzugangsberechtigung (HZB), or higher education entrance qualification. This is a secondary school-leaving certificate that corresponds to the German Abitur and entitles you to study.
Students from abroad must apply for admission from the university of their choice. For your application, you will require for a Bachelor's degree:

  • a school-leaving certificate (also known as "university entrance qualification", e.g. High School Diploma, Matura, A-Levels, Bachillerato, Atestat, baccalauréat)
    or
  • proof that you have passed the university entrance examination (if required in your home country)
  • (Source: German Academic Exchange Service, DAAD, July 2016)

Laboratories

The computer networks laboratory houses the typical components of the kind of high-performance computer network found in large corporate networks and operated by service providers. In this environment, students make their first encounters with the functions and practical structure and operation of computer networks (LAN).

Every semester, practical activities for the lecture in computer networks are conducted in this laboratory. Parallel to the lecture, between 50 and 100 students from a variety of study programmes test and build on their knowledge of a computer's basic communicative functions, resulting in interesting insights into the operation of networks; these are also valuable when it comes to creating personal computer networks at home.

The laboratory also houses a large area for projects and experiments involving W-LAN technology as well as experiments and exercises in IT security.

Questions

Any questions?

Do you have any questions about applications, admission, enrolment, student finance, accommodation or other general topics? If so, please use our contact form and select the relevant topic. This will ensure your enquiry is sent directly to the relevant contact person(s) and can be answered quickly and effectively.

People

Programme director and academic advisor

  1. Prof. Dr. rer. nat. Franz Regensburger

    Programme director and academic advisor "Computer Science" B. Sc. / academic advisor "Computer Science" M. Sc.

    Prof. Dr. rer. nat. Franz Regensburger

Computer Science

Do you want to understand how computers, apps and networked systems work – and develop digital solutions yourself? Then the Bachelor’s degree in Computer Science is exactly the right course for you. It provides you with a broad foundation: programming, software engineering, computer architecture, operating systems, database systems, web technologies, computer graphics, IT security, as well as knowledge-based systems, theoretical computer science and mathematics form the basis of the programme. Through practical exercises, you’ll learn early on how to translate theory into working software. You can explore your own interests in greater depth through compulsory-elective modules such as quantum computing, advanced web technologies or cryptology. In addition, you’ll have access to subjects from seven other computing-related degree programmes offered by the Faculty of Computer Science. Further specialisation takes place at Master’s level – the Bachelor’s degree provides an ideal foundation for this. With this qualification, you will be ideally prepared for careers in traditional software development or in future-oriented fields such as AI, automation or cyber security.

Please note: This program is taught in German. 

Job perspectives

Computer scientists work in all fields involving the application of information technology methods, which is the case in virtually every industry. The field of applications is hence broad and varied. You could work as a developer and supervisor of hardware and software systems and interconnected information systems for example, or you can be deployed as a developer, system architect or manager of computer science projects.Computer science is a key to the future. Computer scientists can expect long-term excellent career prospects in a constantly growing job market.

Apply now
Degree
Bachelor of Science (B. Sc.)
Duration
7 Semesters
Start of studies
Winter
Main teaching language
German
Admission restricted
Yes
Location
Ingolstadt
Type of degree program
Full-time
ECTS
210
Accreditation
Yes

Application period for the 2027/28 winter semester: 2 May to 15 July 2027

Curriculum Computer Science

Presentation of curriculums
Semester
1st Semester
  1. Einführungsprojekt

    This introductory project supports students in their transition to university studies and fosters teamwork and social networking. Students create their first applications using Scratch, gain practical experience with virtualization and Linux environments, and learn basic system configuration and programming concepts. A library introduction and information literacy training provide essential skills for academic study.

  2. Grundlagen der Programmierung 1

    This module introduces the fundamentals of imperative programming and software development using the C programming language. Topics include data types, control structures, functions, memory management, arrays, pointers, and dynamic data structures. In the lab, students develop an interactive game in a Linux environment and gain practical experience with development tools, version control, build systems, and professional software engineering practices.

  3. Rechnerarchitektur

    This module introduces the architecture and operation of modern computer systems. Topics include data representation, instruction set architectures, the von Neumann model, memory systems, input/output, and bus architectures. Students also explore advanced concepts such as caching, pipelining, superscalar processing, and multicore architectures. Lab exercises provide practical experience with assembly language programming.

  4. Mathematische Grundlagen 1

    This module provides the mathematical foundations for computer science and engineering. Topics include propositional and predicate logic, set theory, Boolean algebra, sequences and series, complex numbers, matrices, and systems of linear equations. Students also learn the fundamentals of differential calculus and are introduced to differential equations for modeling technical systems.

  5. Physikalische und elektrotechnische Grundlagen

    This module introduces the fundamental principles of physics and electrical engineering relevant to technical systems. Topics include forces, electric charge, the structure of matter, direct and alternating current, and electric and magnetic fields. Students also learn the basics of circuit design and digital electronics, developing an understanding of physical and electrical processes in engineering applications.

  6. Englisch

    This module develops English language skills in technical and scientific computing contexts. Students work with English-language technical literature, media sources, and academic publications while expanding their IT vocabulary. The course covers grammar, listening comprehension, presentation skills, business communication, and the effective use of online resources for professional and academic collaboration in international environments.

Einführungsprojekt

<p>This introductory project supports students in their transition to university studies and fosters teamwork and social networking. Students create their first applications using Scratch, gain practical experience with virtualization and Linux environments, and learn basic system configuration and programming concepts. A library introduction and information literacy training provide essential skills for academic study.</p>

Grundlagen der Programmierung 1

<p>This module introduces the fundamentals of imperative programming and software development using the C programming language. Topics include data types, control structures, functions, memory management, arrays, pointers, and dynamic data structures. In the lab, students develop an interactive game in a Linux environment and gain practical experience with development tools, version control, build systems, and professional software engineering practices.</p>

Rechnerarchitektur

<p>This module introduces the architecture and operation of modern computer systems. Topics include data representation, instruction set architectures, the von Neumann model, memory systems, input/output, and bus architectures. Students also explore advanced concepts such as caching, pipelining, superscalar processing, and multicore architectures. Lab exercises provide practical experience with assembly language programming.</p>

Mathematische Grundlagen 1

<p>This module provides the mathematical foundations for computer science and engineering. Topics include propositional and predicate logic, set theory, Boolean algebra, sequences and series, complex numbers, matrices, and systems of linear equations. Students also learn the fundamentals of differential calculus and are introduced to differential equations for modeling technical systems.</p>

Physikalische und elektrotechnische Grundlagen

<p>This module introduces the fundamental principles of physics and electrical engineering relevant to technical systems. Topics include forces, electric charge, the structure of matter, direct and alternating current, and electric and magnetic fields. Students also learn the basics of circuit design and digital electronics, developing an understanding of physical and electrical processes in engineering applications.</p>

Englisch

<p>This module develops English language skills in technical and scientific computing contexts. Students work with English-language technical literature, media sources, and academic publications while expanding their IT vocabulary. The course covers grammar, listening comprehension, presentation skills, business communication, and the effective use of online resources for professional and academic collaboration in international environments.</p>

  1. Grundlagen der Programmierung 2

    This module introduces the fundamentals of object-oriented programming using Java. Topics include classes, inheritance, polymorphism, memory management, generics, collections, interfaces, exceptions, and concurrency. Students also learn how to develop graphical user interfaces and handle asynchronous events. In the lab, the acquired knowledge is applied through the implementation of a media player with a graphical user interface.

  2. Mathematische Grundlagen 2

    This module provides advanced mathematical foundations for computer science and engineering. Topics include determinants, eigenvalues and eigenvectors, properties of mappings, and modular arithmetic with practical applications. Students also study integral calculus, power series, and introductory numerical methods used to solve mathematical and computational problems.

  3. Betriebssysteme

    This module introduces the fundamentals of modern operating systems. Topics include system programming, processes and threads, scheduling algorithms, memory management, and synchronization and communication mechanisms. Students also explore file systems and key concepts of parallel processing, gaining an understanding of how modern software systems are managed and executed.

  4. Technik der Mensch-Maschine Interaktion

    This module introduces the foundations and technologies of human-computer interaction. Students explore a wide range of 2D and 3D input and output devices, including touchscreens, speech interfaces, gesture control systems, virtual reality technologies, and haptic interfaces. The course also covers perception principles, design requirements, and current developments in interaction technologies.

  5. Rechnernetze

    This module introduces the fundamentals of computer networks and data communication. Topics include network architectures, transmission methods, Ethernet, wireless LANs, IP, routing, and the transport protocols TCP and UDP. In laboratory sessions, students configure and analyze real and simulated networks, implement essential communication mechanisms, and gain practical skills in network design, operation, and troubleshooting.

Grundlagen der Programmierung 2

<p>This module introduces the fundamentals of object-oriented programming using Java. Topics include classes, inheritance, polymorphism, memory management, generics, collections, interfaces, exceptions, and concurrency. Students also learn how to develop graphical user interfaces and handle asynchronous events. In the lab, the acquired knowledge is applied through the implementation of a media player with a graphical user interface.</p>

Mathematische Grundlagen 2

<p>This module provides advanced mathematical foundations for computer science and engineering. Topics include determinants, eigenvalues and eigenvectors, properties of mappings, and modular arithmetic with practical applications. Students also study integral calculus, power series, and introductory numerical methods used to solve mathematical and computational problems.</p>

Betriebssysteme

<p>This module introduces the fundamentals of modern operating systems. Topics include system programming, processes and threads, scheduling algorithms, memory management, and synchronization and communication mechanisms. Students also explore file systems and key concepts of parallel processing, gaining an understanding of how modern software systems are managed and executed.</p>

Technik der Mensch-Maschine Interaktion

<p>This module introduces the foundations and technologies of human-computer interaction. Students explore a wide range of 2D and 3D input and output devices, including touchscreens, speech interfaces, gesture control systems, virtual reality technologies, and haptic interfaces. The course also covers perception principles, design requirements, and current developments in interaction technologies.</p>

Rechnernetze

<p>This module introduces the fundamentals of computer networks and data communication. Topics include network architectures, transmission methods, Ethernet, wireless LANs, IP, routing, and the transport protocols TCP and UDP. In laboratory sessions, students configure and analyze real and simulated networks, implement essential communication mechanisms, and gain practical skills in network design, operation, and troubleshooting.</p>

  1. Algorithmen und Datenstrukturen

    This module introduces fundamental algorithms and data structures for the efficient processing of information. Topics include complexity analysis, lists, graphs, trees, hashing techniques, and sorting algorithms. Students learn how to evaluate runtime and memory requirements and how to select and apply suitable data structures and algorithms for different computational problems.

  2. Software Engineering

    This module introduces the methods and processes of professional software engineering throughout the software lifecycle. Topics include requirements engineering, software architecture, design, implementation, documentation, and testing. In the lab, students apply these concepts through practical assignments and gain experience with UML modeling, architectural design, and black-box and white-box testing techniques.

  3. Webtechnologien

    This module introduces the fundamentals of modern web development. Topics include client-side technologies such as HTML, CSS, JavaScript, and Bootstrap, as well as server-side concepts including PHP, sessions, cookies, AJAX, and REST. Through practical exercises, students develop interactive web applications and gain hands-on experience in implementing modern web architectures.

  4. Verteilte Systeme

    This module introduces the concepts, methods, and technologies of distributed systems. Topics include modeling, communication, and synchronization of distributed applications, as well as challenges such as consistency, security, and coordination. In laboratory sessions, students implement distributed applications using technologies such as RPC and RMI and gain practical experience in developing communicating software systems.

  5. Wissensbasierte Systeme

    This module introduces the foundations and methods of artificial intelligence with a focus on knowledge-based systems. Topics include logic programming, knowledge representation, inference techniques, expert systems, and constraint satisfaction problems. Students also learn selected machine learning and pattern recognition methods and apply them to practical tasks such as dynamic gesture recognition.

Algorithmen und Datenstrukturen

<p>This module introduces fundamental algorithms and data structures for the efficient processing of information. Topics include complexity analysis, lists, graphs, trees, hashing techniques, and sorting algorithms. Students learn how to evaluate runtime and memory requirements and how to select and apply suitable data structures and algorithms for different computational problems.</p>

Software Engineering

<p>This module introduces the methods and processes of professional software engineering throughout the software lifecycle. Topics include requirements engineering, software architecture, design, implementation, documentation, and testing. In the lab, students apply these concepts through practical assignments and gain experience with UML modeling, architectural design, and black-box and white-box testing techniques.</p>

Webtechnologien

<p>This module introduces the fundamentals of modern web development. Topics include client-side technologies such as HTML, CSS, JavaScript, and Bootstrap, as well as server-side concepts including PHP, sessions, cookies, AJAX, and REST. Through practical exercises, students develop interactive web applications and gain hands-on experience in implementing modern web architectures.</p>

Verteilte Systeme

<p>This module introduces the concepts, methods, and technologies of distributed systems. Topics include modeling, communication, and synchronization of distributed applications, as well as challenges such as consistency, security, and coordination. In laboratory sessions, students implement distributed applications using technologies such as RPC and RMI and gain practical experience in developing communicating software systems.</p>

Wissensbasierte Systeme

<p>This module introduces the foundations and methods of artificial intelligence with a focus on knowledge-based systems. Topics include logic programming, knowledge representation, inference techniques, expert systems, and constraint satisfaction problems. Students also learn selected machine learning and pattern recognition methods and apply them to practical tasks such as dynamic gesture recognition.</p>

  1. Datenbanksysteme

    This module introduces the fundamentals of modern database systems and data management. Topics include data modeling with the Entity-Relationship model, relational databases, data integrity, normalization, SQL, and transaction management. In the lab, students design and implement database schemas, create database queries, and deepen their understanding of advanced database concepts through practical exercises.

  2. Fachwissenschaftliches Seminar

    This academic seminar develops skills in scientific research and professional communication. Students analyze scientific literature, prepare technical content for different audiences, and present their findings in professional talks. Through discussions, peer feedback, and structured documentation, they strengthen their abilities in presentation, argumentation, software analysis, and academic communication.

  3. Grundlagen der Theoretischen Informatik

    This module introduces the theoretical foundations of computer science. Topics include formal languages, grammars, automata, and their classification within the Chomsky hierarchy. Students explore computability and decidability theory, analyze abstract models of computation, and investigate decision problems and the fundamental limits of algorithmic processing.

  4. Diskrete Mathematik

    This module introduces key methods of discrete mathematics for computer science and software engineering. Topics include graph theory, elementary number theory, and order and lattice theory. Students learn mathematical structures, proof techniques, and algorithms and apply them to problems in modeling, optimization, and information processing.

  5. Computergrafik

    This module introduces the fundamentals and methods of computer graphics. Topics include 2D and 3D graphics, modeling, transformations, projections, visibility determination, lighting, and shading. Students explore modern techniques for image synthesis, texturing, and visualization and gain an understanding of how graphical scenes are represented and processed in interactive applications.

  6. Projektmanagement

    This module introduces traditional and agile project management methods as well as the fundamentals of academic work. Students learn how to plan, manage, and control projects, covering goal definition, risk and stakeholder analysis, resource management, and project controlling. The course also addresses Scrum, academic research strategies, source evaluation, proper citation practices, and the responsible use of scientific literature.

Datenbanksysteme

<p>This module introduces the fundamentals of modern database systems and data management. Topics include data modeling with the Entity-Relationship model, relational databases, data integrity, normalization, SQL, and transaction management. In the lab, students design and implement database schemas, create database queries, and deepen their understanding of advanced database concepts through practical exercises.</p>

Fachwissenschaftliches Seminar

<p>This academic seminar develops skills in scientific research and professional communication. Students analyze scientific literature, prepare technical content for different audiences, and present their findings in professional talks. Through discussions, peer feedback, and structured documentation, they strengthen their abilities in presentation, argumentation, software analysis, and academic communication.</p>

Grundlagen der Theoretischen Informatik

<p>This module introduces the theoretical foundations of computer science. Topics include formal languages, grammars, automata, and their classification within the Chomsky hierarchy. Students explore computability and decidability theory, analyze abstract models of computation, and investigate decision problems and the fundamental limits of algorithmic processing.</p>

Diskrete Mathematik

<p>This module introduces key methods of discrete mathematics for computer science and software engineering. Topics include graph theory, elementary number theory, and order and lattice theory. Students learn mathematical structures, proof techniques, and algorithms and apply them to problems in modeling, optimization, and information processing.</p>

Computergrafik

<p>This module introduces the fundamentals and methods of computer graphics. Topics include 2D and 3D graphics, modeling, transformations, projections, visibility determination, lighting, and shading. Students explore modern techniques for image synthesis, texturing, and visualization and gain an understanding of how graphical scenes are represented and processed in interactive applications.</p>

Projektmanagement

<p>This module introduces traditional and agile project management methods as well as the fundamentals of academic work. Students learn how to plan, manage, and control projects, covering goal definition, risk and stakeholder analysis, resource management, and project controlling. The course also addresses Scrum, academic research strategies, source evaluation, proper citation practices, and the responsible use of scientific literature.</p>

  1. Vorbereitendes Praxisseminar PLV 1

    This preparatory internship seminar helps students prepare for their upcoming professional placement. The course focuses on reflecting on personal expectations, strengths, and areas for development while addressing uncertainties related to the workplace. Through group exercises, role-playing activities, and feedback techniques, students develop communication and conflict resolution skills and strengthen their teamwork and professional self-awareness.

  2. Praktikum

    The internship enables students to apply the knowledge and methods acquired during their studies in a professional environment. Students work on practical tasks in a company in Germany or abroad, actively participate in teams, and gain experience with modern development tools and processes. A structured work plan and a comprehensive internship report support reflection and the transfer of academic knowledge to practice.

  3. Nachbereitendes Praxisseminar PLV 2

    This post-internship seminar supports the reflection and evaluation of experiences gained during the internship. Students present their activities and insights in short presentations followed by discussions of both content and presentation style. Through constructive feedback and peer exchange, they enhance their communication, reflection, and presentation skills.

  4. Informations- und Medienkompetenz PLV 3

    This module develops competencies in scientific information retrieval and the professional use of academic resources. Students learn research strategies, scientific publishing processes, and the use of library catalogs, specialized databases, standards, and patents. The course also covers academic writing, proper citation techniques, bibliography management, and the practical use of reference management tools.

Vorbereitendes Praxisseminar PLV 1

<p>This preparatory internship seminar helps students prepare for their upcoming professional placement. The course focuses on reflecting on personal expectations, strengths, and areas for development while addressing uncertainties related to the workplace. Through group exercises, role-playing activities, and feedback techniques, students develop communication and conflict resolution skills and strengthen their teamwork and professional self-awareness.</p>

Praktikum

<p>The internship enables students to apply the knowledge and methods acquired during their studies in a professional environment. Students work on practical tasks in a company in Germany or abroad, actively participate in teams, and gain experience with modern development tools and processes. A structured work plan and a comprehensive internship report support reflection and the transfer of academic knowledge to practice.</p>

Nachbereitendes Praxisseminar PLV 2

<p>This post-internship seminar supports the reflection and evaluation of experiences gained during the internship. Students present their activities and insights in short presentations followed by discussions of both content and presentation style. Through constructive feedback and peer exchange, they enhance their communication, reflection, and presentation skills.</p>

Informations- und Medienkompetenz PLV 3

<p>This module develops competencies in scientific information retrieval and the professional use of academic resources. Students learn research strategies, scientific publishing processes, and the use of library catalogs, specialized databases, standards, and patents. The course also covers academic writing, proper citation techniques, bibliography management, and the practical use of reference management tools.</p>

  1. IT-Recht

    This module introduces the legal foundations of information technology and digital business models. Topics include contract law, e-commerce, data protection, copyright, domain law, and legal requirements for websites, apps, and online services. Students also explore aspects of cybercrime, legal procedures, and regulatory issues related to modern digital technologies and applications.

  2. Projekt

    a { text-decoration: none; color: #464feb; } tr th, tr td { border: 1px solid #e6e6e6; } tr th { background-color: #f5f5f5; } This project module provides hands-on experience in collaborative software development. Students plan and implement a software project using agile methods such as Scrum or Kanban. They work with modern development tools, apply practices including pair programming, test-driven development, unit testing, and CI/CD, monitor project progress, and present the final project results.

  3. Statistik und Kombinatorik

    This module provides mathematical foundations for the description, analysis, and interpretation of data. Topics include combinatorics, probability theory, descriptive statistics, and inferential statistical methods. Students learn hypothesis testing, confidence intervals, regression and correlation analysis, as well as techniques for investigating relationships and differences within datasets.

  4. Grundlagen der Betriebswirtschaft und des Gründertums

    This module introduces the fundamentals of business administration and entrepreneurship. Topics include organization, marketing, finance, accounting, investment analysis, innovation management, and business model development. Students explore entrepreneurship and intrapreneurship concepts and apply them in a startup project by developing product ideas, business models, and marketing strategies.

  5. Fachwissenschaftliche Wahlpflichtfächer

    In the sixth semester, students select one of two advanced electives for individual specialization. Embedded Systems and Real-Time Systems focuses on cyber-physical systems, real-time operating systems, and time-critical applications. Parallel Programming covers parallel computer architectures, multithreading, GPU programming, and efficient parallel algorithms for high-performance software systems.

  6. IT-Sicherheit

    This module introduces the fundamentals and methods of IT security for protecting systems, networks, and applications. Topics include security management, risk assessment, network security, operating system hardening, access control, and secure software development. Students also learn cryptographic techniques, public key infrastructures, and the mathematical foundations of modern security mechanisms and apply them to practical security concepts.

IT-Recht

<p>This module introduces the legal foundations of information technology and digital business models. Topics include contract law, e-commerce, data protection, copyright, domain law, and legal requirements for websites, apps, and online services. Students also explore aspects of cybercrime, legal procedures, and regulatory issues related to modern digital technologies and applications.</p>

Projekt

<p>a { text-decoration: none; color: #464feb; } tr th, tr td { border: 1px solid #e6e6e6; } tr th { background-color: #f5f5f5; }</p> <p>This project module provides hands-on experience in collaborative software development. Students plan and implement a software project using agile methods such as Scrum or Kanban. They work with modern development tools, apply practices including pair programming, test-driven development, unit testing, and CI/CD, monitor project progress, and present the final project results.</p>

Statistik und Kombinatorik

<p>This module provides mathematical foundations for the description, analysis, and interpretation of data. Topics include combinatorics, probability theory, descriptive statistics, and inferential statistical methods. Students learn hypothesis testing, confidence intervals, regression and correlation analysis, as well as techniques for investigating relationships and differences within datasets.</p>

Grundlagen der Betriebswirtschaft und des Gründertums

<p>This module introduces the fundamentals of business administration and entrepreneurship. Topics include organization, marketing, finance, accounting, investment analysis, innovation management, and business model development. Students explore entrepreneurship and intrapreneurship concepts and apply them in a startup project by developing product ideas, business models, and marketing strategies.</p>

Fachwissenschaftliche Wahlpflichtfächer

<p>In the sixth semester, students select one of two advanced electives for individual specialization. Embedded Systems and Real-Time Systems focuses on cyber-physical systems, real-time operating systems, and time-critical applications. Parallel Programming covers parallel computer architectures, multithreading, GPU programming, and efficient parallel algorithms for high-performance software systems.</p>

IT-Sicherheit

<p>This module introduces the fundamentals and methods of IT security for protecting systems, networks, and applications. Topics include security management, risk assessment, network security, operating system hardening, access control, and secure software development. Students also learn cryptographic techniques, public key infrastructures, and the mathematical foundations of modern security mechanisms and apply them to practical security concepts.</p>

  1. Programmierparadigmen und deren Sprachen

    This module introduces fundamental programming paradigms and their theoretical foundations. Topics include procedural, object-oriented, functional, and logic programming, as well as the lambda calculus as the basis of functional languages. Students explore modern languages such as Haskell, Scheme, Scala, and Standard ML and gain experience with evaluation strategies, parser implementation, and the application of functional concepts in mainstream programming languages.

  2. Fachwissenschaftliche Wahlpflichtfächer

  3. Bachelorarbeit

    The bachelor’s thesis represents the final academic achievement of the degree program. Students independently formulate a research question and address it using scientific methods and structured problem-solving approaches. The thesis requires the application of research techniques, project and time management skills, and the clear documentation of results. Findings are presented to a professional audience and critically discussed.

  4. Seminar Bachelorarbeit

    This seminar supports students in preparing their bachelor’s thesis. Students identify and refine a suitable topic, coordinate with their examiners, and develop an initial content and project plan. The course covers scientific research methods, including literature review, reproducibility, traceability, proper citation, and plagiarism-free writing. It also strengthens communication and time management skills essential for a successful thesis project.

Programmierparadigmen und deren Sprachen

<p>This module introduces fundamental programming paradigms and their theoretical foundations. Topics include procedural, object-oriented, functional, and logic programming, as well as the lambda calculus as the basis of functional languages. Students explore modern languages such as Haskell, Scheme, Scala, and Standard ML and gain experience with evaluation strategies, parser implementation, and the application of functional concepts in mainstream programming languages.</p>

Fachwissenschaftliche Wahlpflichtfächer

Bachelorarbeit

<p>The bachelor’s thesis represents the final academic achievement of the degree program. Students independently formulate a research question and address it using scientific methods and structured problem-solving approaches. The thesis requires the application of research techniques, project and time management skills, and the clear documentation of results. Findings are presented to a professional audience and critically discussed.</p>

Seminar Bachelorarbeit

<p>This seminar supports students in preparing their bachelor’s thesis. Students identify and refine a suitable topic, coordinate with their examiners, and develop an initial content and project plan. The course covers scientific research methods, including literature review, reproducibility, traceability, proper citation, and plagiarism-free writing. It also strengthens communication and time management skills essential for a successful thesis project.</p>

Curriculum Computer Science — Overview of all semesters and modules
1. Semester
  • Einführungsprojekt
  • Grundlagen der Programmierung 1
  • Rechnerarchitektur
  • Mathematische Grundlagen 1
  • Physikalische und elektrotechnische Grundlagen
  • Englisch
2. Semester
  • Grundlagen der Programmierung 2
  • Mathematische Grundlagen 2
  • Betriebssysteme
  • Technik der Mensch-Maschine Interaktion
  • Rechnernetze
3. Semester
  • Algorithmen und Datenstrukturen
  • Software Engineering
  • Webtechnologien
  • Verteilte Systeme
  • Wissensbasierte Systeme
4. Semester
  • Datenbanksysteme
  • Fachwissenschaftliches Seminar
  • Grundlagen der Theoretischen Informatik
  • Diskrete Mathematik
  • Computergrafik
  • Projektmanagement
5. Semester
  • Vorbereitendes Praxisseminar PLV 1
  • Praktikum
  • Nachbereitendes Praxisseminar PLV 2
  • Informations- und Medienkompetenz PLV 3
6. Semester
  • IT-Recht
  • Projekt
  • Statistik und Kombinatorik
  • Grundlagen der Betriebswirtschaft und des Gründertums
  • Fachwissenschaftliche Wahlpflichtfächer
  • IT-Sicherheit
7. Semester
  • Programmierparadigmen und deren Sprachen
  • Fachwissenschaftliche Wahlpflichtfächer
  • Bachelorarbeit
  • Seminar Bachelorarbeit

Structure

First and Second Semesters

The first two theoretical semesters comprise the basic subjects of mathematical principles, programming, computer architecture, operating systems, fundamentals of business management, and English.

Second study phase

This phase comprises four theoretical semesters and one practical semester (generally the fifth), in which the following subjects are covered in more depth: software engineering, computer networks, database systems, algorithms and data structures, modelling and simulation, knowledge-based systems, web technologies, IT security, IT law, discrete and applied mathematics, principles of physics and electrical engineering, seminar, project, project management, and electives.

Interesting Facts

  1. Dual study programme

    A combined model (degree programme & vocational training) OR a degree programme with in-depth practical experience (degree programme and intensive practical placements) are available. For the dual study programme, you must apply both to the company and to the university (please note: be sure to check the company’s application deadlines!). 

  2. Studying abroad whilst at university

    During your studies, you will have the opportunity to gain international experience. THI has an international network comprising more than 150 partner universities as well as numerous international companies worldwide. Our International Office serves as a central point of contact for all students.

  3. Funding for Studies

    At THI, students have access to a wide range of support options in the form of scholarships. We recommend that students living on their own budget for at least 700–900 EUR per month for personal expenses (accommodation, health insurance, food, books, tuition fees).

Admission requirements
To gain admission to the programme, applicants need one of the following qualifications for university entrance:

  • Abitur (European Baccalaureate, A-Levels, High School Diploma)
  • Fachhochschulreife (Vocational Baccalaureate)
  • Fachgebundene Hochschulreife (Specialised A-Level)

Admission requirements for international students
If you wish to study at a German University, you need a so-called Hochschulzugangsberechtigung (HZB), or higher education entrance qualification. This is a secondary school-leaving certificate that corresponds to the German Abitur and entitles you to study.
Students from abroad must apply for admission from the university of their choice. For your application, you will require for a Bachelor's degree:

  • a school-leaving certificate (also known as "university entrance qualification", e.g. High School Diploma, Matura, A-Levels, Bachillerato, Atestat, baccalauréat)
    or
  • proof that you have passed the university entrance examination (if required in your home country)
  • (Source: German Academic Exchange Service, DAAD, July 2016)

Laboratories

The computer networks laboratory houses the typical components of the kind of high-performance computer network found in large corporate networks and operated by service providers. In this environment, students make their first encounters with the functions and practical structure and operation of computer networks (LAN).

Every semester, practical activities for the lecture in computer networks are conducted in this laboratory. Parallel to the lecture, between 50 and 100 students from a variety of study programmes test and build on their knowledge of a computer's basic communicative functions, resulting in interesting insights into the operation of networks; these are also valuable when it comes to creating personal computer networks at home.

The laboratory also houses a large area for projects and experiments involving W-LAN technology as well as experiments and exercises in IT security.

Questions

Any questions?

Do you have any questions about applications, admission, enrolment, student finance, accommodation or other general topics? If so, please use our contact form and select the relevant topic. This will ensure your enquiry is sent directly to the relevant contact person(s) and can be answered quickly and effectively.

People

Programme director and academic advisor

  1. Prof. Dr. rer. nat. Franz Regensburger

    Programme director and academic advisor "Computer Science" B. Sc. / academic advisor "Computer Science" M. Sc.

    Prof. Dr. rer. nat. Franz Regensburger
Jump to the top of the page