Suchergebnis: Katalogdaten im Frühjahrssemester 2016

Informatik (Allgemeines Angebot) Information
Allgemein zugängliche Seminarien und Kolloquien
NummerTitelTypECTSUmfangDozierende
251-0100-00LKolloquium für Informatik Information Z0 KP2KDozent/innen
KurzbeschreibungEingeladene Vorträge aus dem gesamten Bereich der Informatik, zu denen auch Auswärtige kostenlos eingeladen sind. Zu Semesterbeginn erscheint jeweils ein ausführliches Programm.
Lernziel
InhaltEingeladene Vorträge aus dem gesamten Bereich der Informatik, zu denen auch Auswärtige kostenlos eingeladen sind. Zu Semesterbeginn erscheint jeweils ein ausführliches Programm.
401-5900-00LOptimization Seminar Information Z0 KP1KR. Weismantel, R. Zenklusen
KurzbeschreibungLectures on current topics in optimization.
LernzielThis lecture series introduces graduate students to ongoing research activities (including applications) in the domain of optimization.
InhaltThis seminar is a forum for researchers interested in optimization theory and its applications. Speakers, invited from both academic and non-academic institutions, are expected to stimulate discussions on theoretical and applied aspects of optimization and related subjects. The focus is on efficient (or practical) algorithms for continuous and discrete optimization problems, complexity analysis of algorithms and associated decision problems, approximation algorithms, mathematical modeling and solution procedures for real-world optimization problems in science, engineering, industries, public sectors etc.
252-4810-00LZISC Information Security Colloquium Information
Findet dieses Semester nicht statt.
Z0 KP2KS. Capkun, D. Basin, U. Maurer, A. Perrig
KurzbeschreibungSeries of invited lectures about current topics in information security. Schedule according to announcement on the lecture web page.
Lernzielsee above
Informatik für Nichtinformatiker
NummerTitelTypECTSUmfangDozierende
252-0232-00LSoftware Design Information Z6 KP2V + 1UD. Gruntz
KurzbeschreibungIm Kurs Software Design werden häufig verwendete Entwurfsmuster der objektorientierten Programmierung und des objektorientierten Designs vorgestellt und diskutiert. Die behandelten Muster werden mit Beispielen aus den Java Bibliotheken illustriert und in einem Projekt angewendet.
LernzielDie Studierenden
- kennen die Grundprinzipien der objektorientierten Programmierung und können diese anwenden.
- kennen die wichtigsten objektorientierten Entwurfsmuster.
- können diese anwenden um Designprobleme zu lösen.
- erkennen in einem gegebenen Design die Verwendung von Entwurfsmustern.
InhaltIn der Vorlesung wird in die objektorientierte Programmierung eingeführt. Als Programmiersprache wird Java verwendet. Der Fokus liegt jedoch auf dem objektorientierten Design, d.h. auf Entwurfsmustern. Entwurfsmuster sind Lösungen für wiederkehrende Designprobleme. Die behandelten Muster werden mit Beispielen aus den Java Bibliotheken illustriert und in einem Projekt angewendet.
Skriptkein Skript
Literatur- Gamma, Helm, Johnson, Vlissides; Design Patterns: Elements of Reusable Object-Oriented Software; Addison-Wesley; 0-2016-3361-2
- Freeman, Freeman, Sierra; Head First Design Patterns, Head First Design Patterns; O'Reilly; 978-0596007126
Voraussetzungen / BesonderesDie Vorlesung Software Design ist für Studenten aus dem Studiengang Rechnergestützte Wissenschaften konzipiert, ist aber (sofern es die Studentenzahlen erlauben) auch für Studierende anderer Departemente offen. Es wird vorausgesetzt, dass die Studierenden im Grundstudium eine Informatikvorlesung besucht haben, in welcher das (strukturierte) Programmieren (z.B. mit C, C++ oder Fortran) eingeführt wurde.
252-0832-00LInformatik Information Z4 KP2V + 2UM. Gross
KurzbeschreibungDie elementaren Elemente der imperativen Programmiersprachen (Variablen, Zuweisungen, bedingte Anweisungen, Schleifen, Prozeduren, Pointer, Rekursion) werden anhand von C++ eingeführt.
Einfache Datenstrukturen (Listen, Bäume) sowie grundlegende Algorithmen (Suchen, Sortieren)
werden behandelt. Abschliessend wird kurz das Konzept der Objektorientierung erläutert.
LernzielZiel der Vorlesung ist es, die Grundlagen der imperativen Programmiersprachen sowie den Entwurf einfacher Algorithmen anhand der Programmiersprache C++ zu vermitteln. Teilnehmer der Vorlesung sollen danach in der Lage sein, sich selbständig in die weiteren Feinheiten von C++ einzuarbeiten und auch andere imperative Programmiersprachen aneignen zu können.
InhaltAnhand der Programmiersprache C++ werden die elementaren Elemente der imperativen Programmiersprachen (Variablen, Zuweisungen, bedingte Anweisung, Schleifen, Prozeduren, Pointer) eingeführt. Darauf aufbauend, werden dann einfache Datenstrukturen, z.B. Listen und Bäume, sowie grundlegende Algorithmen, z.B. zum Suchen und Sortieren, behandelt. Elementare Techniken zur Analyse von Algorithmen (wie asymptotische Laufzeitanalyse, Invarianten) werden vermittelt. Abschliessend wird kurz das Konzept der Objektorientierung erläutert.
LiteraturWird noch bekannt gegeben.
252-0836-00LInformatik II Information Z4 KP2V + 1UF. Mattern, W. Kleiminger
KurzbeschreibungDie Vorlesung vermittelt die gebräuchlichsten Problemlösungsverfahren, Algorithmen und Datenstrukturen. Themen sind u.a.: Divide and Conquer-Prinzip, Rekursion, Sortieralgorithmen, Backtracking, Suche in Spielbäumen, Datenstrukturen (Listen, Stacks, Warteschlangen, Binärbäume) zeitdiskrete Simulation, Nebenläufigkeit. Bei den Übungen wird die Programmiersprache Java verwendet.
LernzielEinführung in die Methoden der Informatik sowie Vermittlung von Grundlagen zur selbständigen Bewältigung von anspruchsvolleren Übungen und Studienarbeiten mit Informatikkomponente im nachfolgenden Bachelor- und Masterstudium.
InhaltTeil II der Vorlesung vermittelt die gebräuchlichsten Problemlösungsverfahren, Algorithmen und Datenstrukturen. Der Stoff umfasst auch grundlegende Konzepte und Mechanismen der Programmstrukturierung. Darüber hinaus wird generell das Denken in formalen Systemen, die 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, Suche in Spielbäumen, Datenstrukturen (Listen, Stacks, Warteschlangen, binäre Bäume), zeitdiskrete Simulation, Nebenläufigkeit. Bei den praktischen Übungen wird die Programmiersprache Java verwendet, dabei werden auch Aspekte wie Modularisierung, Abstraktion und Objektkapselung behandelt. In den Übungen wird u.a. in Gruppen ein Spielprogramm für "Reversi" programmiert, am Ende des Semesters findet dazu ein Turnier statt.
SkriptFolienkopien.
LiteraturLehrbuch von Mark Allan Weiss: Data Structures and Problem Solving Using Java, Addison Wesley.
Voraussetzungen / BesonderesVoraussetzungen: Informatik I.
252-0840-01LAnwendungsnahes Programmieren mit MATLAB Information Z2 KP2GT. Hruz
KurzbeschreibungDie Veranstaltung "Anwendungsnahes Programmieren mit MATLAB" vermittelt Basiswissen über die imperative Programmierung. Zusätzlich wird die Kompetenz vermittelt, dieses Wissen in Modellierungsaufgaben einzusetzen.
LernzielDie Studierenden sollen in der Lage sein, Programme in MATLAB selbständig zu programmieren bzw. sich in bestehenden Programmen zurecht zu finden und diese sinnvoll zu erweitern.
InhaltIn der Vorlesung wird Basiswissen über die imperative Programmierung vermittelt, sowie ein erster Einblick in die Modularisierung von grösseren Programmen. Im praktischen Teil werden Programme geschrieben und im Team ein etwas grösseres Matlab-Projekt bearbeitet.

