# Search result: Catalogue data in Autumn Semester 2016

Computer Science Bachelor | ||||||

Bachelor Studies (Programme Regulations 2008) | ||||||

3. Semester | ||||||

Compulsory Courses (3. Sem.) | ||||||

Number | Title | Type | ECTS | Hours | Lecturers | |
---|---|---|---|---|---|---|

252-0057-00L | Theoretical Computer Science | O | 8 credits | 4V + 2U + 1A | J. Hromkovic | |

Abstract | Concepts to cope with: a) what can be accomplished in a fully automated fashion (algorithmically solvable) b) How to measure the inherent difficulty of tasks (problems) c) What is randomness and how can it be useful? d) What is nondeterminism and what role does it play in CS? e) How to represent infinite objects by finite automata and grammars? | |||||

Objective | Learning the basic concepts of computer science along their historical development | |||||

Content | This lecture gives an introduction to theoretical computer science, presenting the basic concepts and methods of computer science in its historical context. We present computer science as an interdisciplinary science which, on the one hand, investigates the border between the possible and the impossible and the quantitative laws of information processing, and, on the other hand, designs, analyzes, verifies, and implements computer systems. The main topics of the lecture are: - alphabets, words, languages, measuring the information content of words, representation of algorithmic tasks - finite automata, regular and context-free grammars - Turing machines and computability - complexity theory and NP-completeness - design of algorithms for hard problems | |||||

Lecture notes | The lecture is covered in detail by the textbook "Theoretical Computer Science". | |||||

Literature | Basic literature: 1. J. Hromkovic: Theoretische Informatik. 5th edition, Springer Vieweg 2014. 2. J. Hromkovic: Theoretical Computer Science. Springer 2004. Further reading: 3. M. Sipser: Introduction to the Theory of Computation, PWS Publ. Comp.1997 4. J.E. Hopcroft, R. Motwani, J.D. Ullman: Introduction to Automata Theory, Languages, and Computation (3rd Edition), Addison-Wesley 2006. 5. I. Wegener: Theoretische Informatik. Teubner. More exercises and examples in: 6. A. Asteroth, Ch. Baier: Theoretische Informatik | |||||

Prerequisites / Notice | During the semester, two non-obligatory test exams will be offered. | |||||

252-0061-00L | Systems Programming and Computer Architecture | O | 8 credits | 4V + 2U + 1A | T. Roscoe | |

Abstract | Introduction to computer architecture and system programming: Instruction sets, storage hiearchies, runtime structures with an emphasis on computers as engines for the execution of compiled programs. Interaction between system software and the hardware. Problems that arise from the final respresentation, performance measurement and tuning, and program portability issues are covered. | |||||

Objective | The objective is to allow students to understand all aspects of the execution of compiled (C) programs on modern architectures -- the instruction set, the storage resources (registers, stack, memory), input/output, the impact of compiler decisions, and the interaction between the operating system and hardware. Two main themes are correctness issues (esp. those that arise from the finite representation of data) and performance issues (incl. measurement and tuning issues). The interface to the operating system is discussed to prepare for subsequent classes on more advanced systems topics. The two key goals are: 1) To equip students with a thorough understanding of how to write correct programs that run fast on modern computer, and 2) How to write correct and efficient low-level systems code. This course does not cover how to design or build a processor or computer. | |||||

Content | This course provides an overview of "computers" as a platform for the execution of (compiled) computer programs. This course provides a programmer's view of how computer systems execute programs, store information, and communicate. The course introduces the major computer architecture structures that have direct influence on the execution of programs (processors with registers, caches, other levels of the memory hierarchy, supervisor/kernel mode, and I/O structures) and covers implementation and representation issues only to the extend that they are necessary to understand the structure and operation of a computer system. The course attempts to expose students to the practical issues that affect performance, portability, security, robustness, and extensibility. This course provides a foundation for subsequent courses on operating systems, networks, compilers and many other courses that require an understanding of the system-level issues. Topics covered include: machine-level code and its generation by optimizing compilers, address translation, input and output, trap/event handlers, performance evaluation and optimization (with a focus on the practical aspects of data collection and analysis). | |||||

Literature | The course is based in part on "Computer Systems: A Programmer's Perspective" (2nd Edition) by R. Bryant and D. O'Hallaron, with some additional material. | |||||

Prerequisites / Notice | 252-0024-00L Parallel Programming, 252-0014-00L Digital Circuits | |||||

401-0613-00L | Probability and Statistics | O | 6 credits | 3V + 2U | J. Teichmann | |

Abstract | Basic concepts from probability and statistics: - introduction to probability theory - short introduction to basic concepts and methods from statistics | |||||

Objective | a) ability to understand the covered methods from probability theory and to apply them in other contexts b) probabilistic thinking and stochastic modelling c) ability to perform basic statistical tests and to interpret the results | |||||

Content | Basic concepts from probability and statistics with special emphasis on the topics needed in computer science The conceptual goals are - the laws of randomness and probabilistic thinking (thinking in probabilities) - understanding and intuition for stochastic modelling - simple and basic methods from statistics The contents of the course encompasses - an introduction to probability theory: basic concepts (probability space, probability measure), independence, random variables, discrete and continuous distributions, conditional probability, expectation and variance, limit theorems - methods from statistics: parameter estimation, maximum likelihood and moment methods, tests, confidence intervals | |||||

Lecture notes | Lecture notes for the course (in German) will be made available electronically at the beginning of the course. | |||||

401-0663-00L | Numerical Methods for CSE | O | 7 credits | 4V + 2U | R. Hiptmair | |

Abstract | The course gives an introduction into fundamental techniques and algorithms of numerical mathematics which play a central role in numerical simulations in science and technology. The course focuses on fundamental ideas and algorithmic aspects of numerical methods. The exercises involve actual implementation of numerical methods in C++. | |||||

Objective | * Knowledge of the fundamental algorithms in numerical mathematics * Knowledge of the essential terms in numerical mathematics and the techniques used for the analysis of numerical algorithms * Ability to choose the appropriate numerical method for concrete problems * Ability to interpret numerical results * Ability to implement numerical algorithms afficiently | |||||

Content | 1. Direct Methods for linear systems of equations 2. Least Squares Techniques 3. Data Interpolation and Fitting 4. Filtering Algorithms 8. Approximation of Functions 9. Numerical Quadrature 10. Iterative Methods for non-linear systems of equations 11. Single Step Methods for ODEs 12. Stiff Integrators | |||||

Lecture notes | Lecture materials (PDF documents and codes) will be made available to participants: Lecture document: Link Lecture Git repository: Link Tablet classroom notes: Link Lecture recording: Link Homework problems: Link | |||||

Literature | U. ASCHER AND C. GREIF, A First Course in Numerical Methods, SIAM, Philadelphia, 2011. A. QUARTERONI, R. SACCO, AND F. SALERI, Numerical mathematics, vol. 37 of Texts in Applied Mathematics, Springer, New York, 2000. W. Dahmen, A. Reusken "Numerik für Ingenieure und Naturwissenschaftler", Springer 2006. M. Hanke-Bourgeois "Grundlagen der Numerischen Mathematik und des wissenschaftlichen Rechnens", BG Teubner, 2002 P. Deuflhard and A. Hohmann, "Numerische Mathematik I", DeGruyter, 2002 | |||||

Prerequisites / Notice | The course will be accompanied by programming exercises in C++ relying on the template library EIGEN. Familiarity with C++, object oriented and generic programming is an advantage. Participants of the course are expected to learn C++ by themselves. |

- Page 1 of 1