Search result: Catalogue data in Spring Semester 2017

Computer Science Bachelor Information
Bachelor Studies (Programme Regulations 2008)
Major
Compulsory Major Courses
Major in Computer and Software Engineering
NumberTitleTypeECTSHoursLecturers
252-0210-00LCompiler DesignO8 credits4V + 3UZ. Majó
AbstractThis course uses compilers as example to expose modern software development techniques.
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: conditionals, loops, procedure calls, simple register allocation techniques.
ObjectiveLearn principles of compiler design, gain practical experience designing and implementing a medium-scale software system.
ContentThis 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.
LiteratureAho/Lam/Sethi/Ullmann, Compilers - Principles, Techniques, and Tools (2nd Edition)

Muchnick, Advanced Compiler Design and Implementation, Morgan Kaufmann Publishers, 1997
Prerequisites / NoticePrerequisites:
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 credits4V + 2U + 1AM. Norrie
AbstractThe 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.
ObjectiveThe 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.
ContentThe 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.
LiteratureDatabase Management Systems, Raghu Ramakrishnan and Johannes Gehrke, 3rd edition, pub McGraw Hill, 2003.
252-0216-00LSoftware Architecture and Engineering Information O8 credits4V + 3UP. Müller, M. Vechev
AbstractThis 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
ObjectiveThe 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.
ContentSome 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
LiteratureWill be announced in the lecture.
Major in Computational Science
NumberTitleTypeECTSHoursLecturers
252-0220-00LLearning and Intelligent Systems Information O8 credits4V + 2U + 1AG. Rätsch, T. Hofmann
AbstractThe course introduces the foundations of learning and making predictions based on data.
ObjectiveThe course will introduce the foundations of learning and making predictions from data. We will study basic concepts such as trading goodness of fit and model complexitiy. We will discuss important machine learning algorithms used in practice, and provide hands-on experience in a course project.
Content- Linear regression (overfitting, cross-validation/bootstrap, model selection, regularization, [stochastic] gradient descent)
- Linear classification: Logistic regression (feature selection, sparsity, multi-class)
- Kernels and the kernel trick (Properties of kernels; applications to linear and logistic regression; k-NN
- The statistical perspective (regularization as prior; loss as likelihood; learning as MAP inference)
- Statistical decision theory (decision making based on statistical models and utility functions)
- Discriminative vs. generative modeling (benefits and challenges in modeling joint vy. conditional distributions)
- Bayes' classifiers (Naive Bayes, Gaussian Bayes; MLE)
- Bayesian networks and exact inference (conditional independence; variable elimination; TANs)
- Approximate inference (sum/max product; Gibbs sampling)
- Latent variable models (Gaussian Misture Models, EM Algorithm)
- Temporal models (Bayesian filtering, Hidden Markov Models)
- Sequential decision making (MDPs, value and policy iteration)
- Reinforcement learning (model-based RL, Q-learning)
LiteratureTextbook: Kevin Murphy: A Probabilistic Perspective, MIT Press
Prerequisites / NoticeDesigned to provide basis for following courses:
- Advanced Machine Learning
- Data Mining: Learning from Large Data Sets
- Probabilistic Artificial Intelligence
- Probabilistic Graphical Models
- Seminar "Advanced Topics in Machine Learning"
401-0674-00LNumerical Methods for Partial Differential Equations
Not meant for BSc/MSc students of mathematics.
O8 credits4V + 2U + 1AS. Mishra
AbstractDerivation, properties, and implementation of fundamental numerical methods for a few key partial differential equations: Poisson equation, heat equation, transport equation, conservation laws. Implementation of the algorithms in C++
ObjectiveMain skills to be acquired in this course:
* Ability to implement advanced numerical methods for the solution of partial differential equations efficiently
* Ability to modify and adapt numerical algorithms guided by awareness of their mathematical foundations
* Ability to select and assess numerical methods in light of the predictions of theory
* Ability to identify features of a PDE (= partial differential equation) based model that are relevant for the selection and performance of a numerical algorithm
* Ability to understand research publications on theoretical and practical aspects of numerical methods for partial differential equations.
* Skills in the efficient implementation of numerical methods for PDEs.

This course is neither a course on the mathematical foundations and numerical analysis of methods nor an course that merely teaches recipes and how to apply software packages.
Content1. General introduction to PDEs and their solutions.

2. 1-D Poisson equation -- Green's function, maximum principles, finite difference schemes.

3. Finite elements for the Poisson equation -- Variational formulation, basic finite element formulation with piecewise linear elements, error analysis, different boundary conditions. Efficient implementation of the finite element method. FEM for general elliptic PDEs, Higher-order finite elements.

4. Parabolic PDEs: exact solution formulas for the heat equation, energy method, maximum principles, Finite difference schemes for the heat equation with explicit, implicit and Crank-Nicolson schemes, error analysis.

5. Linear Transport equations -- method of characteristics, central and upwind finite difference schemes.

6. Scalar conservation laws -- Shocks, rarefactions, solutions to the Riemann problem, weak solutions, entropy conditions, Godunov type schemes, high-resolution schemes.
Lecture notesHand-written notes and script will be made available.
LiteratureLecture notes and references mentioned in the lecture notes.
Prerequisites / NoticeMastery of basic calculus and linear algebra is taken for granted.
Familiarity with fundamental numerical methods (solution methods for linear systems of equations, interpolation, approximation, numerical quadrature, numerical integration of ODEs) is essential.

Important: Coding skills in MATLAB and C++ are essential.

Homework asssignments involve substantial coding in C++.
151-0116-10LHigh Performance Computing for Science and Engineering (HPCSE) for Engineers II Information W4 credits4GP. Chatzidoukas, K. Papadimitriou
AbstractThis course focuses on programming methods and tools for parallel computing on multi and many-core architectures. Emphasis will be placed on practical and computational aspects of Uncertainty Quantification and Propagation including the implementation of relevant algorithms on HPC architectures.
ObjectiveThe course will teach
- programming models and tools for multi and many-core architectures
- fundamental concepts of Uncertainty Quantification and Propagation (UQ+P) for computational models of systems in Engineering and Life Sciences
ContentHigh Performance Computing:
- Advanced topics in shared-memory programming
- Advanced topics in MPI
- GPU architectures and CUDA programming

Uncertainty Quantification:
- Uncertainty quantification under parametric and non-parametric modeling uncertainty
- Bayesian inference with model class assessment
- Markov Chain Monte Carlo simulation
Lecture notesLink
Class notes, handouts
Literature- Class notes
- Introduction to High Performance Computing for Scientists and Engineers, G. Hager and G. Wellein
- CUDA by example, J. Sanders and E. Kandrot
- Data Analysis: A Bayesian Tutorial, Devinderjit Sivia
Major in Theoretical Computer Science
NumberTitleTypeECTSHoursLecturers
252-0211-00LInformation Security Information O8 credits4V + 3UD. Basin, S. Capkun
AbstractThis course provides an introduction to Information Security. The focus
is on fundamental concepts and models, basic cryptography, protocols and system security, and privacy and data protection. While the emphasis is on foundations, case studies will be given that examine different realizations of these ideas in practice.
ObjectiveMaster fundamental concepts in Information Security and their
application to system building. (See objectives listed below for more details).
Content1. Introduction and Motivation (OBJECTIVE: Broad conceptual overview of information security) Motivation: implications of IT on society/economy, Classical security problems, Approaches to
defining security and security goals, Abstractions, assumptions, and trust, Risk management and the human factor, Course verview. 2. Foundations of Cryptography (OBJECTIVE: Understand basic
cryptographic mechanisms and applications) Introduction, Basic concepts in cryptography: Overview, Types of Security, computational hardness, Abstraction of channel security properties, Symmetric
encryption, Hash functions, Message authentication codes, Public-key distribution, Public-key cryptosystems, Digital signatures, Application case studies, Comparison of encryption at different layers, VPN, SSL, Digital payment systems, blind signatures, e-cash, Time stamping 3. Key Management and Public-key Infrastructures (OBJECTIVE: Understand the basic mechanisms relevant in an Internet context) Key management in distributed systems, Exact characterization of requirements, the role of trust, Public-key Certificates, Public-key Infrastructures, Digital evidence and non-repudiation, Application case studies, Kerberos, X.509, PGP. 4. Security Protocols (OBJECTIVE: Understand network-oriented security, i.e.. how to employ building blocks to secure applications in (open) networks) Introduction, Requirements/properties, Establishing shared secrets, Principal and message origin authentication, Environmental assumptions, Dolev-Yao intruder model and
variants, Illustrative examples, Formal models and reasoning, Trace-based interleaving semantics, Inductive verification, or model-checking for falsification, Techniques for protocol design,
Application case study 1: from Needham-Schroeder Shared-Key to Kerberos, Application case study 2: from DH to IKE. 5. Access Control and Security Policies (OBJECTIVES: Study system-oriented security, i.e., policies, models, and mechanisms) Motivation (relationship to CIA, relationship to Crypto) and examples Concepts: policies versus models versus mechanisms, DAC and MAC, Modeling formalism, Access Control Matrix Model, Roll Based Access Control, Bell-LaPadula, Harrison-Ruzzo-Ullmann, Information flow, Chinese Wall, Biba, Clark-Wilson, System mechanisms: Operating Systems, Hardware Security Features, Reference Monitors, File-system protection, Application case studies 6. Anonymity and Privacy (OBJECTIVE: examine protection goals beyond standard CIA and corresponding mechanisms) Motivation and Definitions, Privacy, policies and policy languages, mechanisms, problems, Anonymity: simple mechanisms (pseudonyms, proxies), Application case studies: mix networks and crowds. 7. Larger application case study: GSM, mobility
Electives
Compulsory major courses may also qualify as electives. Students may also choose courses from the Master's program in Computer Science. It is their responsibility to make sure that they meet the requirements and conditions for these courses.
NumberTitleTypeECTSHoursLecturers
252-0055-00LInformation Theory Information W4 credits2V + 1UL. Haug
AbstractThe course covers the fundamental concepts of Shannon's information theory.
The most important topics are: Entropy, information, data compression, channel coding, codes.
ObjectiveThe goal of the course is to familiarize with the theoretical fundamentals of information theory and to illustrate the practical use of the theory with the help of selected examples of data compression and coding.
ContentIntroduction and motivation, basics of probability theory, entropy and information, Kraft inequality, bounds on expected length of source codes, Huffman coding, asymptotic equipartition property and typical sequences, Shannon's source coding theorem, channel capacity and channel coding, Shannon's noisy channel coding theorem, examples
LiteratureT. Cover, J. Thomas: Elements of Information Theory, John Wiley, 1991.

D. MacKay, Information Theory, Inference and Learning Algorithms, Cambridge University Press, 2003.

C. Shannon, The Mathematical Theory of Communication, 1948.
252-0820-00LCase Studies from Practice Information W4 credits2V + 1UM. Brandis
AbstractThe course is designed to provide students with an understanding of "real-life" challenges in business settings and teach them how to address these.
ObjectiveBy using case studies that are based on actual IT projects, students will learn how to deal with complex, not straightforward problems. It will help them to apply their theoretical Computer Science background in practice and will teach them fundamental principles of IT management and challenges with IT in practice.
ContentThe course consists of multiple lectures about general IT management topics held by Marc Brandis and case studies provided by guest lecturers from either IT companies or IT departments of a diverse range of companies. Students will obtain insights into both established and startup companies, small and big, and different industries.
Presenting companies have included avaloq, Accenture, AdNovum, Bank Julius Bär, Credit Suisse, Deloitte, HP, IBM Research, McKinsey & Company, Open Web Technology, SAP Research, Selfnation, WhiteStein Technologies, 28msec, and Marc Brandis Strategic Consulting. The participating companies in spring 2016 will be announced at course start.
227-0124-00LEmbedded Systems Information W6 credits4GL. Thiele
AbstractComputer systems for controlling industrial devices are called embedded systems (ES). Specifically the following topics will be covered: Design methodology, software design, real-time scheduling and operating systems, architectures, distributed embedded systems, low-power and low-energy design, architecture synthesis.
ObjectiveIntroduction to industrial applications of computer systems; understanding specific requirements and problems arising in such applications. The focus of this lecture is on the implementation of embedded systems using formal methods and computer-based synthesis methods.
ContentComputer systems for controlling industrial devices are called embedded systems (ES). ES not only have to react to random events in their environment in a timely manner, they also have to calculate control values from continuous sequences of measurements. Embedded computer systems are connected to their environment though sensors and actors. The great interest in the systematic design of heterogeneous reactive systems is caused by the growing diversity and complexity of applications for ES, the requirement for low development and testing costs, and by progress in key technologies. Specifically the following topics will be covered: Design methodology, software design, real-time scheduling and operating systems, architectures, distributed embedded systems, low-power and low-energy design, architecture synthesis. See: Link .
Lecture notesMaterial/script, publications, exercise sheets, podcast. See: Link .
Literature[Mar07] P. Marwedel. Eingebettete Systeme. Springer Verlag, Paperback, December 2007. ISBN 978-3-540-34048-5

[Mar11] P. Marwedel. Embedded System Design: Embedded Systems Foundations of Cyber-Physical Systems. Springer Verlag, Paperback, 2011. ISBN 978-94-007-0256-1

[Tei07] J. Teich. Digitale Hardware/Software-Systeme: Synthese und Optimierung. Springer Verlag, 2007. ISBN 3540468226

[But11] G.C. Buttazzo. Hard real-time computing systems: predictable scheduling algorithms and applications. Springer Verlag, Berlin, 2011. ISBN-10: 1461406757, ISBN-13: 9781461406754

[Wolf12] W. Wolf. Computers as components: principles of embedded computing system design. Morgan Kaufmann, 2012. ISBN-10: 0123884365, ISBN-13: 978-0123884367
Prerequisites / NoticePrerequisites:
Basic course in computer engineering; knowledge about distributed systems and concepts for their description.
227-0945-10LCell and Molecular Biology for Engineers II
This course is part II of a two-semester course.
W3 credits2GC. Frei
AbstractThe course gives an introduction into cellular and molecular biology, specifically for students with a background in engineering. The focus will be on the basic organization of eukaryotic cells, molecular mechanisms and cellular functions. Textbook knowledge will be combined with results from recent research and technological innovations in biology.
ObjectiveAfter completing this course, engineering students will be able to apply their previous training in the quantitative and physical sciences to modern biology. Students will also learn the principles how biological models are established, and how these models can be tested.
ContentLectures will include the following topics: DNA, chromosomes, RNA, protein, genetics, gene expression, membrane structure and function, vesicular traffic, cellular communication, energy conversion, cytoskeleton, cell cycle, cellular growth, apoptosis, autophagy, cancer, development and stem cells.

In addition, three journal clubs will be held, where one/two publictions will be discussed. For each journal club, students (alone or in groups of up to three students) have to write a summary and discussion of the publication. These written documents will be graded, and count as 25% for the final grade.
Lecture notesScripts of all lectures will be available.
Literature"Molecular Biology of the Cell" (6th edition) by Alberts, Johnson, Lewis, Morgan, Raff, Roberts, and Walter.
  •  Page  1  of  1