Fachwissenschaftliches Studium

Obligatorische Unterrichtseinheiten

  • Programmierung I

    Dozent(en)

    Marcel Lüthi (UNIBAS)


    Beschreibung

    Die Lehrveranstaltung bietet eine Einführung in das Programmieren anhand der Programmiersprache Java. Sie richtet sich an Programmieranfänger ohne, oder mit nur geringen Programmiererfahrung.  Wir beginnen mit den Grundlagen der strukturierten Programmieren (d.h. Variablen, Typen, Zuweisungen, Bedingungen, Schleifen, und Funktionen) und werden dann im zweiten Teil dieser Lehrveranstaltung die Grundkonstrukte der objektorientierten Programmierung anschauen. Am Ende der Lehrveranstaltung werden die Teilnehmenden in der Lage sein, einfache Programme in Java selbständig zu schreiben und diese mithilfe von Funktionen und Klassen ansprechend zu strukturieren. Die in dieser Lehrveranstaltung eingeführten Konzepte der Objektorientierten Programmierung werden im Modul Programmieren II weiter vertieft.


    Lernziele

    Nach dieser Lernveranstaltung sollten die Teilnehmenden

    • effizient mit der Java Entwicklungsumgebung (Javac, Java, Editor) umgehen können.
    • Fehlermeldungen vom Compiler interpretieren und die Programme entsprechend verbessern können.
    • einfache algorithmische Probleme durch Anwendung von strukturierter Programmierung lösen können.
    • Probleme in einfachere Teilprobleme zerlegen können und diese mittels Methoden implementieren.
    • einfache Datenstrukturen mittels Klassen implementieren und benutzen können.
    • die Grundkonzepte der Objektorientierung verstehen.

    Daten

    • FS2020
      Samstag, 25. Januar 2020

      09:15-12:00

      13:15-17:00

      UNIBAS, Alte Universität, Rheinsprung 9, CH-4051 Basel, -101
      Samstag, 8. Februar 2020

      09:15-12:00

      13:15-17:00

      UNIBAS, Alte Universität, Rheinsprung 9, CH-4051 Basel, -101
      Samstag, 22. Februar 2020

      09:15-12:00

      13:15-17:00

      UNIBAS, Alte Universität, Rheinsprung 9, CH-4051 Basel, -101
      Samstag, 7. März 2020

      09:15-12:00

      13:15-17:00

      UNIBAS, Alte Universität, Rheinsprung 9, CH-4051 Basel, -101
      Samstag, 21. März 2020

      09:15-12:00

      13:15-17:00

      UNIBAS, Alte Universität, Rheinsprung 9, CH-4051 Basel, -101

      Distance-Learning

      Samstag, 4. April 2020

      09:15-12:00

      13:15-17:00

      UNIBAS, Alte Universität, Rheinsprung 9, CH-4051 Basel, -101

      Distance-Learning

       

    • HS2021
      Montag, 9. August 2021 halbtags USI
      Dienstag, 10. August 2021 halbtags USI
      Mittwoch, 11. August 2021 halbtags USI
      Donnerstag, 12. August 2021 halbtags USI
      Freitag, 13. August 2021 halbtags USI
      Samstag, 14. August 2021 halbtags USI
      Samstag, 28. August 2021

      09:15-12:00

      13:15-17:00

       
      Samstag, 11. September 2021

      09:15-12:00

      13:15-17:00

       
      Samstag, 25. September 2021

      09:15-12:00

      13:15-17:00

       

       

  • Programmierung II

    Dozent(en)

    Dominik Gruntz (FHNW)


    Beschreibung

    Die Lehrveranstaltung Programmierung II baut auf der Veranstaltung Programmierung I auf und vertieft in einem ersten Teil die Konzepte der objektorientierten Programmierung (Klassen & Objekte, Attribute, Methoden, Vererbung, Polymorphismus, Überladen und Überschreiben von Methoden) und führt abstrakte Klassen und Interfaces ein. Als Programmiersprache wird ebenfalls Java verwendet. Neben der Vererbungspolymorphie wird auch die parametrische Polymorphie im Kontext von generischen Klassen und generischen Methoden betrachtet und das Thema Ko- und Kontravarianz und dessen Umsetzung in Java wird diskutiert.

    In einem zweiten Teil werden wichtige Pakete und Klassen der Standardbibliothek von Java betrachtet, wie das Collection-Framework, Ausnahmen, Enums und Autoboxing. Es wird gezeigt, wie die in der Basisklasse Object definierte Methode clone implementiert werden muss um Objekte zu kopieren. Dabei wird auch auf den Unterschied zwischen deep und shallow copy eingegangen. Als letztes Thema werden Streams und Lambda Ausdrücke behandelt. Diese Konzepte werden dann im Modul Programmiersprachenkonzepte weiter vertieft.


    Lernziele

    Nach dem Besuch der Lehrveranstaltung Programmieren II

    • können die Teilnehmenden Klassen entwerfen, die eine gegebene Aufgabenstellung abbilden (d.h. mit sinnvollen Attributen, Methoden und Konstruktoren).
    • verstehen die Teilnehmenden die Konzepte von Vererbung, abstrakten Klassen, Interfaces und Polymorphismus und können diese Konzepte in ihren Programmen korrekt anwenden.
    • verstehen die Teilnehmenden den Kontrollfluss eines Programmes mit Ausnahmebehandlung und können dieses Sprachfeature korrekt einsetzen.
    • verstehen die Teilnehmer das Konzept des generischen Collections-Frameworks und können es zur Datenhaltung in eigenen Projekten einsetzen.
    • sind die Teilnehmenden in der Lage, eigene generische Klassen und Methoden zu implementieren.
    • verstehen die Teilnehmenden den Unterschied zwischen Deep- und Shallow-Copy und können die clone-Methode korrekt implementieren.
    • können die Teilnehmenden Streams mit Funktionen wie map und filter geeignet bearbeiten.

    Daten

    • HS2020
      Montag, 3. August 2020 nachmittags USI, Lugano Campus, Via Buffi 13, CH-6900 Lugano, Aula Magna
      Dienstag, 4. August 2020  nachmittags USI, Lugano Campus, Via Buffi 13, CH-6900 Lugano, Aula Magna
      Mittwoch, 5. August 2020 nachmittags USI, Lugano Campus, Via Buffi 13, CH-6900 Lugano, Aula Magna
      Donnerstag, 6. August 2020 vormittags USI, Lugano Campus, Via Buffi 13, CH-6900 Lugano, Aula Magna
      Freitag, 7. August 2020 vormittags USI, Lugano Campus, Via Buffi 13, CH-6900 Lugano, Aula Magna
      Samstag, 8. August 2020 vormittags

      USI, Lugano Campus, Via Buffi 13, CH-6900 Lugano, Aula Magna

      Freitag, 21. August 2020

      09:15-12:00

      13:15-17:00

      FHNW, Campus Brugg-Windisch, Bahnhofstrasse 6, CH-5210 Windisch, Studiensaal B 5.0B56
      Freitag, 4. September 2020

      09:15-12:00

      13:15-17:00

      FHNW, Campus Brugg-Windisch, Bahnhofstrasse 6, CH-5210 Windisch, Audimax A 1.045 / Audimax B 1.047
      Freitag, 18. September 2020

      09:15-12:00

      13:15-17:00

      FHNW, Campus Brugg-Windisch, Bahnhofstrasse 6, CH-5210 Windisch, Audimax A 1.045 / Audimax B 1.047
    • FS2021
      Freitag, 23. April 2021

      09:15-12:00

      13:15-17:00

      UZH

      Distance-Learning

      Freitag, 7. Mai 2021

      09:15-12:00

      13:15-17:00

      UZH

      Distance-Learning

      Freitag, 21. Mai 2021

      09:15-12:00

      13:15-17:00

      UZH

      Distance-Learning

      Freitag, 4. Juni 2021

      09:15-12:00

      13:15-17:00

      UZH

      Distance-Learning

      Freitag, 18. Juni 2021

      09:15-12:00

      13:15-17:00

      UZH

      Distance-Learning

      Freitag, 2. Juli 2021

      09:15-12:00

      13:15-17:00

      UZH

      Distance-Learning

       

  • Programmiersprachenkonzepte

    Dozent(en)

    Matthias Hauswirth (USI)


    Beschreibung

    Es gibt eine unglaubliche Vielfalt von Programmiersprachen. Diese Sprachen bauen auf einigen fundamentalen Konzepte auf deren Verständnis für die Programmierung—und besonders für den Programmierunterricht—von grosser Bedeutung ist.

    Nachdem die Module «Programmierung 1» und «Programmierung 2» die Imperative Programmierung—basierend auf der Idee der Turing-Maschinen—und die darauf aufbauende Objekt-Orientierte Programmierung behandeln, führt dieses Modul die komplementäre Funktionale Programmierung—basierend auf der Idee des Lambda-Kalküls—ein und behandelt Konzepte wie Reinheit, Funktionen als Werte, Lambdas, Komposition, Continuations, und Monade. Wir behandeln danach das sprachübergreifende Konzept der Typen (Statische und Dynamische Typensysteme; Algebraische Datentypen: Summen-, Produkt-, und Exponential-Typen; Vererbungs- und Parametrische Polymorphie) und generell die Idee einer Formalen Semantik für Programmiersprachen und die didaktische Idee der Notionalen Maschinen.


    Lernziele

    • Implementation einfacher Programme in funktionalem Stil; Refaktorisierung zwischen imperativen und funktionalen Programmen
    • Unterscheidung zwischen statischen und dynamischen Typsystemen; Identifikation und Programmierung mit algebraischen Datentypen; Programmierung mit Parametrischer und Vererbungs-Polymorphie
    • Interpretation fundamentaler Sprachkonzepte mit formellen Semantik-Regeln; Verwendung von Notionalen Maschinen zur Erklärung von Sprachkonzepten

    Daten

    • HS2020
      Montag, 3. August 2020 vormittags USI, Lugano Campus, Via Buffi 13, CH-6900 Lugano, Aula Magna
      Dienstag, 4. August 2020 vormittags USI, Lugano Campus, Via Buffi 13, CH-6900 Lugano, Aula Magna
      Mittwoch, 5. August 2020 vormittags USI, Lugano Campus, Via Buffi 13, CH-6900 Lugano, Aula Magna
      Donnerstag, 6. August 2020 nachmittags USI, Lugano Campus, Via Buffi 13, CH-6900 Lugano, Aula Magna
      Freitag, 7. August 2020  nachmittags USI, Lugano Campus, Via Buffi 13, CH-6900 Lugano, Aula Magna
      Samstag, 8. August 2020 nachmittags USI, Lugano Campus, Via Buffi 13, CH-6900 Lugano, Aula Magna
      Samstag, 22. August 2020

      09:15-12:00

      13:15-17:00

      FHNW, Campus Brugg-Windisch, Bahnhofstrasse 6, CH-5210 Windisch, Studiensaal B 5.0B56
      Samstag, 5. September 2020

      09:15-12:00

      13:15-17:00

      FHNW, Campus Brugg-Windisch, Bahnhofstrasse 6, CH-5210 Windisch, Audimax A 1.045 / Audimax B 1.047
      Samstag, 19. September 2020

      09:15-12:00

      13:15-17:00

      FHNW, Campus Brugg-Windisch, Bahnhofstrasse 6, CH-5210 Windisch, Audimax A 1.045 / Audimax B 1.047
    • HS2021
      Montag, 9. August 2021

      halbtags

      USI
      Dienstag, 10. August 2021 halbtags USI
      Mittwoch, 11. August 2021 halbtags USI
      Donnerstag, 12. August 2021 halbtags USI
      Freitag, 13. August 2021 halbtags USI
      Samstag, 14. August 2021 halbtags USI
      Samstag, 28. August 2021

      09:15-12:00

      13:15-17:00

       
      Samstag, 11. September 2021

      09:15-12:00

      13:15-17:00

       
      Samstag, 25. September 2021

      09:15-12:00

      13:15-17:00

       

       

  • Algorithmen und Datenstrukturen I

    Dozent(en)

    Marcel Lüthi (UNIBAS)


    Beschreibung

    Die Lehrveranstaltung stellt grundlegenden Algorithmen und Datenstrukturen vor, und gibt eine Einführung in die Analyse von Algorithmen. Der Fokus liegt dabei auf den klassischen Such und Sortieralgorithmen, sowie den fundamentalen Datenstrukturen Arrays, Listen, Bäume und Graphen. Alle eingeführten Algorithmen und Datenstrukturen werden sowohl theoretisch analysiert als auch praktisch implementiert. Dabei werden die theoretischen Resultate durch empirische Ergebnisse von Simulationen komplementiert. Die Sprachunabhängigkeit der vermittelten Konzepte wird durch gleichzeitigen Einsatz zweier Programmiersprachen (Java und Python) vermittelt.


    Lernziele

    Nach dieser Lernveranstaltung sollten die Teilnehmenden

    • die Laufzeit und Speicherkomplexität von einfachen Algorithmen analysieren und mit Gross-O Notation formalisieren können.
    • die klassischen Sortierverfahren, Quicksort, Mergesort und Heapsort implementieren können und deren Laufzeit und Speichereigenschaften kennen.
    • die Datentypen Stack, (Priority-) Queue, Maps kennen und anwenden können als auch mittels geeigneter Datenstrukturen wie Listen, Heaps oder Bäume implementieren können.
    • die Eigenschaften der verschiedenen Datenstrukturen kennen und diese anwendungsspezifisch bewerten und einsetzen können.
    • die verschiedenen Repräsentationen von Graphen kennen sowie die grundlegenden Algorithmen auf Graphen verstehen und selber implementieren können. 

    Daten

    • FS2020
      Samstag, 18. April 2020

      09:15-12:00

      13:15-17:00

      UNIFR, PER21, Bd de Pérolles 90, CH-1700 Freiburg, D230

      Distance-Learning

      Samstag, 2. Mai 2020

      09:15-12:00

      13:15-17:00

      UNIFR, PER21, Bd de Pérolles 90, CH-1700 Freiburg, D230

      Distance-Learning

      Samstag, 16. Mai 2020

      09:15-12:00

      13:15-17:00

      UNIFR, PER21, Bd de Pérolles 90, CH-1700 Freiburg, D230

      Distance-Learning

      Samstag, 30. Mai 2020

      09:15-12:00

      13:15-17:00

      UNIFR, PER21, Bd de Pérolles 90, CH-1700 Freiburg, D230

      Distance-Learning

      Samstag, 13. Juni 2020

      09:15-12:00

      13:15-17:00

      UNIFR, PER21, Bd de Pérolles 90, CH-1700 Freiburg, D230

      Distance-Learning

      Samstag, 27. Juni 2020

      09:15-12:00

      13:15-17:00

      UNIFR, PER21, Bd de Pérolles 90, CH-1700 Freiburg, D230

      Distance-Learning

       

    • HS2020
      Samstag, 3. Oktober 2020

      09:15-12:00

      13:15-17:00

      ETHZ, Hauptgebäude, Rämistrasse 101, CH-8092 Zürich, HG F 5
      Samstag, 17. Oktober 2020

      09:15-12:00

      13:15-17:00

      ETHZ, Hauptgebäude, Rämistrasse 101, CH-8092 Zürich, HG F 5
      Samstag, 31. Oktober 2020

      09:15-12:00

      13:15-17:00

      ETHZ, Hauptgebäude, Rämistrasse 101, CH-8092 Zürich, HG F 5

      Distance-Learning

      Samstag, 14. November 2020

      09:15-12:00

      13:15-17:00

      ETHZ, Hauptgebäude, Rämistrasse 101, CH-8092 Zürich, HG F 5

      Distance-Learning

      Samstag, 28. November 2020

      09:15-12:00

      13:15-17:00

      ETHZ, Hauptgebäude, Rämistrasse 101, CH-8092 Zürich, HG F 5

      Distance-Learning

      Samstag, 12. Dezember 2020

      09:15-12:00

      13:15-17:00

      ETHZ, Hauptgebäude, Rämistrasse 101, CH-8092 Zürich, HG F 5

      Distance-Learning

    • HS2021
      Freitag, 8. Oktober 2021

      09:15-12:00

      13:15-17:00

      UNIBAS
      Freitag, 22. Oktober 2021

      09:15-12:00

      13:15-17:00

      UNIBAS
      Freitag, 5. November 2021

      09:15-12:00

      13:15-17:00

      UNIBAS
      Freitag, 19. November 2021

      09:15-12:00

      13:15-17:00

      UNIBAS
      Freitag, 3. Dezember 2021

      09:15-12:00

      13:15-17:00

      UNIBAS
      Freitag, 17. Dezember 2021

      09:15-12:00

      13:15-17:00

      UNIBAS

       

  • Algorithmen und Datenstrukturen II

    Dozent(en)

    Dennis Komm (ETHZ), Hans-Joachim Böckenhauer (ETHZ), Juraj Hromkovic (ETHZ)


    Beschreibung

    Die Veranstaltung fokussiert auf den Entwurf und Analyse von Algorithmen, bei den man fortgeschrittene algorithmische und mathematische Methoden braucht. Das Hauptthema ist, wie man die Effizienz wesentlich verbessern kann, ohne zu viele der eigenen Zielsetzungen bei der Problemformulierung aufzugeben. Insbesondere bei schweren Problemen gilt, dass man ohne eine Reduktion der Wünsche die Probleme wegen des riesigen Berechnungsaufwands nicht bewältigen kann. Hier werden die Grundkonzepte erklärt und mit eindrucksvollen algorithmischen Beispielen illustriert. Es werden auch Unterrichtsbeispiele vorgestellt, die für das Gymnasium geeignet sind.


    Lernziele

    Die Teilnehmenden

    • können algorithmische Probleme nach ihrer Schwierigkeit klassifizieren
    • kennen grundlegende Techniken zur Behandlung schwerer Berechnungsprobleme wie Randomisierung, Approximation, Parametrisierung und den Entwurf von Algorithmen mit moderat exponentieller Laufzeit
    • kennen die Grenzen dieser Entwurfstechniken
    • verstehen das Konzept von Online-Problemen und Online-Algorithmen

    Daten

    • HS2020
      Samstag, 3. Oktober 2020

      09:15-12:00

      13:15-17:00

      ETHZ, Hauptgebäude, Rämistrasse 101, CH-8092 Zürich, HG F 7
      Samstag, 17. Oktober 2020

      09:15-12:00

      13:15-17:00

      ETHZ, Hauptgebäude, Rämistrasse 101, CH-8092 Zürich, HG F 7
      Samstag, 31. Oktober 2020

      09:15-12:00

      13:15-17:00

      ETHZ, Hauptgebäude, Rämistrasse 101, CH-8092 Zürich, HG F 7

      Distance-Learning

      Samstag, 14. November 2020

      09:15-12:00

      13:15-17:00

      ETHZ, Hauptgebäude, Rämistrasse 101, CH-8092 Zürich, HG F 7

      Distance-Learning

      Samstag, 28. November 2020

      09:15-12:00

      13:15-17:00

      ETHZ, Hauptgebäude, Rämistrasse 101, CH-8092 Zürich, HG F 7

      Distance-Learning

      Samstag, 12. Dezember 2020

      09:15-12:00

      13:15-17:00

      ETHZ, Hauptgebäude, Rämistrasse 101, CH-8092 Zürich, HG F 7

      Distance-Learning

    • FS2021
      Freitag, 29. Januar 2021

      09:15-12:00

      13:15-17:00

      UZH

      Distance-Learning

      Freitag, 12. Februar 2021

      09:15-12:00

      13:15-17:00

      UZH

      Distance-Learning

      Freitag, 26. Februar 2021

      09:15-12:00

      13:15-17:00

      UZH

      Distance-Learning

      Freitag, 12. März 2021

      09:15-12:00

      13:15-17:00

      UZH

      Distance-Learning

      Freitag, 26. März 2021

      09:15-12:00

      13:15-17:00

      UZH

      Distance-Learning

      Freitag, 9. April 2021

      09:15-12:00

      13:15-17:00

      UZH

      Distance-Learning

       

  • Formale Grundlagen / Theoretische Informatik

    Dozent(en)

    Lucia Di Caro (FHNW), Ulrich Ultes-Nitsche (UNIFR)


    Beschreibung

    Das Modul «Formale Grundlagen / Theoretische Informatik» behandelt die formalen Aspekte der Informatik. Es gliedert sich in die Teile

    • «Formale Sprachen und Entscheidungsprobleme»,
    • «Reguläre Ausdrücke»,
    • «Kontextfreie Grammatiken»,
    • «Automatenmodelle, Turingmaschinen»,
    • «Logik und Erfüllbarkeit»,
    • «Berechenbarkeit»,
    • «Komplexitätstheorie».

    Einerseits geht es um grundlegende Konzepte zur Formalisierung von Informatikproblemen und um Strategien diese zu lösen (Formale Sprachen, Logik und Erfüllbarkeit). Andererseits werden Werkzeuge zur Beurteilung der Leistungsfähigkeit von Automatenmodellen untersucht (Automatenmodelle und insbesondere Turingmaschinen), mit dem Ziel Informatikprobleme in theoretisch lösbare und nicht lösbare Probleme zu klassifizieren (Berechenbarkeit) und danach die praktische Lösbarkeit der theoretisch lösbaren Probleme zu untersuchen (Komplexitätstheorie).


    Lernziele

    Die Teilnehmenden des Moduls «Formale Grundlagen / Theoretische Informatik» sollen:

    • verschiedene Klassen von Sprachen und deren Darstellung verstehen, und Mechanismen zur Erkennung, Beschreibung und Generierung solcher Sprachen entwerfen und beurteilen können,
    • Turingmaschinen als grundlegendes Modell der Berechenbarkeit verstehen,
    • einfache Programmverifikation mittels Vor- und Nachbedingungen durchführen können,
    • aussagenlogische Formeln aufstellen und ihre Erfüllbarkeit algorithmisch überprüfen können,
    • berechenbare und nichtberechenbare Probleme identifizieren können,
    • praktisch lösbare und nicht lösbare Probleme erkennen und differenzieren können.

    Daten

    • HS2020
      Freitag, 2. Oktober 2020

      09:15-12:00

      13:15-17:00

      FHNW, Campus Brugg-Windisch, Bahnhofstrasse 6, CH-5210 Windisch, 5.0B56
      Freitag, 16. Oktober 2020

      09:15-12:00

      13:15-17:00

      Distance-Learning
      Freitag, 30. Oktober 2020

      09:15-12:00

      13:15-17:00

      FHNW, Campus Brugg-Windisch, Bahnhofstrasse 6, CH-5210 Windisch, 3.-111

      Distance-Learning

      Freitag, 13. November 2020

      09:15-12:00

      13:15-17:00

      Distance-Learning
      Freitag, 27. November 2020

      09:15-12:00

      13:15-17:00

      Distance-Learning
      Freitag, 11. Dezember 2020

      09:45-12:00

      13:15-17:00

      FHNW, Campus Brugg-Windisch, Bahnhofstrasse 6, CH-5210 Windisch, 3.-111

      Distance-Learning

  • Einführung in Computersysteme

    Dozent(en)

    Ronny Standtke (FHNW), Ulrich Ultes-Nitsche (UNIFR)


    Beschreibung

    Das Modul «Einführung in Computersysteme» gibt den Teilnehmenden zunächst einen Einblick in die Geschichte, die Theorie und den grundlegenden Aufbau von Hardware, Betriebssystemen und Netzwerken. Dabei wird sowohl auf die Datenverarbeitung auf Bitebene als auch auf moderne Technologien wie virtuelle Maschinen und Container eingegangen. Von der Architektur einzelner Systeme ausgehend werden anschliessend die Funktionsweise von Betriebssystemen und verschiedene Architekturen von Netzwerken und verteilten Systeme vorgestellt. Dies umfasst auch die Administration der Computersysteme, insbesondere die Automatisierung von Arbeitsschritten mit einfachen Shellskripten und das Arbeiten in einem Terminal. Darauf aufbauend werden verschiedene Webtechnologien, wie z. B. HTML, CSS, JavaScript, PHP und SQL vorgestellt und damit in einfachen Übungen kleine Webanwendungen erstellt. Abschliessend wird die Socketprogrammierung zur Kommunikation von Anwendungen über das Internet besprochen.


    Lernziele

    Die Teilnehmenden des Moduls «Einführung in Computersysteme» sollen danach:

    • die Verarbeitung von Daten auf Bitebene erklären können
    • den konzeptuellen Aufbau eines Computers verstehen und klassifizieren können
    • ein Basisverständnis für die Verarbeitung von Assemblerprogrammen entwickelt haben
    • die grundlegende Funktionsweise des Betriebssystems verstehen
    • die Arbeitsweise von Computernetzwerken, insbesondere dem Internet, verstehen
    • sich Grundkenntnisse in der Administration von Computern und Netzwerken angeeignet haben
    • die Technologien für Webanwendungen und deren Zusammenhänge verstehen
    • wissen, wie Computerprogramme via Sockets miteinander kommunizieren

    Daten

    • FS2020
      Freitag, 24. Januar 2020

      09:15-12:00

      13:15-17:00

      UNIBAS, Kollegienhaus, Petersplatz 1, CH-4051 Basel, 120
      Freitag, 7. Februar 2020

      09:15-12:00

      13:15-17:00

      UNIBAS, Kollegienhaus, Petersplatz 1, CH-4051 Basel, 120
      Freitag, 21. Februar 2020

      09:15-12:00

      13:15-17:00

      UNIBAS, Kollegienhaus, Petersplatz 1, CH-4051 Basel, 120
      Freitag, 6. März 2020

      09:15-12:00

      13:15-17:00

      UNIBAS, Kollegienhaus, Petersplatz 1, CH-4051 Basel, 120
      Freitag, 20. März 2020

      09:15-12:00

      13:15-17:00

      UNIBAS, Kollegienhaus, Petersplatz 1, CH-4051 Basel, 120

      Distance-Learning

      Freitag, 3. April 2020

      09:15-12:00

      13:15-17:00

      UNIBAS, Kollegienhaus, Petersplatz 1, CH-4051 Basel, 120

      Distance-Learning

       

    • FS2021
      Samstag, 24. April 2021

      09:15-12:00

      13:15-17:00

      UZH

      Distance-Learning

      Samstag, 8. Mai 2021

      09:15-12:00

      13:15-17:00

      UZH

      Distance-Learning

      Samstag, 22. Mai 2021

      09:15-12:00

      13:15-17:00

      UZH

      Distance-Learning

      Samstag, 5. Juni 2021

      09:15-12:00

      13:15-17:00

      UZH

      Distance-Learning

      Samstag, 19. Juni 2021

      09:15-12:00

      13:15-17:00

      UZH

      Distance-Learning

      Samstag, 3. Juli 2021

      09:15-12:00

      13:15-17:00

      UZH

      Distance-Learning

       

    • HS2021
      Montag, 9. August 2021 halbtags USI
      Dienstag, 10. August 2021 halbtags USI
      Mittwoch, 11. August 2021 halbtags USI
      Donnerstag, 12. August 2021 halbtags USI
      Freitag, 13. August 2021 halbtags USI
      Samstag, 14. August 2021 halbtags USI
      Freitag, 27. August 2021

      09:15-12:00

      13:15-17:00

       
      Freitag, 10. September 2021

      09:15-12:00

      13:15-17:00

       
      Freitag, 24. September 2021

      09:15-12:00

      13:15-17:00

       
  • Sicherheit und Privacy

    Dozent(en)

    Ulrich Ultes-Nitsche (UNIFR)


    Beschreibung

    In «Sicherheit und Privacy» wird eine Einführung in relevante Fragen rund um das Thema Computer- und Netzwerksicherheit sowie kryptographischer Verfahren zur Verschlüsselung von Daten gegeben. Zunächst wird symmetrische und asymmetrische Kryptographie unterschieden und dann konkret auf Simple DES (symmetrisch) und RSA (asymmetrisch) eingegangen. Danach werden die Einsatzszenarien von Kryptographie in verschiedenen Informatikanwendungen besprochen. Um praktisch etwas Erfahrung zu sammeln, betrachten wir OpenSSL. Abschliessend wird es um Bedrohungen im Internet und den erforderlichen Schutzmechanismen gehen.


    Lernziele

    Nach Abschluss des Moduls können die Teilnehmenden

    • symmetrische von asymmetrischen Kryptoverfahren unterscheiden und deren Vor- und Nachteile bewerten
    • das RSA-Verfahren anwenden, seine Grundlagen verstehen und praktische Verschlüsselungen durchführen
    • die Bedrohungen im Internet bewerten und adäquate Gegenmassnahmen verstehen

    Daten

    • FS2020
      Freitag, 17. April 2020

      09:15-12:00

      13:15-17:00

      UNIFR, PER21, Bd de Pérolles 90, CH-1700 Freiburg, D230

      Distance-Learning

      Freitag, 1. Mai 2020

      09:15-12:00

       

      13:15-17:00

      UNIFR, PER21, Bd de Pérolles 90, CH-1700 Freiburg, D230

      Distance-Learning
      UNIFR, PER21, Bd de Pérolles 90, CH-1700 Freiburg, C230

      Distance-Learning

      Freitag, 15. Mai 2020

      09:15-12:00

       

      13:15-17:00

      UNIFR, PER21, Bd de Pérolles 90, CH-1700 Freiburg, B207

      Distance-Learning
      UNIFR, PER21, Bd de Pérolles 90, CH-1700 Freiburg, C230

      Distance-Learning

      Freitag, 29. Mai 2020

      09:15-12:00

       

      13:15-17:00

      UNIFR, PER21, Bd de Pérolles 90, CH-1700 Freiburg, D230

      Distance-Learning
      UNIFR, PER21, Bd de Pérolles 90, CH-1700 Freiburg, C230

      Distance-Learning

      Freitag, 12. Juni 2020

      09:15-12:00

      13:15-17:00

      UNIFR, PER21, Bd de Pérolles 90, CH-1700 Freiburg, D230

      Distance-Learning

      Freitag, 26. Juni 2020

      09:15-12:00

      13:15-17:00

      UNIFR, PER21, Bd de Pérolles 90, CH-1700 Freiburg, D230

      Distance-Learning

    • HS2021
      Samstag, 9. Oktober 2021

      09:15-12:00

      13:15-17:00

      UNIBAS
      Samstag, 23. Oktober 2021

      09:15-12:00

      13:15-17:00

      UNIBAS
      Samstag, 6. November 2021

      09:15-12:00

      13:15-17:00

      UNIBAS
      Samstag, 20. November 2021

      09:15-12:00

      13:15-17:00

      UNIBAS
      Samstag, 4. Dezember 2021

      09:15-12:00

      13:15-17:00

      UNIBAS
      Samstag, 18. Dezember 2021

      09:15-12:00

      13:15-17:00

      UNIBAS

