Suchergebnis: Katalogdaten im Herbstsemester 2019

Informatik (Allgemeines Angebot) Information
Informatik für Nichtinformatiker
NummerTitelTypECTSUmfangDozierende
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, Binärbäume etc.) zeitdiskrete Simulation, Nebenläufigkeit, Komplexität, Verifikation. 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 und Korrektheit von Algorithmen, Divide and Conquer-Prinzip, Rekursion, Sortieralgorithmen, Backtracking, Suche in Spielbäumen, Datenstrukturen (Listen, Stacks, binäre Bäume etc.), zeitdiskrete Simulation, Nebenläufigkeit, Verifikation. 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-0839-00LEinsatz von Informatikmitteln Information Z2 KP2GL. E. Fässler, M. Dahinden
KurzbeschreibungDie Studierenden lernen ausgewählte Konzepte und Informatikmittel einzusetzen, um interdisziplinäre Projekte zu bearbeiten. Themenbereiche: Modellieren und Simulieren, Visualisierung mehrdimensionaler Daten, Daten verwalten mit Listen, Tabellen und relationalen Datenbanken, Einführung in die Programmierung
LernzielDie Studierenden lernen

- für wissenschaftliche Problemstellungen adäquate Informatikmittel zu wählen und einzusetzen,
- reale Daten aus ihren Fachrichtungen zu verarbeiten und zu analysieren,
- mit der Komplexität realer Daten umzugehen,
- universelle Methoden zum Algorithmenentwurf kennen.
Inhalt1. Modellieren und Simulieren
2. Visualisierung mehrdimensionaler Daten
3. Datenverwaltung mit Listen und Tabellen
4. Datenverwaltung mit relationalen Datenbanken
5. Automatisieren mit Makros
6. Programmiereinführung mit Python
SkriptAlle Materialien zur Lehrveranstaltung sind verfügbar unter www.evim.ethz.ch
Voraussetzungen / BesonderesDiese Vorlesung basiert auf anwendungsorientiertem Lernen. Den grössten Teil der Arbeit verbringen die Studierenden damit, Projekte mit naturwissenschaftlichen Daten zu bearbeiten und die Resultate mit Assistierenden zu diskutieren. Für die Aneignung der Informatik-Grundlagen stehen elektronische Tutorials zur Verfügung.
252-0845-00LInformatik I Information Z5 KP2V + 2UH. Lehner, F. Friedrich Wicker
KurzbeschreibungDie Vorlesung vermittelt eine Einführung in die Programmierung, mit Schwerpunkt auf den grundlegenden Programmierkonzepten.
LernzielVerständnis der grundlegenden Programmierkonzepte. Fähigkeit, einfache Programme schreiben und lesen zu können. Fähigkeit, andere (konzeptionell ähnliche) Programmiersprachen rasch erlernen zu können.
InhaltVariablen, Typen, Kontrollanweisungen, Prozeduren und Funktionen, Scoping, Rekursion, dynamische Programmierung, vektorisierte Programmierung, Effizienz.
Als Lernsprache wird Java eingesetzt.
LiteraturSprechen Sie Java?
Hanspeter Mössenböck
dpunkt.verlag
252-0847-00LInformatik Information Z5 KP2V + 2UM. Schwerhoff, F. Friedrich Wicker
KurzbeschreibungDie Vorlesung bietet eine Einführung in das Programmieren mit einem Fokus auf systematischem algorithmischem Problemlösen. Lehrsprache ist C++. Es wird keine Programmiererfahrung vorausgesetzt.
LernzielPrimäres Lernziel der Vorlesung ist die Befähigung zum Programmieren mit C++. Studenten beherrschen nach erfolgreichem Abschluss der Vorlesung die Mechanismen zum Erstellen eines Programms, sie kennen die fundamentalen Kontrollstrukturen, Datenstrukturen und verstehen, wie man ein algorithmisches Problem in ein Programm abbildet. Sie haben eine Vorstellung davon, was "hinter den Kulissen" passiert, wenn ein Programm übersetzt und ausgeführt wird.
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 fundamentale Datentypen, Ausdrücke und Anweisungen, (Grenzen der) Computerarithmetik, Kontrollanweisungen, Funktionen, Felder, zusammengesetze Strukturen und Zeiger. Im Teil zur Objektorientierung werden Klassen, Vererbung und Polymorhpie behandelt, es werden exemplarisch einfache dynamische Datentypen eingeführt.
Die Konzepte der Vorlesung werden jeweils durch Algorithmen und Anwendungen motiviert und illustriert.
SkriptEin Skript in englischer Sprache wird semesterbegleitend herausgegeben. Das Skript und die Folien werden auf der Vorlesungshomepage zum Herunterladen bereitgestellt. Übungen werden online gelöst und abgegeben.
LiteraturBjarne Stroustrup: Einführung in die Programmierung mit C++, Pearson Studium, 2010
Stephen Prata: C++ Primer Plus, Sixth Edition, Addison Wesley, 2012
Andrew Koenig and Barbara E. Moo: Accelerated C++, Addison-Wesley, 2000.
252-0851-00LAlgorithmen und KomplexitätZ4 KP2V + 1UJ. Lengler, A. Steger
KurzbeschreibungEinführung: RAM-Maschine, Datenstrukturen; Algorithmen: Sortieren, Medianbest., Matrixmultiplikation, kürzeste Pfade, min. spann. Bäume; Paradigmen: Divide&Conquer, dynam. Programmierung, Greedy; Datenstrukturen: Suchbäume, Wörterbücher, Priority Queues; Komplexitätstheorie: Klassen P und NP, NP-vollständig, Satz von Cook, Beispiele für Reduktionen.
LernzielNach dieser Vorlesung kennen die Studierenden einige Algorithmen und übliche Werkzeuge. Sie kennen die Grundlagen der Komplexitätstheorie und können diese verwenden um Probleme zu klassifizieren.
InhaltDie Vorlesung behandelt den Entwurf und die Analyse von Algorithmen und Datenstrukturen. Die zentralen Themengebiete sind: Sortieralgorithmen, Effiziente Datenstrukturen, Algorithmen für Graphen und Netzwerke, Paradigmen des Algorithmenentwurfs, Klassen P und NP, NP-Vollständigkeit, Approximationsalgorithmen.
SkriptJa. Wird zu Beginn des Semesters verteilt.
252-0852-00LGrundlagen der Informatik Information Z4 KP2V + 2UL. E. Fässler, M. Dahinden, D. Komm
KurzbeschreibungDie Studierenden lernen ausgewählte Konzepte und Informatikmittel einzusetzen, um interdisziplinäre Projekte zu bearbeiten.