1) MATLAB Installation, MATLAB Umgebung, Hilfe, Variablen, Ausdruck, Gleitkommazahlen
2) Modellierung und Simulation in Umweltwissenschaften
3) Verzweigung, Schleifen, Aussagenlogik
4) Matrizen in MATLAB
5) 2D Visualisierung in MATLAB
6) Funktion, Modularität, Stack, lokale Variablen (scope)
7) Rekursion, 3D Visualisierung
8) Modellierung und Simulation dynamischer Systeme in MATLAB
LiteraturEinstieg ins Programmieren mit Matlab, U. Stein, Carl Hanser Verlag.
252-0842-00LProgrammieren und Problemlösen Information Z3 KP2V + 0.5UA. L. Schüpbach
KurzbeschreibungEinführung in die Programmierung in Java und in das Problemlösen mittels Standard-Algorithmen und -Datenstrukturen.
LernzielDie Ziele der Lehrveranstaltung sind einerseits mit der Programmiersprache Java
vertraut zu sein und andererseits gegebene Probleme des eigenen Fachbereichs
(z.Bsp. Datenverarbeitung) mittels eigener Programme lösen zu können.

Die Studierenden sollen bestehende Algorithmen und Datenstrukturen
kennen, diese benutzen können und deren Eigenschaften kennen.
Das Ziel ist es, für ein gegebenes Problem eine geeignete
Datenstruktur und einen geeigneten Algorithmus auswählen zu können
und das eigene Programm, basierend auf dieser Wahl, programmieren
zu können.

