Suchergebnis: Katalogdaten im Frühjahrssemester 2017
Informatik Bachelor | ||||||
Bachelor-Studium (Studienreglement 2008) | ||||||
Vertiefung | ||||||
Obligatorische Fächer der Vertiefung | ||||||
Vertiefung Computer and Software Engineering | ||||||
Nummer | Titel | Typ | ECTS | Umfang | Dozierende | |
---|---|---|---|---|---|---|
252-0210-00L | Compiler Design | O | 8 KP | 4V + 3U | Z. Majó | |
Kurzbeschreibung | Diese 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. | |||||
Lernziel | Learn principles of compiler design, gain practical experience designing and implementing a medium-scale software system. | |||||
Inhalt | This 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. | |||||
Literatur | Aho/Lam/Sethi/Ullmann, Compilers - Principles, Techniques, and Tools (2nd Edition) Muchnick, Advanced Compiler Design and Implementation, Morgan Kaufmann Publishers, 1997 | |||||
Voraussetzungen / Besonderes | Prerequisites: Prior exposure to modern techniques for program construction, knowledge of at least one processor architecture at the assembly language level. | |||||
252-0215-00L | Information Systems Diese Lehrveranstaltung wird im FS17 zum letzten Mal in dieser Form angeboten. | O | 8 KP | 4V + 2U + 1A | M. Norrie | |
Kurzbeschreibung | The 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. | |||||
Lernziel | The 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. | |||||
Inhalt | The 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. | |||||
Literatur | Database Management Systems, Raghu Ramakrishnan and Johannes Gehrke, 3rd edition, pub McGraw Hill, 2003. | |||||
252-0216-00L | Software Architecture and Engineering | O | 8 KP | 4V + 3U | P. Müller, M. Vechev | |
Kurzbeschreibung | This 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 | |||||
Lernziel | The 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. | |||||
Inhalt | Some 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 | |||||
Literatur | Will be announced in the lecture. |
- Seite 1 von 1