Themenbereiche: Rolle der Informatik in der Wissenschaft, Einführung in die Programmierung, Simulieren und Modellieren, Matrizenrechnen, Visualisierung mehrdimensionaler Daten, Daten verwalten mit Listen, Tabellen und relationalen Datenbanken.
LernzielDie Studierenden lernen:

- die Rolle der Informatik in der Wissenschaft zu verstehen
- mittels Programmieren den Rechner zu steuern und Prozesse der Problemlösungen zu automatisieren
- für wissenschaftliche Problemstellungen adäquate Informatikmittel zu wählen und einzusetzen
- reale Daten aus ihren Fachrichtungen zu verarbeiten und zu analysieren
- mit der Komplexität realer Daten umzugehen
Inhalt1. Die Rolle der Informatik in der Wissenschaft
2. Einführung in die Programmierung mit Python
3. Modellieren und Simulieren
4. Matrizenrechnen mit Matlab
5. Visualisierung mehrdimensionaler Daten
6. Datenverwaltung mit Listen und Tabellen
7. Datenverwaltung mit einer relationalen Datenbank
SkriptAlle Materialien zur Lehrveranstaltung sind verfügbar unter www.gdi.ethz.ch
LiteraturL. Fässler, M. Dahinden, D. Komm, and D. Sichau: Einführung in die Programmierung mit Python und Matlab. Begleitunterlagen zum Onlinekurs und zur Vorlesung, 2016. ISBN: 978-3741250842.
L. Fässler, M. Dahinden, and D. Sichau: Verwaltung und Analyse digitaler Daten in der Wissenschaft. Begleitunterlagen zum Onlinekurs und zur Vorlesung, 2017.
Voraussetzungen / BesonderesDiese Vorlesung basiert auf anwendungsorientiertem Lernen. Den grössten Teil der Arbeit verbringen die Studierenden damit, Projekte mit naturwissenschaftlichen Daten zu bearbeiten und die Resultate mit Assistierenden zu diskutieren. Für die Aneignung der Informatik-Grundlagen stehen elektronische Tutorials zur Verfügung.
252-0855-00LInformatik im gymnasialen Mathematikunterricht Information Belegung eingeschränkt - Details anzeigen Z4 KP3GJ. Hromkovic, G. Serafini
KurzbeschreibungDie Lerneinheit "Informatik im gymnasialen Mathematikunterricht" befasst sich primär mit der Untersuchung des allgemein bildenden Charakters der Informatik, mit der Verknüpfung zwischen der algorithmischen und der mathematischen Denkweise, und mit der fachlich und didaktisch überlegten Einbettung von Informatikinhalten in den gymnasialen Mathematikunterricht.
LernzielDie übergeordnete Zielsetzung der Lerneinheit besteht darin, Szenarien für die Vermittlung von allgemeinbildenden Informatikgrundlagen im engen Zusammenhang mit Inhalten und Methoden der Mathematik aufzuzeigen. Der Besuch der Lerneinheit ermöglicht es einer Mathematiklehrperson, innerhalb des gymnasialen Mathematikunterrichts ausgewählte Grundthemen der Informatik fundiert und nachhaltig zu unterrichten.

