Перелік предметів подвійної магістратури

Перелік обов'язкових предметів

Українська назваПаттерни і фреймворки проектування
Є обов’язковимТак
ВикладачProf. Dr. rer. nat. habil. Uwe Aßmann

Software development problems have a tendency to reoccur in different projects. Thus, one way to increased efficiency in developing software is increased reuse of solutions previously developed. Very often, however, problems repeat in a similar, but not exact manner, making code reuse hard to impossible.

Patterns are the way out of this problem. They allow the reuse of an idea, without requiring exact code reuse (as components would). One important type of pattern are Design Patterns as introduced by the so-called “Gang of Four” (Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides).
 
Flexible reuse in a manner closer to code reuse can be provided through software frameworks. These make use of many design patterns to enable a high degree of flexibility while providing some basic structure.
 
This course presents, after an introduction to the GOF patterns, modern material on advanced design patterns and their employment in frameworks.
Українська назваРозподілені системи
Є обов’язковимТак
ВикладачProf. Alexander Schill

The lecture introduces problems, concepts and solutions of Distributed Systems. It covers basic principles such as the client/server model, remote procedure call, distributed object-oriented systems as well as current standards. After hearing the lecture, the student should be able to analyze the requirements of a distributed application and to convert this analysis into a practical solution.

Українська назваМобільний зв’язок і обчислення
Є обов’язковимТак
ВикладачProf. Alexander Schill

​Огляд принципів, стандартів і рішень для мобільного зв’язку і їх прикладних програм в рамках мобільних обчислень. Оснований на фізичних засадах каналів мобільного зв’язку, представлені типові стандарти, такі як GSM (Global System for Mobile Communication). Представлені методи визначення розташування мобільних користувачів і мобільних пристроїв. В галузі програмної підтримки, обговорюються типові архітектури програмного забезпечення і сервісів для мобільних пристроїв.

Українська назваБезпека і Криптографія 1
Є обов’язковимТак
ВикладачDr.-Ing. Stefan Köpsell

Введення у безпеку, приватність і криптографію даних. Курс покриває широкий спектр основ балансування безпеки комп’ютерів в теорії й на практиці. Акцент робиться на технічних концепціях, а також з економічного і технічного погляду і впровадження на практиці.

Українська назваВідмовостійкість програмного забезпечення
Є обов’язковимТак
ВикладачProf. Dr. Christof Fetzer

During the development of software it is infeasible to find all its bugs, which can reach as far back as the design phase. Therefore, it is reasonable to deal with the remaining software faults (bugs) during runtime to increase the overall reliability. This course will evaluate a selection of fault-tolerance mechanisms and analysis methods that can be applied statically or dynamically.

Українська назваСистемне проектування 1
Є обов’язковимТак
ВикладачProf. Dr. Christof Fetzer

Системне Проектування розглядає роботу платформ проектування, побудови і експлуатації програмного забезпечення. Курс орієнтований на актуальні теми пов’язані з архітектурою розподілених систем. Він включає демонстрацію паралелізму на поточному апаратному забезпеченні, забезпечення здатності до компоновки і безпеки складених модулів, методи тестування для пошуку помилок на початкових етапах, а також управління людськими ресурсами із заохочуванням до співробітництва. 

Українська назваСистемне проектування 2
Є обов’язковимТак
ВикладачProf. Dr. Christof Fetzer

​Дуже великі системи, як правило, розподілені по декільком вузлам, що робить їх більш масштабованими і надійнішими. Даний курс представляє реальні приклади сервісів великих розподілених систем, які основані на хмарних обчисленнях. Увагу звернено на те, як можна проектувати, будувати та експлуатувати масштабовані системи.

Українська назваТранзакційні інформаційні системи
Є обов’язковимТак
ВикладачProf. Wolfgang Lehner

​Системи баз даних відіграють центральну роль у побудові великих і розподілених робочих інформаційних систем, що працюють транзакційно. Розглядаються принципи, які необхідні для роботи надійної розподіленої інформаційної системи. Після повторення базових концепцій ER-моделювання і реляційної моделі баз даних SQL, буде сфокусовано увагу на специфічних можлливостях великої масштабованої системи БД.

Перелік не обов'язкових предметів

Українська назваРозробка прикладних програм для мобільних систем і Повсюдні обчислення
Є обов’язковимНі
ВикладачDr.-Ing. Thomas Springer

The course is especially for students which are interested in mobile computing applications and their implementation. The course starts with an introduction also to new areas like Ambient Intelligence and Ubiqitous Computing, describes applications and gives an overview about the domain. After that, the next courses consider different functionalities such as networking aspects (different short and long range communication capabilities), and special mobile computing concepts such as disconnected and autonomous operation, mobile agents and context based adaptation. 

After that, different architectures for mobile distributed systems are discussed. Different options for implementing mobile systems, starting from communication, over local and distributed platforms (e.g. WAP, OSGi, J2ME, J2EE) until the implementation of graphical user interfaces are given in the implementation section of the course. Additional concepts such as mobile security, data synchronization, downsizing of applications to mobile devices, data synchronization methods, databases for mobile devices, location based services, Semantic Web and autonomous behaviour will be partly discussed in a separate section. Tools, environments, platforms and emulators are considered near the end of the course, as well as current international research and industrial projects will be presented.

Українська назваПроектування компонентно-орієнтованого програмного забезпечення
Є обов’язковимНі
ВикладачProf. Dr. rer. nat. habil. Uwe Aßmann

