ERASMUS+
Erasmus Coordinator
Erasmus Partnerships
List of Lectures
BACHELOR - Englisch (PDF)
Code | Name | Lecturer | Learning material | Semester | ECTS |
---|---|---|---|---|---|
565030 | Real-Time Systems* | Prof. M. Werner | English & German | Summer | 5 |
Contents: Programs:
Bachelor Computer Science and Applied Computer Science; Bachelor Biomedical Technology; Master Computer Science and Applied Computer Science; Master Automotive Software Engineering; Master Embedded Systems; Master Web Engineering. Overview: This course introduces concepts and design methods for real-time systems. Topics include real-time requirements, scheduling, resource conflicts, real-time communication, and soft real time. Objects: Theory and practice of calculation systems used to solve time-critical problems: Time management, standards, clocks; Scheduling procedures of periodic and aperiodic requirements; Resource management (priority inversion, ~ inheritance, ~ ceiling); Management of mass storage; Caching and main memory management; Error tolerance in real-time systems; Appropriate communication mechanisms and protocols; Processor architectures for real-time systems; Real-time operating systems. Qualification objectives: Knowledge of the general principles of real-time systems.
Requirements: Basic knowledge on computer architecture/organization; Programming basics; Operating system concepts; Basic knowledge on mathematics.
|
|||||
553150 | XML* | Prof. M. Gaedke | English | Winter | 5 |
Contents: Overview:
Introduction to Markup languages and XML;
Basic approaches, such as DTD, XML schemes, XML editors, XML applications, linking, XPath, XSL/XSLT;
Data formats and tools, i.e. SVG, RSS;
Semantics Formats and tools, i.e. RDF, OWL, digital rights with Creative Commons;
User interface Formats and tools, i.e. XHTML, XForms, MicroFormats;
Application logic Formats and tools, i.e. existing XML Web Services for advertising, blogs, collaboration, content analysis, E-commerce, maps, social bookmarking, search, sight/sound/motion, storage, tagging.
Requirements: Computer Networks
|
|||||
553030 | Design of Distributed Systems* | Prof. M. Gaedke | English | Winter | 5 |
Contents: Overview:
Computer and communication networks, as well as the web, have developed into an efficient work tool, a universal information source and a nearly ubiquitous communication medium in the past two decades. They are an indispensable part of our everyday lives. They are formed by the union of different systems that communicate with each other over networks, thus enabling information sharing among themselves. Data exchange and forwarding are performed by applying appropriate approaches and algorithms, which are called protocols. This module deepens the knowledge about the basic approaches, concepts and principles of such distributed systems. This includes Internet and World Wide Web technologies as well as an introduction ofthe development of Web Services and Service-Oriented Architectures (SOA).
The module provides insight into different approaches of distributed systems and an in-depth look at the central aspects of the design of distributed systems. Objects:
Improved knowledge of approaches, methods, principles and tools in the field of distributed systems and web engineering; Ability to design, implement and manage complex distributed applications. Requirements: Computer Networks
|
|||||
553130 | Security Distributed Software* | Prof. M. Gaedke | English | Summer | 5 |
Contents: Overview: The course focuses on problems in security of computer networks and connected applications. We will show possibilities of attack and weaknesses and discuss safety concepts. The course includes: Introduction to identity, dangers, risks, healing and security; Objects: Basic understanding of mechanisms for securing computer systems such as identity and authorization management, secure handling of XML applications and tools. Learn about systematic approaches of security in distributed systems. Requirements: Computer Networks
|
|||||
573180 | Neurocomputing* | Dr. J. Vitay | English | Winter | 5 |
Contents: Overview:
This module replaces Machine Learning (ML, 573050) and focuses on neural networks in various forms. The course will present an introduction to the research field of Machine Learning, including deep learning, as well as neural architectures that can be used to simulate cognitive functions. The different algorithms presented during the lectures will be studied in more detail with exercises and implementations in Python. Focus:
Objects:
Knowledge of the neural networks. Requirements: Modules in Mathematics I to IV
Basic knowledge in Python.
|
|||||
573010 | Computer Vision* | Jun-Prof D. Kowerko | English | Winter | 5 |
Contents: Overview:
The course is an introduction to computer vision, from basic image processing (filters, Fourier transformation) to more advanced algorithms (object recognition, movement, facial features extraction). The module provides an introduction to image comprehension, with particular reference to methods of artificial intelligence. Emphasis is on the understanding of images.
Focus:
Objects: Requirements: Modules in Mathematics I to IV
Basic knowledge in Python. |
|||||
561030 | Multicore Programming* | Prof. G. Rünger | English & German | Winter | 5 |
Contents: Overview:
The lecture comprises an introduction to the architecture of multicore processors, programming models for multicore programming, and the programming with threads. Different languages and library-based approaches for thread-programming are covered. The contents of the lecture include:
Overview of multicore processors, multicore thread sets, multicore programming, multi-core programming, Java threads, new language sets, transaction memory. Objects:
Knowledge of all concepts and recent developments in multicore programming as well as their practical application in software development for multicore architectures. Requirements: Programming knowledge in C;
Basic knowledge of computer architecture. |
|||||
555070 | Hardware/Software-Codesign I* | Prof. W. Hardt | English & German | Winter | 5 |
Contents: Overview:
Embedded Systems are digital, software based systems that work within bigger systems and control the behavior of these systems. They are based on a hardware platform and software programs of different complexity. These systems are playing an important role in our daily life. Examples are mobile phones, washing machines, control units (car, plane, ...) and control systems for industrial machines.
Focus:
The subject can be continued with Hardware/Software Codesign II which is offered in the next semester.
Objects:
Basic understanding of the Hardware/Software Codeign Requirements: none
|
|||||
555090 | Hardware/Software-Codesign II* | Prof. W. Hardt | English & German | Summer | 5 |
Contents: Overview:
These systems are playing an important role in our daily life. Examples are mobile phones, washing machines, control units (car, plane, ...) and control systems for industrial machines.
Based on the lecture of the Hardware/Software Codesign I (System Architectures, Code Generation, Partitioning) this course covers further methodologies and technologies, which are necessary and widely spread for the development of complex embedded systems.
Main topics are:
Estimation of Design Parameters; Interfaces and Interface Synthesis; Rapid Prototyping and Emulation; Co-Specification and Co-Simulation. The course Hardware/Software Codesign II includes a practical course, where an exemplary HW/SW system has to be implemented.
It includes hardware development (VHDL) and low-level software implementation (C).
Digilent Nexys 3 boards with a XILINX Spartan 6 FPGA are used as target architectures. Requirements: Basic knowledge in Hardware/Software-Codesign I
|
|||||
555010 | Formal Specification and Verification* | Prof. W. Hardt | English | Summer | 5 |
Contents: Overview: Presentation of selected topics from the field of formal specification and verification of distributed embedded systems based on examples from the aerospace (and automotive) industry; Languages for system design and verification, including their mathematical, process-algebraic foundation; Introduction to public domain tools for system design, system simulation, and model checking (e.g. SPIN and UPPAAL). Focus: Objects: Requirements: Basic knowledge in hardware / software code design.
|
MASTER (Englisch)
Code | Name | Language | Learning material | Semester | ECTS |
---|---|---|---|---|---|
556010 | Timing-Aware Programming for Embedded Systems | Prof. A. Masrur | English & German | Summer | 5 |
Contents: Overview: Since embedded systems usually have to react to changes in the embedding environment, they need to guarantee a correct timing behavior. For example, the Electronic Stability Program (ESP) in a car constantly monitors speed, grip, etc. of wheels and reacts accordingly to avoid skidding and sliding. Clearly, to achieve the desired effect, ESP needs to react to changes within given time upper bounds or deadlines. Traditionally, when developing embedded systems, programming languages such C, C++ or Java are used. However, these were initially not conceived for this purpose and do not provide any language-level support for specifying timing within programs. As a consequence, the testing and verification process becomes very cumbersome. In this course, we will study programming languages which specifically originated for developing embedded software. Such programming languages allow accounting for timing and ease the process of guaranteeing a correct behavior of programs. In particular, we will deal with so-called synchronous languages such as Esterel and Lustre. The course makes special emphasis on the differences between synchronous and traditional languages, on the advantages and disadvantages of different programming paradigms, etc. In addition, participants will have the opportunity of gaining experience with the different languages and getting to know commercially available tools in a number of lab sessions. Objects:
Understanding of the difficulties in the development of real-time and embedded systems; Deep understanding of synchronous programming languages, their advantages and disadvantages;
Basic experience with real-time programming languages to develop embedded software
Requirements: knowledge of C programming language basic understanding of real-time and embedded systems
|
|||||
565130 | Dependable Systems | Prof. M. Werner | English & German | Winter | 5 |
Contents: Programs:
Master Computer Science; Master Applied Computer Science;
Master Automotive Software Engineering;
Master Biomedical Technology;
Master Web Engineering. Overview:
Objects: Basic approaches and measures of fault tolerance; Disturbance models;
Techniques of error diagnosis;
System level fault tolerance;
Error in software.
Modeling qualification objectives: Acquisition of skills to analyze system reliability and basic understanding of problems of design of reliable systems.
Requirements Basic knowledge on computer architecture/ Requirements: Basic knowledge on computer architecture/organization;
Operating system concepts;
Basic knowledge on mathematics, esp. probability calculus.
|
|||||
553090 | Software Service Engineering | Prof. M. Gaedke | English | Winter | 5 |
Contents: Overview:
Service-oriented architectures (SOA) represent an important technology for modern software development for the web and cloud. The advantages of SOA as a paradigm for distributed computing and as a basis of modern, distributed software are diverse. Numerous architectural styles exist for the identification, use, linking, realization and dissemination of loosely coupled software services accessible via the Internet or the Web. The module presents basic approaches, concepts, technologies, protocols and principles of modern software services and deepens their systematic application in the area of Web Engineering as well as SOA and distributed software. The following aspects are deepened:
Objects:
Overview of basic questions and problems in service-oriented architectures (SOA); Classical protocols such as HTTP, SOAP and WS- *, knowledge of the use of REST architecture, understanding of different SOA aspects, design, implementation, operation, and development of software services; Approaches, models, technologies, principles and tools for software services in the context of distributed software. Requirements: Computer Networks
|
|||||
553050 | Cloud & Web Applications | Prof. M. Gaedke | English | Summer | 5 |
Contents: Overview:
The module introduces the "web and cloud phenomenon" as well as the development of distributed applications and systems. The constant and rapid change of requirements due to the global competition in software solutions poses new challenges for technology, software development and operation. In order to achieve organizational goals, IT systems must not only be adaptive, flexible and integrative, but should also be flexible and self-organizing. Modern software development therefore uses flexible development processes and a mix of service-oriented architectures, web applications and cloud infrastructures to develop software solutions. The software development of such solutions must consider a variety of different aspects of distributed software in order to meet the requirements and basic quality criteria. The first of the three goals of the module focuses on basic and modern software development processes from Web Engineering. In addition to the development process, the second goal is further developments in architecture, models, principles, protocols, technologies and tools as well as the evolution of the web application. Special attention is given to flexible and elastic software solutions. Both technical solutions and corresponding elastic concepts are considered. Finally, the last goal is the different forms and possibilities of the public and private cloud, which are the third focus of the module. In addition, relevant, up-to-date aspects and trends are discussed.
Objects:
Knowledge of basic problems in the field of modern software solutions, distributed software, web applications and cloud computing; In-depth knowledge of approaches, methods, models, principles and tools in the area of web engineering and cloud computing; Ability to design, implement and operate sophisticated distributed applications; Understanding and knowledge of different application architectures for flexible and flexible software solutions; Approaches, models, technologies, principles, and tools for web applications and cloud computing. Requirements: Computer Networks
|
|||||
553010 | Social Media & Web Science | Prof. M. Gaedke | English | Winter | 5 |
Contents: Overview:
Social media and social networks change our perception of communicative structures and bring changes to many social, economic and political aspects. Over the last two decades, the communicative infrastructure has changed dramatically with regional, national and global dynamics. And today? Do social media and networks represent an opportunity for all communicative processes? How can new applications be derived from the mass data and their links, which are already made available through the web and are constantly being expanded by social media? What is the potential of observing these developments and how can they be mastered? The module introduces basic aspects of social networks and social media as well as web science. Aspects of architecture, system theory, and emergence-related phenomena such as self-organization are examined. Next, technologies, frameworks and standards such as protocols and relevant ontologies are taught. And finally, current trends and problems in the areas of research are deepened by research and literature. Objects: Overview of basic questions and problems in the field of social media and web science; Understanding of emergence phenomena; Standards, protocols, ontologies as well as approaches, models, technologies, principles and tools for working with and using social media and web science. Requirements: Basic knowledge of Computer Networks
|
|||||
573070 | Neurocognition I | Prof. F. Hamker | English | Winter | 5 |
Contents: Overview:
Neurocognition is a new branch of cognitive science, which derives knowledge from research about the human brain. The lecture will show how realistic neural models can be generated and used to explore the working principles of the human brain. It is shown how typical intelligent activities such as learning, attention orientation, object recognition etc. can be explained as operations in neural networks. For a deeper understanding, the exercises also require practical tasks on the computer. Neurocognition I provides an introduction to computational modelling at the neural level. Starting with basic properties of electrical circuits, different formal neuron models are introduced. The second focus is devoted to learning and plasticity, where different learning rules are introduced and discussed. Finally, different network mechanisms form the base for complex large-scale models of the brain. Objects: Basic knowledge of Neurocognition in theory and practice Requirements: none
|
|||||
573130 | Neurocognition II | Prof. F. Hamker | English | Summer | 5 |
Contents: Overview:
Neurocognition II illuminates more complex models of neuropsychological processes with the aim of developing new algorithms for intelligent, cognitive robots. Topics are perception, memory, action control, emotions, decisions and perception of space. For a deeper understanding, the exercises also come with practical training on the computer. Neuro-cognition II is particularly devoted to model perception cognition and behavior in large-scale neural networks. The course introduces models of early vision, attention, object recognition, space perception, cognitive control, memory, emotion and consciousness. Objects: Specific knowledge of Neuro-cognition in theory and practice. Requirements: none
|
|||||
555110 | Software Platforms for Automotive Systems | Prof. A. Masrur | English | Winter | 5 |
Contents: Overview:
ECUs (Electronic Control Unit) are highly connected embedded systems that implement a variety of functions within a vehicle. Both their numbers and the amount of data exchanged hereby increase steadily as cars are becoming more and more complex. In order to master this complexity, specific development methodologies and processes are used. This lecture offers a basic introduction to the development of automotive ECUs. Based on the V-model, an assortment of relevant processes, methods and technologies will be highlighted. Main topics of this course are: Specification methods; Technical design of ECUs;
System architecture; Automotive communication buses such a CAN and Flex-Ray;
AUTOSAR; Test and validation methods such as HIL, SIL, etc.
Objects: Basic knowledge about the development and construction of automotive control devices; Specific knowledge in system architecture, bus technologies and design and test of control devices
Requirements: none
|
|||||
565050 | Design of Software for Embedded Systems | Prof. A. Masrur | English | Summer | 5 |
Contents: Overview:
Embedded systems play an important role in our every-day lives. In general, they consist of microcontrollers, which are integrated in and control so-called embedding systems such as cars or planes. Since embedded systems strongly interact with their environment, they need to work in real time, i.e., deadlines need to be met. In addition, embedded systems need to cope with limited resources such as a reduced computing and/or memory capacity, power limitations, etc. As a result, a variety of techniques and technologies are used which are, in principle, completely different to those typically used in the desktop or data processing domains and constitute the focus of this course. Main topics are: Concepts and tools for the development of embedded software;
Modeling and guaranteeing real-time constraints;
Basic concepts of control theory;
Typical hardware architectures for embedded systems;
Model-based software development, etc.
Objects: Ability to evaluate and classify development methods for embedded software, especially in the automotive sector. Requirements: Basic knowledge in operating systems and software development.
|
|||||
565040 | Embedded Software Lab | Prof. M. Werner | English | Winter | 5 |
Contents: Overview:
The course targets the development and analysis of software for embedded systems. It is organized as a supervised lab, where participants develop a proprietary serial communication protocol on an ATMega microcontroller in C. At the end of the course, all student implementations will be connected and interact with each other. The course is offered in English language. Depending on the participant feedback, it can also be offered in German language. The first meeting is a lecture, where all subsequent meetings are organized as lab work. Each lab requires preparation in the form of coding assignments, for which the lab room is available during the whole lecturing period. Your solution must be presented both to other students and the supervisors during the lab. Suggested or necessary changes can then still be implemented. Between the labs, the discussion forum should be used for interaction between the students and the supervisors. The course has a participant limit of 36 students and you will work in teams of 2 persons. The registration for this course takes place during the initial lecture. In case the number of interested students is too high, we will conduct a small multiple choice test during the first lecture. Based on your score in this test, you may be allowed to participate. Requirements: One prerequisite for this course is a success grade in the Design of Software for Embedded Systems (565050) course. Besides that, you must have solid knowledge in the following topics:
Working in the Linux operating system
Development of real-time applications in C
Hardware-oriented software development, e.g. with memory-mapped I/O
The following skills are helpful, but can also be obtained by self-studying during the course:
Working with the version control system Git;
Working with the documentation system Doxygen;
Reading chip documentations;
Working with MINICOM;
Code review skills.
|
|||||
555190 | Hardware Development with VHDL | Prof. W. Hardt | English | Winter | 5 |
Contents: Overview:
The paradigms and concepts of combinatorial or sequential digital systems are different from the concepts of imperative programming languages. This course outlines paradigms of hardware development and compares them to the concepts of imperative programming languages. VHDL is used as modelling language of sequential digital systems.
Main topics are:
VHDL basics (concepts, syntax, semantics);
Comparison to imperative programming languages;
Combinatorial systems and their modelling;
Sequential systems and their modelling;
Components of register-transfer level and its VHDL modelling;
Modelling and implementation of complex systems;
Best practice in VHDL modelling.
The usage of development tools for simulation and synthesis will be taught as well. Objects: Understanding of the paradigms of hardware development and of the modelling language VHDL; Experiences in modelling, simulating and synthesis of combinatorial and sequential systems. Requirements: Precondition for participation on HW/SW Codesign II (Module 555090)
|
|||||
555170 | Automotive Software Engineering | Prof. W. Hardt | English | Summer & Winter | 5 |
Contents: Overview:
This course offers insight into the software development of ECUs (Electronic Control Unit), in which the aspects of communication and standardization are particularly important. The course consists of a lecture and five practical units. Main topics are bus systems (e.g. CAN), system architecture (e.g. AUTOSAR) and testing of ECUs. The internship offers in-depth insights into software development for ECUs. Communication and standardization are of particular importance here. Objects: Acquire skills and abilities to design and test ECU functions. Requirements: C Programming
|