Die Studierenden verstehen die grundlegenden Konzepte der Informatik im breiten und tiefen Kontext. Aus diesem Verständnis heraus sind sie in der Lage, Unterrichtsunterlagen zum erfolgreichen Wissenstransfer zu erarbeiten und ihre Begeisterung für das Fach an die Schülerinnen und Schüler weiterzugeben.

Die Studierenden kennen unterschiedliche Unterrichtsmethoden, ihre Vor- und Nachteile. Sie können mit den oft stark unterschiedlichen Vorkenntnissen der Lernenden umgehen. Neben dem Klassenunterricht legen die Studierenden Wert auf die Einzelbetreuung von Schülerinnen und Schülern. Sie fördern die Selbstständigkeit der Lernenden, sie schaffen es, mit verschiedenartigen Zielgruppen zu arbeiten sowie ein gutes Lernklima aufzubauen.

Die Studierenden sind in der Lage, sich in einer verständlichen und gepflegten Fachsprache mündlich und schriftlich auszudrücken und beherrschen die grundlegenden Begriffe der Informatik. Neben den englischen Fachausdrücken sind ihnen auch die deutschen Benennungen geläufig. Die Studierenden sind fähig, ausführliche, ausgereifte, sprachlich einwandfreie und ansprechend gestaltete Unterrichtsunterlagen anzufertigen.
InhaltDie Lerneinheit befasst sich mit allgemein bildenden Inhalten des Informatikunterrichts und deren Integrationsmöglichkeiten in den Mathematikunterricht der gymnasialen Stufe.

Der inhaltliche Fokus liegt auf denjenigen Informatikinhalten, die einen engen fachlichen Bezug zur Mathematik aufweisen, die die Entwicklung der Denkweise der Jugendlichen auf einzigartige Art und Weise ermöglichen, und die zum Verständnis unserer Welt sowie zur Hochschulreife beitragen.

Die Hauptthemen der Lerneinheit "Informatik im gymnasialen Mathematikunterricht" bieten einen fachlichen und didaktischen Mehrwert für den Mathematikunterricht. Es werden die Didaktik der Logik, der Kryptologie, der Automatentheorie, der Berechenbarkeit und der Grundlagen der Programmierung behandelt. Einerseits wird das Verständnis für Grundbegriffe der Wissenschaft wie Algorithmus, Programm, Komplexität, Determinismus, Berechnung, Automat, Verifikation, Testen, Sicherheit eines Kryptosystems und sichere Kommunikation geschaffen, und andererseits wird über deren fachlich korrekte und didaktisch nachhaltige Einbettung in den Mathematikunterricht reflektiert.

Im Rahmen einer semesterbegleitenden Übung entwickeln und dokumentieren die Studierenden eine adaptive Unterrichtseinheit für den Mathematikunterricht, in welcher Inhalte aus der Mathematik und Konzepte aus der Informatik integriert werden. Dabei lernen sie den Umgang mit den im Unterricht eingeführten Lehrmethoden und -techniken.
SkriptLiteratur wird angegeben. Zusätzliche Unterlagen und Folien werden zur Verfügung gestellt.
LiteraturJ. Hromkovic: Sieben Wunder der Informatik: Eine Reise an die Grenze des Machbaren, mit Aufgaben und Lösungen. Vieweg+Teubner; Auflage: 2 (2008).

K. Freiermuth, J. Hromkovic, L. Keller und B. Steffen: Einfuehrung in die Kryptologie: Lehrbuch für Unterricht und Selbststudium. Springer Vieweg; Auflage: 2 (2014).

J. Hromkovic: Berechenbarkeit: Logik, Argumentation, Rechner und Assembler, Unendlichkeit, Grenzen der Automatisierbarkeit. Vieweg+Teubner; Auflage: 1 (2011).

H.-J. Böckenhauer, J. Hromkovic: Formale Sprachen: Endliche Automaten, Grammatiken, lexikalische und syntaktische Analyse. Springer Vieweg; Auflage: 1 (Januar 2013).

