The spring semester 2021 will take place online until further notice. Exceptions: Courses that can only be carried out with on-site presence. Please note the information provided by the lecturers.

Search result: Catalogue data in Autumn Semester 2018

Computer Science Bachelor Information
First Year Examinations
First Year Examination Block 1
401-0131-00LLinear AlgebraO7 credits4V + 2UÖ. Imamoglu, O. Sorkine Hornung
AbstractIntroduction to linear algebra (vector spaces, linear transformations, matrices) , matrix decompositions (LU, QR, eigenvalue and singular value decomposition).
ObjectiveDie Lernziele sind:
- die fundamentalen Konzepte der linearen Algebra gut zu verstehen und anwenden zu können
- Anwendungen der linearen Algebra kennenzulernen
ContentLinear Algebra:
Linear systems of equations, vectors and matrices, norms and scalar products, LU decomposition, vector spaces and linear transformations, least squares problems, QR decomposition, determinants, eigenvalues and eigenvectors, singular value decomposition, applications.
Lecture notesLecture notes "Linear Algebra" (by Gutknecht) in German, with English expressions for all technical terms.
Prerequisites / NoticeThe relevant high school material is reviewed briefly at the beginning.
252-0025-00LDiscrete Mathematics Information O7 credits4V + 2UU. Maurer
AbstractContent: Mathematical reasoning and proofs, abstraction. Sets, relations (e.g. equivalence and order relations), functions, (un-)countability, number theory, algebra (groups, rings, fields, polynomials, subalgebras, morphisms), logic (propositional and predicate logic, proof calculi).
ObjectiveThe primary goals of this course are (1) to introduce the most important concepts of discrete mathematics, (2) to understand and appreciate the role of abstraction and mathematical proofs, and (3) to discuss a number of applications, e.g. in cryptography, coding theory, and algorithm theory.
ContentSee course description.
Lecture notesavailable (in english)
252-0027-00LIntroduction to Programming Information O7 credits4V + 2UT. Gross
AbstractIntroduction to fundamental concepts of modern programming and operational skills for developing high-quality programs, including large programs as in industry. The course introduces software engineering principles with an object-oriented approach based.
ObjectiveMany people can write programs. The "Introduction to Programming" course goes beyond that basic goal: it teaches the fundamental concepts and skills necessary to perform programming at a professional level. As a result of successfully completing the course, students master the fundamental control structures, data structures, reasoning patterns and programming language mechanisms characterizing modern programming, as well as the fundamental rules of producing high-quality software. They have the necessary programming background for later courses introducing programming skills in specialized application areas.
ContentBasics of object-oriented programming. Objects and classes. Pre- and postconditions, class invariants, Design by Contract. Fundamental control structures. Assignment and References. Basic hardware concepts. Fundamental data structures and algorithms. Recursion. Inheritance and interfaces, introduction to event-driven design and concurrent programming. Basic concepts of Software Engineering such as the software process, specification and documentation, reuse and quality assurance.
Lecture notesThe lecture slides are available for download on the course page.
LiteratureSee the course page for up-to-date information.
Prerequisites / NoticeThere are no special prerequisites. Students are expected to enroll in the other courses offered to first-year students of computer science.
252-0026-00LAlgorithms and Data Structures Information O7 credits3V + 2U + 1AM. Püschel, D. Steurer
AbstractThis course is about fundamental algorithm design paradigms, classic algorithmic problems, and data structures. The connection between algorithms and data structures is explained for geometric and graph problems. For this purpose, fundamental graph theoretic concepts are introduced.
ObjectiveAn understanding of the design and analysis of fundamental algorithms and data structures.
ContentEs werden grundlegende Algorithmen und Datenstrukturen vorgestellt und analysiert. Dazu gehören auf der einen Seite Entwurfsmuster für Algorithmen, wie Induktion, divide-and-conquer, backtracking und dynamische Optimierung, ebenso wie klassische algorithmische Probleme, wie Suchen und Sortieren. Auf der anderen Seite werden Datenstrukturen für verschiedene Zwecke behandelt, darunter verkettete Listen, Hashtabellen, balancierte Suchbäume, verschiedene heaps und union-find-Strukturen. Weiterhin wird Adaptivität bei Datenstrukturen (wie etwa Splay-Bäume) und bei Algorithmen (wie etwa online-Algorithmen) beleuchtet. Das Zusammenspiel von Algorithmen und Datenstrukturen wird anhand von Geometrie- und Graphenproblemen illustriert. Hierfür werden grundlegende Konzepte der Graphentheorie eingeführt.
LiteratureTh. Ottmann, P.Widmayer: Algorithmen und Datenstrukturen, Spektrum-Verlag, 5. Auflage, Heidelberg, Berlin, Oxford, 2011
  •  Page  1  of  1