The Low-power Embedded Networked Systems (LENS) group is a team of researchers focusing on future connected wireless embedded systems, aiming to make them more dependable and sustainable. The team's activities can be broadly characterized as "systems and application-driven experimental research" at the intersection of wireless networking, embedded systems, and IoT applications.
We offer a number of courses, seminars, and labs focusing on embedded and real-time systems, (inter-)networked and mobile systems, as well as on wireless sensor networks and self-organizing / self-adaptive systems. Additional details about the individual classes can be found below.
The "Embedded Internet" courses give an overview of the foundations of the Internet of Things (IoT) from a networking perspective. In these courses, you will learn how billions of embedded systems can continuously (wirelessly) convey information about the state of things and places in a reliable, timely, and energy-efficient fashion, thus enabling the development of the aforementioned applications. The lecture course is offered together with a practical laboratory course where you will have the chance to develop IoT applications using off-the-shelf IoT hardware and Contiki, the open-source OS for the Internet of Things (http://contiki-os.org/).
The "Design of Real-Time Systems" courses focus on applications, platforms and architectures of real-time systems. Topics addressed in the lecture include (i) programmable logic controllers, (ii) real-time networks, (iii) process interfaces to sensors and actuators, (iv) real-time operating systems, (v) real-time schedulung, (vi) real-time programming languages, (vii) life cycle and models, (viii) specification languages, and (ix) synthesis of hardware and software from specifications. The accompanying exercises focus on various scheduling methods, their advantages and disadvantages and on various methods of task-communication.
The "Context-Aware Computing" courses are devoted to networked embedded systems wthat perceive their environment (the "context") and adapt their behavior to this context. The lecture covers two fundamental approaches. Firstly, self-adaptive systems whose state and environment is centrally observed and whose behavior is also centrally controlled. Secondly, self-organizing systems that consist of many cooperating elements who individually observe their state and environment and adapt their behavior using only local information. Here, we first investigate natural self-organizing systems (e.g., school of fish, flocks of bird, ant colonies) to understand the principles of self-organisation before we apply these to technical systems (robotic swarms, ad hoc networks). The exercises focus on NetLogo programming, and deepen the contents of the lecture with special emphasis on self-adaptation and self-organization.
The "Embedded Systems" course gives a broad introduction to modern embedded systems. After giving an overview of the various application domains, the course covers architectures, hardware platforms, software and real-time requirements, modeling and verification aspects, as well as methods and technologies enabling the distribution of embedded systems and their connection to the Internet. In the accompanying laboratory course, students can define a custom project in the area of embedded systems they wish to develop.
The "Sensor Networks" courses focus on networks of wireless sensors that are used to recognize, classify, and localize events in the real-world. Topics addressed in the lecture include (i) applications of wireless sensor networks and challenges, (ii) hardware and miniaturization of wireless sensor nodes, (iii) operating systems for wireless sensor nodes, (iv) energy-efficient wireless networking, (v) time synchronization, (vi) positioning, and (vii) sensor data processing. The accompanying laboratory course introduces the programming of wireless sensor nodes using the Contiki operating system, with special emphasis on communication aspects and real-time position determination using ultra-wideband technology.
The "Technical Informatics I" courses cover structure and concepts of digital computing systems, such as: (i) the layered model of a digital computer; (ii) the level of the logical circuits: boolean algebra, combinatorial logic, and sequential logic; (iii) the micro architecture; (iv) the machine language level, i.e., main memory, accumulator-, register-, and stack-architecture, addressing, op-code formats, assembly language, I/O, Interrupts, DMA control, arbitration methods, as well as data security. The exercises deepen these concepts with practical examples about the individual components of a digital calculator.
In the seminar courses, starting from an article published at a scientific conference, students typically select a topic for their presentation, survey literarture on this topic, and prepare a presentation. After the presentation a discussion with the other participants follows. Our group offers seminars devoted to selected topics on "distributed embedded systems" (embedded computing systems which are interconnected by wireless or wired networks) as well as on "mobile computing systems" (which typically sense their environment and offer location-dependent services). An additional course on "introduction to scientific research for computer engineers" covers a broad range of subjects with which a PhD student working towards his/her dissertation should be familiar and targets computer engineers at the beginning of their PhD studies, as well as MSc students in computer engineering that are considering to enroll into a PhD program.
For more topics available at our Institute, please check here.
A complete list of BSc/MSc theses that have been completed in our group can be found here.