J. Hromkovic: Einführung in die Programmierung mit LOGO: Lehrbuch für Unterricht und Selbststudium. Springer Vieweg; Auflage: 3 (2014)
252-0856-00LInformatik Information Z4 KP2V + 2UF. Friedrich Wicker, M. Schwerhoff
KurzbeschreibungDie Vorlesung bietet eine Einführung in das Programmieren mit einem Fokus auf systematischem algorithmischem Problemlösen. Lehrsprache ist C++. Es wird keine Programmiererfahrung vorausgesetzt.
LernzielPrimäres Lernziel der Vorlesung ist die Befähigung zum Programmieren mit C++. Studenten beherrschen nach erfolgreichem Abschluss der Vorlesung die Mechanismen zum Erstellen eines Programms, sie kennen die fundamentalen Kontrollstrukturen, Datenstrukturen und verstehen, wie man ein algorithmisches Problem in ein Programm abbildet. Sie haben eine Vorstellung davon, was "hinter den Kulissen" passiert, wenn ein Programm übersetzt und ausgeführt wird.
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 fundamentale Datentypen, Ausdrücke und Anweisungen, (Grenzen der) Computerarithmetik, Kontrollanweisungen, Funktionen, Felder, zusammengesetze Strukturen und Zeiger. Im Teil zur Objektorientierung werden Klassen, Vererbung und Polymorhpie behandelt, es werden exemplarisch einfache dynamische Datentypen eingeführt.
Die Konzepte der Vorlesung werden jeweils durch Algorithmen und Anwendungen motiviert und illustriert.
SkriptEin Skript in englischer Sprache wird semesterbegleitend herausgegeben. Das Skript und die Folien werden auf der Vorlesungshomepage zum Herunterladen bereitgestellt.
LiteraturBjarne Stroustrup: Einführung in die Programmierung mit C++, Pearson Studium, 2010
Stephen Prata: C++ Primer Plus, Sixth Edition, Addison Wesley, 2012
Andrew Koenig and Barbara E. Moo: Accelerated C++, Addison-Wesley, 2000.
252-0834-00LInformation Systems for Engineers Information
Findet dieses Semester nicht statt.
Z4 KP2V + 1UNoch nicht bekannt
KurzbeschreibungThis course provides the basics of relational databases from the perspective of the user.

We will discover why tables are so incredibly powerful to express relations, learn the SQL query language, and how to make the most of it. The course also covers support for data cubes (analytics).

After this course, you will be ready for Big Data for Engineers.
LernzielAfter visiting this course, you will be capable to:

1. Explain, in the big picture, how a relational database works and what it can do in your own words.

2. Explain the relational data model (tables, rows, attributes, primary keys, foreign keys), formally and informally, including the relational algebra operators (select, project, rename, all kinds of joins, division, cartesian product, union, intersection, etc).

3. Perform non-trivial reading SQL queries on existing relational databases, as well as insert new data, update and delete existing data.

4. Design new schemas to store data in accordance to the real world's constraints, such as relationship cardinality

5. Explain what bad design is and why it matters.

6. Adapt and improve an existing schema to make it more robust against anomalies, thanks to a very good theoretical knowledge of what is called "normal forms".

7. Understand how indices work (hash indices, B-trees), how they are implemented, and how to use them to make queries faster.

8. Access an existing relational database from a host language such as Java, using bridges such as JDBC.

9. Explain what data independence is all about and didn't age a bit since the 1970s.

10. Explain, in the big picture, how a relational database is physically implemented.

11. Know and deal with the natural syntax for relational data, CSV.

12. Explain the data cube model including slicing and dicing.

13. Store data cubes in a relational database.

14. Map cube queries to SQL.

15. Slice and dice cubes in a UI.

And of course, you will think that tables are the most wonderful object in the world.
InhaltUsing a relational database
=================
1. Introduction
2. The relational model
3. Data definition with SQL
4. The relational algebra
5. Queries with SQL

Taking a relational database to the next level
=================
6. Database design theory
7. Databases and host languages
8. Databases and host languages
9. Indices and optimization
10. Database architecture and storage

Analytics on top of a relational database
=================
12. Data cubes

Outlook
=================
13. Outlook
Literatur- Lecture material (slides).

- Book: "Database Systems: The Complete Book", H. Garcia-Molina, J.D. Ullman, J. Widom
(It is not required to buy the book, as the library has it)
Voraussetzungen / BesonderesFor non-CS/DS students only, BSc and MSc
Elementary knowledge of set theory and logics
Knowledge as well as basic experience with a programming language such as Pascal, C, C++, Java, Haskell, Python
  •  Seite  1  von  1