The complexity of modern software systems is continually increasing. At the same time, development times keep getting shorter, and software requirements keep changing more frequently.

The lecture looks at Component-Based Software Engineering (CBSE) as one major possibility to cope with these challenges. By building applications from individual, independent building blocks (components), CBSE provides two major directions which help to cope with complexity, short time-to-market, and increased demand for flexibility:

Components can be pre-fabricated and traded independently of specific applications. This fosters reuse and thus can decrease development cost and time-to-market, while increasing the quality of the resulting software.

Component-structured applications can more easily be adapted to new requirements, because individual components can be exchanged largely independently of the rest of the system.

Українська назваРозподілені Операційні системи
Є обов’язковимНі
ВикладачProf. Dr. Hermann Härtig

​Upon completion of the module, students have learned to solve complex problems of the design of distributed systems on their own, to analyse case studies and to make comparisons with other projects to identify potential critical issues. They can make argumentative points and defend them.


Moreover students are familiar with scalability, fault tolerance, security and robustness and can see things in context with issues, such as database development and computer architecture. Thanks to their broad knowledge, students can also assess the latest developments and discuss them.

Українська назваОснови паралельних і розподілених систем
Є обов’язковимНі
ВикладачProf. Dr. Christof Fetzer

Most of the new CPUs have multiple cores. This will require concurrent applications that can harness the computing power of the underlying processors. This course focuses on the foundations of concurrent and distributed systems that are required for engineering concurrent and also distributed applications. Besides the theoretical foundations, the course will also show how to build high-performance concurrent programs.

Outline:

1. Multiprocessor and multicore architectures

2. Mutual Exclusion

3. Linearizability

4. Atomic registers

5. Consensus, universality

6. Spin locks, contention

7. Concurrent linked Lists, queues, stacks, hash tables

8. Work stealing, dynamic load balancing

9. Barriers, combining

10. Transactional memory

Українська назваІнтернет і прикладні веб-програми
Є обов’язковимНі
ВикладачProf. Alexander Schill

​Принципи і підходи до широко розповсюджених поточних технологій і прикладного рівня в Інтернеті. Курс розпочинається з викладення фундаментальних принципів протоколів та механізмів взаємодії у World Wide Web з оглядом на їх загальні застосування. Розглядаються більш докладно технології, що об’єднуються під термінами Web 2.0 і HTML5. Крім того, розглядається можливості впровадження концепції Semantic Web як доповнення до існуючого класичного вебу. Крім того, розглядаються такі системи, як file sharing applications і content distribution networks.

Українська назваОпераційні системи на основі мікроядра
Є обов’язковимНі
ВикладачDipl.-Inf. Björn Döbel

​This lecture is going to introduce various aspects and concepts regarding the construction and implementation of microkernel-based operating system. In the first part, we introduce fundamental mechanisms that are required for efficient construction of an operating system on top of a microkernel. In the second part of the lecture, we show you real systems that have been built using these concepts. While strongly focussing on the microkernel work done at TU Dresden, we also take a look at alternatives.

In addition to the lecture, we also have a practical course in which you will built parts of an operating system on top of a L4 microkernel in a group of 2-4 students. You are encouraged to take this practical course, too.

Українська назваПринципи систем із залежностями
Є обов’язковимНі
ВикладачProf. Dr. Christof Fetzer

For safety critical systems, the risk of software failures must be negligible. In this course we will present design principles for building highly dependable systems, i.e., systems that are available, reliable and secure. The scope of dependability ranges from simple hardware components up to complex distributed systems.

Українська назваСистеми реального часу
Є обов’язковимНі
ВикладачProf. Dr. Hermann Härtig

Real-time systems are systems interacting with the real world. Their correctness depends on the timeliness of results. This topic touches many of the classical branches of computer science. It is related to computer architecture like bus design, operating systems, programming languages, software engineering, use cases like multimedia or car electronics, and theoretical computer science. Processor scheduling, a synonym for real-time systems in many universities, is but a true subset of what we try to teach in this course.

The lecture is very loosely based on these two books: Jane Liu: Real-Time Systems, Hermann Kopetz: Real-Time Systems

Despite bearing the same title, the books a fundamentally different. The authors even follow different schools of real-time systems. Neither book covers all areas of real time systems. Consequently, we use both books in the lecture and also mix in publications and own experiences. And we are generous with leaving things out.
The lecture will be a bit heterogeneous, as we are trying to cover a broad range of topics. However, we cut short on scheduling theory and the deeper mathematics, as this is covered in the lecture on scheduling theory.​

Українська назваБезпека і Криптографія 2
Є обов’язковимНі
ВикладачDr.-Ing. Stefan Köpsell

Даний модуль вивчає безпеку і приватність даних з практичним застосуванням. Розглядаються вимоги до безпеки і механізми захисту з орієнтацією на бізнес. Розглядається безпека у веб-сервісах і веб-застосунках, основи сучасної програмної розробки. Далі розглядається з окремі випадки, такі як ланцюги розробок, планування розробки і хмарні обчислення (software-as-a-service).

Українська назваБезпроводові сенсорні системи
Є обов’язковимНі
ВикладачPD. Dr.-Ing. habil. Waltenegus Dargie

Метою курсу є: отримати повне уявлення про бездротових сенсори, мережі, архітектури, протоколи і прикладні програми; визначити проблеми в бездротових сенсорних мережах, а також розслідувати пропонованої схеми, заохочувати дослідження нових схем для ефективного вузла організації, маршрутизації і запиту даних в бездротових сенсорних мереж.