Suchergebnis: Katalogdaten im Frühjahrssemester 2017

Informatik (Allgemeines Angebot) Information
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, H. Lehner
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
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. Gelegentlich werden auch kurze Hinweise zum geschichtlichen Kontext der jeweiligen Konzepte gegeben. In den Übungen wird u.a. in Gruppen ein Spielprogramm für "Reversi" programmiert, am Ende des Semesters findet dazu ein Turnier statt.
SkriptFolienkopien, erweitert um "bonus slides" mit weiterführenden Anmerkungen sowie Darstellungen des historischen Kontextes.
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.5UH. Lehner
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
- Lambda Ausdrücke und das Stream API
- Datenstrukturen
- Objektorientiertes Programmieren
- Einführung in GUI-Programmierung
- Design-Patterns

Das Projekt muss während der letzten Vorlesung
präsentiert werden.
SkriptVorlesungswebseite: http://lec.inf.ethz.ch/ppl
Voraussetzungen / BesonderesVoraussetzungen:
- Einsatz von Informatikmitteln (252-0839-00)
- Anwendungsnahes Programmieren mit MATLAB (252-0840-01)
252-0846-00LInformatik II Information Z4 KP2V + 2UF. O. 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 konstruktive Kenntnis von Datenstrukturen und Algorithmen und
- die Kenntnis von relationalen Datenbanken.

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 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.
SkriptDie ausführlichen Folien werden auf der Vorlesungshomepage zum Herunterladen bereitgestellt.
LiteraturHanspeter Mössenböck, Sprechen Sie Java?, dpunkt Verlag, 5. Auflage 2014.

Robert Sedgewick, Kevin Wayne, Einführung in die Programmierung mit Java. Pearson, 2011

Thomas Ottmann, Peter Widmayer, Algorithmen und Datenstrukturen, Springer 2012

T. Cormen, C. Leiserson, R. Rivest, C. Stein, Algorithmen - Eine Einführung, Oldenbourg, 2010

Kemper, Eickler: Datenbanksysteme: Eine Einführung. Oldenbourg Verlag, 9. Auflage, 2013
Voraussetzungen / BesonderesEs wird Kenntnis und Programmiererfahrung entsprechend der Vorlesung 252-0845-00 Informatik I (D-BAUG) vorausgesetzt.
  •  Seite  1  von  1