Optionale Unterrichtseinheiten

  • Einführung Machine Learning

    Dozent(en)

    N. N.


    Beschreibung

     


    Lernziele

     


    Daten

  • Softwaretechnik

    Dozent(en)

    Thomas Fritz (UZH)


    Beschreibung

    Software ist überall. «Software is eating the world» wie Marc Andreesen es treffend gesagt hat. Gerade deshalb ist es heutzutage so wichtig nicht nur zu wissen wie man Software benutzt, sondern auch, wie sie entwickelt wird.

    Diese Vorlesung befasst sich mit der Entwicklung von grösseren, nicht-trivialen Softwaresystemen in Teams und geht dabei auf relevante Themen ein wie die Spezifikation, Design, Implementierung und Wartung von Software, sowie Themen wie REST, agile Entwicklung und Refactoring.

    Vorkenntnisse
    Die Studierenden sollten über Kenntnisse in den Themen der Konstruktion von Software verfügen und mit der objektorientierten Programmierung vertraut sein (diese Vorlesungen baut auf den Kenntnissen aus den Vorlesungen Programmierung I, Programmierung II und Programmiersprachenkonzepte auf).

    Projekt
    Das Projekt bildet einen integralen Bestandteil dieses Kurses. Das Ziel des Projekts ist es, in Teams von 3 (bis evtl. 4) eine «einfache» Web-Anwendung (oder Handy-App) zu bauen. Das Projekt ist in mehrere Teile (Aufgabenblätter) aufgeteilt. Mehr Informationen zum Projekt finden sie auf der Projektseite.


    Lernziele

    Wenn Sie diesen Kurs abgeschlossen haben, sollten Sie in der Lage sein

    • Wissen über die Schritte bei der Entwicklung eines grossen, komplexen Softwaresystems zu demonstrieren und die damit verbundenen Herausforderungen zu erklären;
    • Vor- und Nachteile verschiedener Designs für die Konstruktion von Softwaresystemen zu verstehen;
    • Technische Angelegenheiten mit Programmierern, Managern und Kunden effektiv zu kommunizieren und die Gründe für Ihre Entscheidungen zu vermitteln;
    • ein komplexeres Softwareprojekt (Web Applikation) im Team zu entwickeln.

    Daten

    • FS2021
      Freitag, 29. Januar 2021

      09:15-12:00

      13:15-17:00

      UZH

      Distance-Learning

      Freitag, 12. Februar 2021

      09:15-12:00

      13:15-17:00

      UZH

      Distance-Learning

      Freitag, 26. Februar 2021

      09:15-12:00

      13:15-17:00

      UZH

      Distance-Learning

      Freitag, 12. März 2021

      09:15-12:00

      13:15-17:00

      UZH

      Distance-Learning

      Freitag, 26. März 2021

      09:15-12:00

      13:15-17:00

      UZH

      Distance-Learning

      Freitag, 9. April 2021

      09:15-12:00

      13:15-17:00

      UZH

      Distance-Learning

  • Diskrete Mathematik und Wahrscheinlichkeit

    Dozent(en)

    Dennis Komm (ETHZ), Juraj Hromkovic (ETHZ)


    Beschreibung

    Die grundlegenden Konzepte der diskreten Wahrscheinlichkeit, der Logik, der Algebra und der Kombinatorik werden vorgestellt im historischen Kontext ihrer Entwicklung als Forschungsinstrumente für die Erforschung der Welt. Sie werden als Instrumente eingesetzt, um Ziele zu erreichen wie die geeignete Darstellung von Information für einen gegebenen Zweck oder für die Entwicklung, Analyse und Beurteilung effizienter Algorithmen. Es wird Hintergrundwissen vermittelt sowie der fachdidaktische Weg zur verständlichen Vermittlung dieser Konzepte im Gymnasialunterricht.


    Lernziele

    Die Teilnehmenden

    • können formal korrekt sowohl direkt als auch indirekt über die Gültigkeit von Aussagen argumentieren
    • wenden Grundprinzipien der Kombinatorik an, um Objekte mit gegebenen Eigenschaften zu zählen
    • verwenden den Begriff des Grenzwertes korrekt
    • argumentieren korrekt, dass eine gegebene Folge konvergiert oder divergiert
    • verwenden die Grundbegriffe der Wahrscheinlichkeitstheorie wie Ereignis, Wahrscheinlichkeitsraum, Wahrscheinlichkeitsverteilung, Zufallsvariable, Erwartungswert und bedingte Wahrscheinlichkeit korrekt
    • modellieren einfache Zufallsexperimente korrekt

    Daten

    • HS2020
      Montag, 3. August 2020 vormittags USI, Lugano Campus, Via Buffi 13, CH-6900 Lugano, A11
      Dienstag, 4. August 2020 vormittags USI, Lugano Campus, Via Buffi 13, CH-6900 Lugano, A11
      Mittwoch, 5. August 2020 vormittags USI, Lugano Campus, Via Buffi 13, CH-6900 Lugano, A11
      Donnerstag, 6. August 2020 nachmittags USI, Lugano Campus, Via Buffi 13, CH-6900 Lugano, A11
      Freitag, 7. August 2020  nachmittags USI, Lugano Campus, Via Buffi 13, CH-6900 Lugano, A11
      Samstag, 8. August 2020 nachmittags USI, Lugano Campus, Via Buffi 13, CH-6900 Lugano, A11
      Samstag, 22. August 2020

      09:15-12:00

      13:15-17:00

      FHNW, Campus Brugg-Windisch, Bahnhofstrasse 6, CH-5210 Windisch, 1.013
      Samstag, 5. September 2020

      09:15-12:00

      13:15-17:00

      FHNW, Campus Brugg-Windisch, Bahnhofstrasse 6, CH-5210 Windisch, Foyerraum B 6.-1D13
      Samstag, 19. September 2020

      09:15-12:00

      13:15-17:00

      FHNW, Campus Brugg-Windisch, Bahnhofstrasse 6, CH-5210 Windisch, 1.013

       

    • HS2021
      Samstag, 9. Oktober 2021

      09:15-12:00

      13:15-17:00

      UNIBAS
      Samstag, 23. Oktober 2021

      09:15-12:00

      13:15-17:00

      UNIBAS
      Samstag, 6. November 2021

      09:15-12:00

      13:15-17:00

      UNIBAS
      Samstag, 20. November 2021

      09:15-12:00

      13:15-17:00

      UNIBAS
      Samstag, 4. Dezember 2021

      09:15-12:00

      13:15-17:00

      UNIBAS
      Samstag, 18. Dezember 2021

      09:15-12:00

      13:15-17:00

      UNIBAS
  • Datenbanken

    Dozent(en)

    Sven Helmer (UZH)


    Beschreibung

    Dieser Kurs gibt eine Einführung in die Benutzung und Funktionsweise von Datenbanksystemen. Es geht darum, Methoden für die Abfrage, das Einfügen und die Veränderung von Daten zu erlernen, sowie ein tieferes Verständnis für die Techniken von Datenbanksystemen für die sichere Verwaltung von Daten zu erlangen. Die Themen reichen von der Datenmodellierung, über das relationale Modell und die Anfragesprache SQL, bis hin zu Konzepten wie Transaktionsverwaltung. Das Wissen wird in praktischen Übungen angewendet und auf diese Weise vertieft.


    Lernziele

    • Erlernen von Methoden für den Entwurf von Datenbankschemata
    • Aneignen von Kenntnissen zum Abfragen von Daten aus einem Datenbanksystem
    • Kennenlernen der Prinzipien von relationalen Datenbanksystemen
    • Am Ende des Kurses sind die Teilnehmer in der Lage, Daten zu strukturieren und modellieren, eine Datenbank aufzubauen und diese mit Daten zu befüllen und abzufragen

    Daten

    • FS2021
      Freitag, 23. April 2021

      09:15-12:00

      13:15-17:00

      UZH

      Distance-Learning

      Freitag, 7. Mai 2021

      09:15-12:00

      13:15-17:00

      UZH

      Distance-Learning

      Freitag, 21. Mai 2021

      09:15-12:00

      13:15-17:00

      UZH

      Distance-Learning

      Freitag, 4. Juni 2021

      09:15-12:00

      13:15-17:00

      UZH

      Distance-Learning

      Freitag, 18. Juni 2021

      09:15-12:00

      13:15-17:00

      UZH

      Distance-Learning

      Freitag, 2. Juli 2021

      09:15-12:00

      13:15-17:00

      UZH

      Distance-Learning

       

  • Modellierung und Simulation

    Dozent(en)

    Michael Multerer (USI), Martin Guggisberg (FHNW)


    Beschreibung

    Im Alltag gibt es viele Phänomene, deren Unbeständigkeit unser berechtigtes Interesse an Prognosen weckt. Beispiele hierfür sind etwa Wettervorhersagen oder die Verbreitung von COVID-19.

    Die Grundlage einer Computersimulation ist ein Modell, welches das Problem einerseits soweit reduziert, dass es mathematisch beschrieben werden kann, welches andererseits aber hinreichend komplex ist, um die Charakteristika des Problems widerzuspiegeln.

    Dieses Modul befasst sich neben einem Einstieg ins wissenschaftliche Rechnen mit verschiedenen deterministischen und nicht deterministischen Modellen. Basierend auf Beispielen aus Physik, Biologie und Finanzmathematik werden geeignete Simulationsverfahren zum Schwarmverhalten von Tieren, zum Kursverlauf von Aktien, zur Ausbreitung von Krankheiten und zur Musterbildung eingeführt und angewendet. Konkret werden wir hierzu eine Einführung in numerische lineare Algebra, numerische Optimierung, stochastische und diskrete Simulationsverfahren, Zeitschrittverfahren und finite Differenzen geben.


    Lernziele

    • Grundlegende Kenntnisse in numerischer linearer Algebra und Optimierungsalgorithmen.
    • Typische Simulationen, welche sich für den Informatikunterricht am Gymnasium eignen, kennen und im Unterricht einsetzen können.
    • Mit geeigneten Werkzeugen (Python, insbesondere NumPy und Matplotlib) diskrete und kontinuierliche Simulationen erstellen und die Simulationsergebnisse visualisieren können.

    Daten

    • HS2021
      Montag, 9. August 2021 halbtags USI
      Dienstag, 10. August 2021 halbtags USI
      Mittwoch, 11. August 2021 halbtags USI
      Donnerstag, 12. August 2021 halbtags USI
      Freitag, 13. August 2021 halbtags USI
      Samstag, 14. August 2021 halbtags USI
      Freitag, 27. August 2021

      09:15-12:00

      13:15-17:00

       
      Freitag, 10. September 2021

      09:15-12:00

      13:15-17:00

       
      Freitag, 24. September 2021

      09:15-12:00

      13:15-17:00

       
  • Informatik und Gesellschaft

    Dozent(en)

    Marc Langheinrich (USI), Matthias Stürmer (UNIBE)


    Beschreibung

    Der erste Teil des Moduls «Informatik und Gesellschaft» ist grob in drei Themenfelder strukturiert. Eine Einführung bietet zunächst einen Überblick zu gesellschaftlich relevanten Fragestellungen, die durch die Informatik («Digitalisierung») aufgeworfen werden, und entwickelt aufgrund der Einsicht, dass auch (oder vor allem!) Softwareentwicklung fehlerbehaftet ist, den Bedarf nach ethischen Richtlinien sowie der rigorosen Analyse der Auswirkungen solcher Technik (Technikfolgeabschätzung). Im zweiten Teil werden Sicherheits- und Datenschutzaspekte vorgestellt und deren Signifikanz anhand zweier Anwendungsbeispiele (Zensur/Anti-Zensur, Manipulation/Diskriminierung) thematisiert. Im letzten Teil werden diverse gesellschaftlich relevante Themen besprochen (z.B. Netzneutralität, eVoting).

    Im zweiten Teil des Moduls «Informatik und Gesellschaft» erhalten die Teilnehmenden einen Überblick zum heutigen Stand der Digitalisierung und lernen die zahlreichen Chancen und Herausforderungen kennen. Der Link zwischen Nachhaltigkeit und Digitalisierung wird hergestellt und insbesondere das Konzept der digitalen Nachhaltigkeit eingeführt. Dieses wird durch ethische Fragen zu künstlicher Intelligenz sowie den Themen Open Source Software und Open Government Data konkretisiert.


    Lernziele

    • Die Teilnehmenden verstehen, wie umfassend Informatik mit unserer Gesellschaft verknüpft ist.
    • Die Teilnehmenden realisieren die grundsätzliche Fehlerbehaftigkeit menschlichen Handelns – auch in der Informatik – und verstehen, wie darauf reagiert werden kann.
    • Die Teilnehmenden besitzen ein praktisches Verständnis von IT Sicherheit und deren Rolle in der Informationsgesellschaft.
    • Die Teilnehmenden verstehen die Konzepte Datenschutz und Datensicherheit und sehen, wie Informatik hier sowohl neue Herausforderungen schafft als auch Lösungen anbietet.
    • Die Teilnehmenden verstehen die ethischen und technischen Herausforderungen konkreter (digitaler) Themen, z.B. Netzneutralität oder «Machine Bias».
    • Die Teilnehmenden verstehen die Chancen und Herausforderungen der Digitalisierung für Gesellschaft und Wirtschaft und können diese kritisch reflektieren.
    • Die Teilnehmenden erkennen den Zusammenhang zwischen Digitalisierung und Nachhaltigkeit und verstehen das Konzept der digitalen Nachhaltigkeit.
    • Die Teilnehmenden besitzen ein Verständnis der ethischen Herausforderungen bei Deep Learning und anderen Formen von künstlicher Intelligenz.
    • Die Teilnehmenden verstehen die technischen und rechtlichen Aspekte von Open Source Software und Open Data und erkennen deren Nutzen für die Gesellschaft.

    Daten

    • HS2021
      Montag, 9. August 2021 halbtags USI
      Dienstag, 10. August 2021 halbtags USI
      Mittwoch, 11. August 2021 halbtags USI
      Donnerstag, 12. August 2021 halbtags USI
      Freitag, 13. August 2021 halbtags USI
      Samstag, 14. August 2021 halbtags USI
      Samstag, 28. August 2021

      09:15-12:00

      13:15-17:00

       
      Samstag, 11. September 2021

      09:15-12:00

      13:15-17:00

       
      Samstag, 25. September 2021

      09:15-12:00

      13:15-17:00

       

Individuelles Projekt

Beim individuellen Projekt handelt es sich um eine persönliche Arbeit, die von den Studierenden unter der Verantwortung einer Professorin oder eines Professors realisiert wird. Die Studierenden müssen ein konkretes Problem lösen und dabei ihre im Studium erworbenen Kenntnisse in die Praxis umsetzen.

Eine Beschreibung des individuellen Projekts ist hier verfügbar.

Das Formular, das beim Start des individuellen Projekts ausgefüllt werden muss, ist hier verfügbar.

Zeitplan

Der Zeitplan für den ersten und zweiten Durchgang ist hier verfügbar.