Suchergebnis: Katalogdaten im Frühjahrssemester 2017

Informatik Bachelor Information
Bachelor-Studium (Studienreglement 2008)
Vertiefung
Obligatorische Fächer der Vertiefung
Vertiefung Computer and Software Engineering
NummerTitelTypECTSUmfangDozierende
252-0210-00LCompiler DesignO8 KP4V + 3UZ. Majó
KurzbeschreibungDiese Vorlesung benutzt Compiler als Beispiel für moderne Software Entwicklung. Dazu werden die Kernthemen des Compilerbaus behandelt: Syntax Analyse, Symboltabellen, Code Erzeugung. Die Vorlesung und Uebungen geben den Studierenden eine gute Gelegenheit, Muster in diversen Kontexten anzuwenden.
LernzielLearn principles of compiler design, gain practical experience designing and implementing a medium-scale software system.
InhaltThis course uses compilers as example to expose modern software development techniques. The course introduces the students to the fundamentals of compiler construction. Students will implement a simple yet complete compiler for an object-oriented programming language for a realistic target machine. Students will learn the use of appropriate tools (parser generators); the implementation language is Java. Throughout the course, students learn to apply their knowledge of theory (automata, grammars, stack machines, program transformation) and well-known programming techniques (module definitions, design patterns, frameworks, software reuse) in a software project.
Specific topics: Compiler organization. Lexical analysis. Top-down parsing via recursive descent, table-driven parsers, bottom-up parsing. Symboltables, semantic checking. Code generation for a simple RISC machine: expression evaluation, straight line code, conditionals, loops, procedure calls, simple register allocation techniques. Storage allocation on the stack, parameter passing, runtime storage management, heaps. Special topics as time permits: introduction to global dataflow and its application to register allocation, instruction scheduling, practical application of the techniques and principles presented in the lecture in the context of the OpenJDK HotSpot Java Virtual Machine.
LiteraturAho/Lam/Sethi/Ullmann, Compilers - Principles, Techniques, and Tools (2nd Edition)

Muchnick, Advanced Compiler Design and Implementation, Morgan Kaufmann Publishers, 1997
Voraussetzungen / BesonderesPrerequisites:
Prior exposure to modern techniques for program construction, knowledge of at least one processor architecture at the assembly language level.
252-0215-00LInformation Systems Information
Diese Lehrveranstaltung wird im FS17 zum letzten Mal in dieser Form angeboten.
O8 KP4V + 2U + 1AM. Norrie
KurzbeschreibungThe course goes beyond relational technologies to examine the range of different database technologies available today. It also introduces the basic concepts of information retrieval and discusses the design decisions behind modern information system architectures.
LernzielThe goal of the course is to introduce students to the wide range of technologies in use today for data storage and retrieval. This will include extensions of relational database technologies, non-relational database systems and information retrieval systems. Through the use of a case study, students will also learn about modern information system architectures and the design decisions behind them.
InhaltThe course follows on from an earlier course on relational database technologies by introducing other database paradigms and extensions to relational systems. Students will gain experience of working with object, NoSQL and XML databases and the course will examine the features of these systems in terms of their approaches to storage, querying and transaction management and how they compare to relational systems and each other. The course will also look at how relational systems have been extended to support specific types of data, for example spatial, temporal and text data. In the second half of the course, the students will be introduced to modern information system architectures that build on one or more database technologies and a case study will be used to examine the design decisions behind such architectures. The case study will also be used to introduce students to the problems and techniques associated with integration, data quality and evolution in systems for large-scale, long-term data management. The last part of the course will introduce the basic concepts of information retrieval systems, web search and web data extraction.
LiteraturDatabase Management Systems, Raghu Ramakrishnan and Johannes Gehrke, 3rd edition, pub McGraw Hill, 2003.
252-0216-00LSoftware Architecture and Engineering Information O8 KP4V + 3UP. Müller, M. Vechev
KurzbeschreibungThis course introduces both theoretical and applied aspects of software engineering and analysis. It covers:

- Software Architecture
- Informal and formal Modeling
- Design Patterns
- Code Refactoring
- Program Testing
- Dynamic Program Analysis
- Static Program Analysis
LernzielThe course has two main objectives:

- Obtain an end-to-end (both, theoretical and practical) understanding of the core techniques used for building quality software.

- Understand how to apply these techniques in practice.
InhaltSome of the core technical topics covered will be:

- modeling and mapping of models to code
- common code design patterns
- functional and structural testing
- dynamic and static analysis
LiteraturWill be announced in the lecture.
  •  Seite  1  von  1