Neuigkeiten

Überblick

Wir behandeln gängige Datenstrukturen und Algorithmen, das Paradigma des objektorientierten Programmierens und Prinzipien für das Design und die Nutzung relationaler Datenbanken.

Es wird generell das formale Denken und Notwendigkeit zur Abstraktion, sowie die Bedeutung geeigneter Modellbildungen für die Informatik motiviert. Der Schwerpunkt der Vorlesung liegt auf der praktischen Informatik. Konkrete Themen sind u.a.: Komplexität von Algorithmen, Divide and Conquer-Prinzip, Rekursion, Sortieralgorithmen, Backtracking, Datenstrukturen (Listen, Stacks, Warteschlangen, binäre Bäume).

Die Konzepte der Vorlesung werden jeweils durch Algorithmen und Anwendungen motiviert und illustriert. Verwendete Programmiersprache in der Vorlesung und den praktischen Übungen ist Java.

Für das effiziente Praktizieren der vorgestellten Inhalte wird in den Übungen ein Online-Compiler mit Abgabesystem verwendet. Für den erleichterten Einstieg in die Programmierung mit Java kommt ein massgeschneidertes Online-Tutorial zum Einsatz.

Material

Die Vorlesungsunterlagen bestehen aus Vorlesungsfolien und Übungsunterlagen. Die Vorlesungsfolien sind auf Deutsch verfasst und stellen zusammen mit den Übungsblättern den Prüfungsstoff dar.

Tutorial

Wir bieten diese Jahr erstmalig ein masgeschneidertes Online Java-Tutorial an, welches in der ersten Semesterwoche bearbeitet werden sollte und beim Einstieg in Java helfen sollte.

Übungsserien und Vorlesungsfolien

Die erste Übungsserie und die Folien zur Vorlesung werden in der ersten Vorlesungswoche aufgeschaltet.

Termine

Vorlesung Montag 12:45-14:30 HIL E 3
Übungen Donnerstag 12:45-14:30, 14:45-16:30 Verschiedene Räume
Präsenzstunde Donnerstag 14:45-15:30 HCI D 6

Zeitplan, Folien und Übungen

Dies ist ein Plan und als solcher unterliegt er Änderungen -- auch und insbesondere nach Semesterbeginn.

Woche Datum Thema Vorlesungen Programme Übungen
1 20.02. Einführung
Überblick, der universelle Computer (Turing Maschine), Euklidischer Algorithmus, Erstes Java Programm, Java Klassen, von Pascal nach Java, der Euklidische Algorithmus in Java
Handout I (Overlays)
Clickerfrage
Pascal2Java
[Hello World]
[Simple Euklid]
[Euklid mit I/O]
Exercise 1
Solution 1
(Slides)
2 27.02. Komplexität Random Access Machine Model, Effizienz von Algorithmen, Asymptotik: O-Notation, Omega, Theta
Java I
Namen und Bezeichner, Variablen, Zuweisungen, Konstanten, Datentypen, Operationen, Auswertung von Ausdrücken, Konversion, Kontrollfluss Einfache Monte-Carlo Simulation
Handout II (Overlays)
Clickerfrage
[CelsiusToFahrenheit]
[LifeOfPi]
Exercise 2
Solution 2
(Slides)
3 06.03. Java II
Arrays, Strings, Referenzen,
Simulation eines unfairen Würfels und einfache MCMC Wettersimulation
Java III
Methoden, Pass by Value
Handout III (Overlays)
Clickerfrage
[CountNumbers]
[StringEquals]
[Würfel]
[Wetter]
[Keksrechner]
Exercise 3
Solution 3
(Slides)
4 13.03. Java IV Rekursion, Algorithmen I Suchen und Auswahl Handout IV (Overlays)
Clickerfrage
[TowersOfHanoi]
[Simple Recursions]
Exercise 4
Solution 4
(Slides)
5 20.03. Java V Ausnahmen (Exceptions)
Algorithmen II Sortieren
Handout V (Overlays)
Clickerfrage
[Partition]
[KeksrechnerMitExceptions]
[ExceptionsBeispiele]
Exercise 5
Solution 5
(Slides)
6 27.03. Java VI Klassen
Handout VI (Overlays)
Clickerfrage
[Erdbebendaten]
Exercise 6
Solution 6
(Slides)
7 03.04. Datenstrukturen: Verkettete Listen
Handout VII (Overlays)
Clickerfrage
[SortedList]
Exercise 7
Solution 7
(Slides)
8 10.04. Datenstrukturen: Hashtabellen Handout VIII (Overlays)

Clickerfrage zum Üben
[HashTable(LinearProbing)]
Exercise 8
Solution 8
(Slides)
-- 17.04. --- Ostern --- --- --- ---
-- 24.04. --- Sechseläuten --- --- --- Zwischenprüfung
-- 01.05. --- Tag der Arbeit --- --- --- Nachbesprechung der Zwischenprüfung: Midterm Informatik 2 2017
9 08.05. Dynamische Datenstrukturen II
Bäume, Binäre Suchbäume, Heaps
Handout IX (Overlays)
Clickerfrage
[Binary Search Tree]
[Binary Heap]
Exercise 9
Solution 9
(Slides)
10 15.05. Graphen und Dijkstra's Shortest Path Algorithmus Handout X (Overlays)
Clickerfrage
Exercise 10
Solution 10
(Slides)
11 22.05. Datenbanksysteme: Das Entity RelationShip Modell, das Relationale Modell und SQL
Einführung, Entity-Relationship Modell, Funktionalitäten, Formalismus des Relationalen Modells, Transformation des ER-Modells, Relationale Algebra: Selektion, Projektion, kartesisches Produkt, Umbenennung und Join
Handout XI (Overlays)
Exercise 11
Solution 11
(Slides)
12 29.05. Datenbanksysteme: SQL
Einfache SQL-Anfragen, Anfragen über mehrere Relationen Aggregatfunktionen und Gruppierung, Geschachtelte Anfragen, Datendefinition
Handout XII (Overlays)
Uni Datenbank Welt Datenbank

Übungen

Einschreibung für die Übungen

Die Einschreibung zum Übungssystem erfolgt online. Weitere Informationen während der ersten Vorlesung.

Orte und Zeiten

Die Übungsgruppen sind derzeit wie folgt zugeteilt:
Zeit Assistent Ort Sprache
Donnerstag 13-15 Max Rossmannek HIT F 12deutsch
Donnerstag 13-15 Patrick Gruntz HIT F 13 deutsch
Donnerstag 13-15 Giuseppe Accaputo HIT F 31.1 deutsch
Donnerstag 15-17 Tobias Klenze HCI D 4 deutsch
Donnerstag 15-17 Thilo Weghorn HCI D 6 deutsch

Chefassistenz

David Sidler

Literatur

Wir versuchen, den Kurs grundsätzlich selbsterklärend zu gestalten. Trotzdem lohnt sich es sich natürlich immer, auch andere Quellen heranzuziehen. Folgende Links könnten Ihnen beim Erlernen der verwendeten Programmiersprache Java und als Nachschlagequellen hilfreich sein

Zur Prüfung

Modus

Prüfungsstoff für die Endprüfung, welche in der Prüfungssession Sommer 2017 stattfinden wird, schliesst Vorlesungsinhalt und Übungsinhalte ein.

Die Prüfung ist schriftlich. Erlaubte Hilfsmittel: Vier A4 Seiten (zwei A4 Blätter), handgeschrieben oder min. Fontgrösse 11 Pkt.

Vergangene Prüfungen