Suchergebnis: Katalogdaten im Herbstsemester 2019
Informatik (Allgemeines Angebot) | ||||||
Informatik für Nichtinformatiker | ||||||
Nummer | Titel | Typ | ECTS | Umfang | Dozierende | |
---|---|---|---|---|---|---|
252-0836-00L | Informatik II | Z | 4 KP | 2V + 1U | F. Mattern | |
Kurzbeschreibung | Die 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. | |||||
Lernziel | Einfü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. | |||||
Inhalt | Teil 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. | |||||
Skript | Folienkopien, erweitert um "bonus slides" mit weiterführenden Anmerkungen sowie Darstellungen des historischen Kontextes. | |||||
Literatur | Lehrbuch von Mark Allan Weiss: Data Structures and Problem Solving Using Java, Addison Wesley. | |||||
Voraussetzungen / Besonderes | Voraussetzungen: Informatik I. | |||||
252-0839-00L | Einsatz von Informatikmitteln | Z | 2 KP | 2G | L. E. Fässler, M. Dahinden | |
Kurzbeschreibung | Die 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 | |||||
Lernziel | Die 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. | |||||
Inhalt | 1. 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 | |||||
Skript | Alle Materialien zur Lehrveranstaltung sind verfügbar unter www.evim.ethz.ch | |||||
Voraussetzungen / Besonderes | Diese 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-00L | Informatik I | Z | 5 KP | 2V + 2U | H. Lehner, F. Friedrich Wicker | |
Kurzbeschreibung | Die Vorlesung vermittelt eine Einführung in die Programmierung, mit Schwerpunkt auf den grundlegenden Programmierkonzepten. | |||||
Lernziel | Verstä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. | |||||
Inhalt | Variablen, Typen, Kontrollanweisungen, Prozeduren und Funktionen, Scoping, Rekursion, dynamische Programmierung, vektorisierte Programmierung, Effizienz. Als Lernsprache wird Java eingesetzt. | |||||
Literatur | Sprechen Sie Java? Hanspeter Mössenböck dpunkt.verlag | |||||
252-0847-00L | Informatik | Z | 5 KP | 2V + 2U | M. Schwerhoff, F. Friedrich Wicker | |
Kurzbeschreibung | Die Vorlesung bietet eine Einführung in das Programmieren mit einem Fokus auf systematischem algorithmischem Problemlösen. Lehrsprache ist C++. Es wird keine Programmiererfahrung vorausgesetzt. | |||||
Lernziel | Primä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. | |||||
Inhalt | Wir 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. | |||||
Skript | Ein 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. | |||||
Literatur | Bjarne 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-00L | Algorithmen und Komplexität | Z | 4 KP | 2V + 1U | J. Lengler, A. Steger | |
Kurzbeschreibung | Einfü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. | |||||
Lernziel | Nach 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. | |||||
Inhalt | Die 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. | |||||
Skript | Ja. Wird zu Beginn des Semesters verteilt. | |||||
252-0852-00L | Grundlagen der Informatik | Z | 4 KP | 2V + 2U | L. E. Fässler, M. Dahinden, D. Komm | |
Kurzbeschreibung | Die 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. | |||||
Lernziel | Die 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 | |||||
Inhalt | 1. 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 | |||||
Skript | Alle Materialien zur Lehrveranstaltung sind verfügbar unter www.gdi.ethz.ch | |||||
Literatur | L. 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 / Besonderes | Diese 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-00L | Informatik im gymnasialen Mathematikunterricht | Z | 4 KP | 3G | J. Hromkovic, G. Serafini | |
Kurzbeschreibung | Die 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. | |||||
Lernziel | Die ü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. | |||||
Inhalt | Die 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. | |||||
Skript | Literatur wird angegeben. Zusätzliche Unterlagen und Folien werden zur Verfügung gestellt. | |||||
Literatur | J. 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-00L | Informatik | Z | 4 KP | 2V + 2U | F. Friedrich Wicker, M. Schwerhoff | |
Kurzbeschreibung | Die Vorlesung bietet eine Einführung in das Programmieren mit einem Fokus auf systematischem algorithmischem Problemlösen. Lehrsprache ist C++. Es wird keine Programmiererfahrung vorausgesetzt. | |||||
Lernziel | Primä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. | |||||
Inhalt | Wir 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. | |||||
Skript | Ein Skript in englischer Sprache wird semesterbegleitend herausgegeben. Das Skript und die Folien werden auf der Vorlesungshomepage zum Herunterladen bereitgestellt. | |||||
Literatur | Bjarne 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-00L | Information Systems for Engineers Findet dieses Semester nicht statt. | Z | 4 KP | 2V + 1U | Noch nicht bekannt | |
Kurzbeschreibung | This 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. | |||||
Lernziel | After 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. | |||||
Inhalt | Using 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 / Besonderes | For 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