Während der Lehrveranstaltung arbeiten die Studierenden an einem
eigenen Projekt, das sie während der letzten Vorlesungsstunde
präsentieren müssen.
InhaltFolgende Themen werden behandelt:
- Programmierkonzepte vs. Programmiersprachen
- Einführung in Java
- Arrays
- Methoden und Methodenparameter
- Klassen, Typen und Objekte
- I/O: Tastatureingaben, Bildschrimausgaben, Dateien lesen und schreiben
- Exceptions
- Datenstrukturen
- Objektorientiertes Programmieren
- Einführung in GUI-Programmierung
- Design-Patterns
- Threads


Während der Übungsstunde wird erklärt, wie Java, Eclipse und Subversion
auf dem eigenen Laptop installiert werden können.

Das eigene Projekt muss im Repository gespeichert werden.
Das Projekt muss während der letzten Vorlesung
präsentiert werden.
SkriptVorlesungswebseite: Link
Literatur- Sprechen Sie Java? Eine Einführung in das systematische Programmieren,
Hanspeter Mössenböck, dpunkt.verlag
- Java-API, Oracle, Java-API
- The Java Language Specification Java SE 7 Edition,
James Gosling, Bill Joy, Guy Steele, Gilad Bracha, Alex Buckley JLS7
Voraussetzungen / BesonderesVoraussetzungen:
- Einsatz von Informatikmitteln (252-0839-00)
- Anwendungsnahes Programmieren mit MATLAB (252-0840-01)
252-0846-00LInformatik II Information Z4 KP2V + 2UF. Friedrich Wicker
KurzbeschreibungZusammen mit der Veranstaltung Informatik I bietet diese Veranstaltung eine Einführung in die Grundlagen der Programmierung und der Nutzung von Datenbanken. Die Vorlesung II vermittelt insbesondere die gebräuchlichsten Algorithmen und Datenstrukturen. Es werden Grundlagen des Entwurfes und der Benutzung von Datenbanken vermittelt. Verwendete Programmiersprache der Vorlesung ist Java.
LernzielAufbauend auf dem erworbenen Wissen der Vorlesung Informatik I sind die primären Primäre Lernziele der Vorlesung
- die Befähigung zum objektorientierten Programmieren,
- die konstruktive Kenntnis von Datenstrukturen und Algorithmen,
- die Kenntnis von relationalen Datenbanken und
- deren Anbindung an eine Programmierumgebung.
Studenten beherrschen nach erfolgreichem Abschluss der Vorlesung die Mechanismen zur Erstellung eines Programmes im objektorientierten Kontext. Sie haben eine Vorstellung davon, was "hinter den Kulissen" passiert, wenn ein Programm übersetzt und ausgeführt wird. Sie kennen die gängigen Datenstrukturen und Algorithmen. Sie können korrekte und ausreichend effiziente Programme entwickeln, um eine klar formulierte Problemstellung zu lösen. Sie wissen, wie man Datenbankanfragen formuliert und wie man einfache Datenbanken entwirft.
Sekundäre Lernziele der Vorlesung sind das Computer-basierte, algorithmische Denken, Verständnis der Möglichkeiten und der Grenzen der Programmierung und die Vermittlung der Denkart eines Computerwissenschaftlers.
InhaltWir behandeln das Paradigma der objektorientierten Programmierung, gängige Datenstrukturen und Algorithmen.

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. Lehrsprache der Vorlesung und der praktischen Übungen ist Java.

Die Übungen können entweder auf dem eigenen PC oder in den betreuten Übungsstunden in den Computerräumen der ETH bearbeitet werden. Die verwendete Software läuft auf gängigen Betriebssystemen.Wir behandeln das Paradigma der objektorientierten Programmierung, gängige Datenstrukturen und Algorithmen und Designprinzipien für die Erstellung und Nutzung von relationalen Datenbanken.
SkriptDie ausführlichen Folien werden auf der Vorlesungshomepage zum Herunterladen bereitgestellt.
LiteraturRobert Sedgewick, Kevin Wayne, Einführung in die Programmierung mit Java. Pearson, 2011

Robert Sedgewick, Kevin Wayne, Introduction to Programming in Java: An Interdisciplinary Approach, Addison-Wesley, 2008

Christian Ullenboo, Java ist auch eine Insel, Link

Guido Krüger, Heiko Hansen, Handbuch der Java-Programmierung
Standard Edition Version 7, Addison-Wesley, 2011, Link

Thomas Ottmann, Peter Widmayer, Algorithmen und Datenstrukturen, Springer 2012
Voraussetzungen / BesonderesEs wird Kenntnis und Programmiererfahrung entsprechend der Vorlesung 252-0845-00 Informatik I (D-BAUG) vorausgesetzt.
  •  Seite  1  von  1