Mittwoch, 3.11.2010, 16-19 Uhr, SH 403 (Schützenbahn 70, Hochhaus)
Eine Führung durch den Automaten-Zoo
Prof. Dr. Bruno Müller-Clostermann
Mittwoch, 10.11.2010, 16-19 Uhr, SH 403 (Schützenbahn 70, Hochhaus)
Einführung in die Java-Programmierung, Teil 1
Prof. Dr. Klaus Echtle
Mittwoch, 17.11.2010, 16-19 Uhr, SH 403 (Schützenbahn 70, Hochhaus)
Einführung in die Java-Programmierung, Teil 2
Prof. Dr. Klaus Echtle
Mittwoch, 24.11.2010, 16-19 Uhr, SA 202 (Schützenbahn 70, Altbau)
Software Engineering am Beispiel von Lego Mindstorms
Dr. Kim Lauenroth
Mittwoch, 01.12.2010, 16-19 Uhr, SH 403 (Schützenbahn 70, Hochhaus)
Definition und Konstruktion von Formalen Sprachen mit Automaten, Grammatiken und Java
Dr. Stefan Hanenberg
Mittwoch, 8.12.2010, 16-19 Uhr, SH 403 (Schützenbahn 70, Hochhaus)
Modellieren und Analysieren mit Petri-Netzen
Prof. Dr. Bruno Müller-Clostermann
Ort: Universität Duisburg-Essen, Campus Essen, Schützenbahn 70, Raum SH 403 und SA 126, Institut für Informatik und Wirtschaftsinformatik
Die Kurse sind aufeinander abgestimmt, können aber auch einzeln besucht werden. Die Teilnahme wird durch ein Zertifikat bescheinigt. Alle Teilnehmer erhalten die Kursmaterialen kostenlos. Es wird keine Teilnahmegebühr erhoben.
Anmeldung: Die Anmeldung erfolgt formlos unter Angabe des gewünschten Kurses, Ihrer Adresse und Ihrer Schule. Senden Sie Ihre Angaben an weiterbildung@cs.uni-due.de, (notfalls auch per Fax, Briefpost, Telefon). Anmeldeschluss ist jeweils 10 Tage vor dem Kurstermin.
Kontakt:
Prof. Dr. Bruno Müller-Clostermann
Tel.: 0201 183 3915, -3920
Fax: 0201 183 4573
E-Mail: bmc@icb.uni-due.de
Web: www.icb.uni-due.de
Postanschrift: Schützenbahn 70, 45117 Essen
Die Dozenten
Prof. Dr. Klaus Echtle
Fachgebiet: Verlässlichkeit von Rechensystemen
http://dc.icb.uni-due.de/
Dr. Stefan Hanenberg
Mitarbeiter im Fachgebiet Datenverwaltungssysteme und Wissensrepräsentation (Prof. Unland)
http://www.dawis.wiwi..uni-due.de/ -> Team, bzw. http://www.dawis.wiwi.uni-due.de/team/stefan-hanenberg
Dr. Kim Lauenroth
Mitarbeiter im Fachgebiet Software Systems Engineering (Prof. Pohl)
http://www.sse.uni-due.de/ -> Team, bzw. http://www.sse.uni-due.de/wms/de/index.php?go=47
Prof. Dr. Bruno Müller-Clostermann
Fachgebiet: Systemmodellierung
http://sysmod.icb.uni-due.de/
Das ICB
Das Institut für Informatik und Wirtschaftsinformatik (ICB: Institute for Computer Science and Business Information Systems) mit mehr als 100 Wissenschaftlern und Technikern deckt weite Teile der Informatik, der angewandten Informatik bis hin zur Wirtschaftsinformatik ab. Das breite Spektrum in der Forschung spiegelt sich auch in der Lehre: Mit "Angewandte Informatik – Systems Engineering" und "Wirtschaftsinformatik", jeweils als Bachelor- und Master-Studiengang, bieten wir den Studierenden ein breites Qualifikationsspektrum. Zudem besteht die Möglichkeit, Lehramt Informatik für Gymnasien und Gesamtschulen zu studieren. http://www.icb.uni-due.de/
Anfahrt mit Öffentlichen Verkehrsmitteln
Das Dienstgebäude der Informatik (Schützenbahn 70, 45127 Essen) befindet sich am nordöstlichen Rand der Innenstadt (Ecke Schützenbahn/Gerlingstraße). Die Informatik befindet sich im Altbau (SA) sowie im "Hochhaus" (SH) (ein 7-geschossiges Gebäude mit brauner Außenverkleidung).
Vom Hauptbahnhof Essen aus können Sie die Straßenbahnen 106 und 107 in nördlicher Richtung ("Porscheplatz") nehmen. Die Haltestelle (2. Haltepunkt) heißt "Viehofer Platz". Nehmen Sie den Ausgang in Fahrtrichtung und wenden Sie sich nach links. Wenn Sie aus Richtung Berliner Platz anreisen, bitte an der nächsten Haltestelle „Rheinischer Platz“ aussteigen und auch hier den Ausgang in Fahrtrichtung nehmen.
Anfahrt mit dem PKW
Falls Sie von Osten über die A40 anreisen, nehmen Sie die Ausfahrt Essen-Frillendorf, dann die Frillendorferstraße bis zur 2. Ampel (Kreuzung), dann rechts in die Burggrafenstraße, dann 2. Ampel links in die Gerlingstraße, nach der 2. Ampel sehen Sie auf der rechten Seite die Schützenbahn 70 (Hochhaus und Altbau).
Bei Anfahrt von Westen über die A40 können Sie bereits die Ausfahrt Essen-Zentrum (Ost) benutzen. Folgen Sie der Straße in Richtung Universität. Das Gebäude Schützenbahn 70 befindet sich nach etwa 1 km an der Kreuzung hinter der Fußgängerbrücke.
Bei Anfahrt über die A52 aus Richtung Düsseldorf bitte die Abfahrt Essen-Süd nehmen und der Beschilderung Universität Essen (nicht Universitätsklinikum) folgen. Das Dienstgebäude Schützenbahn 70 liegt kurz nachdem Sie das Essener Rathaus (ca. 22 Geschosse) passiert haben auf der rechten Seite.
Inhalte der Veranstaltungen
Mittwoch, 3.11.2010, 16-19 Uhr, SH 403 (Schützenbahn 70, Hochhaus)
Eine Führung durch den Automaten-Zoo
Prof. Dr. Bruno Müller-Clostermann
Automaten und automatenbasierte Techniken sind in der Informatik nahezu allgegenwärtig. Im Lauf der Informatik-Evolution haben sich insbesondere Endliche Automaten als eine variantenreiche und robuste Spezies außerdordentlich bewährt. Die Teilnehmer an der Führung werden zunächst mit den Urahnen der endlichen Automaten vertraut gemacht (Mealy- und Moore-Automaten). Sehr nahe Verwandte sind die Nicht-Deterministischen Automaten, die ihre Nützlichkeit im Bereich der formalen Sprachen (sog. Typ-3 Sprachen in der Chomsky-Hierrarchie) bewiesen haben. Danach geht es weiter zu den Automatennetzen, die mit Hilfe von synchroner oder asynchroner Kopplung, im Bereich der Spezifikation und Validation von Kommunikationsprotokollen Anwendung finden.
Selbstverständlich finden sich im Automaten-Stammbaum auch starke Seitenäste in Form der sog. zeitbehafteten Automaten, welche sich zur Modellierung von Echtzeitsystemen oder interaktive Systemen anbieten. In diesem Zusammenhang sind auch die stochastischen Automaten und speziell die Markovschen Automaten (alias Markovkette) einen kurzen Besuch wert. Schließlich werfen wir noch einen Blick auf die zellulären Automaten und ihre Einteilung in die berühmten Wolfram-Klassen I-IV.
Insgesamt betrachten wir folgende Varianten von Endlichen Automaten:
- Mealy Automaten: Endliche Automaten mit Ausgabe
- Moore Automaten: Endliche Automaten ohne Ausgabe
- Deterministische und Nicht-Deterministische Automaten als Akzeptoren
- Gekoppelte Automaten (Automatenetze) mit synchroner und asynchroner Kopplung
- Stochastische Automaten
- Zeitbehaftete Automaten (Timed Automata)
- Zelluläre Automaten (bekannt vom „Game of Life“)
Teilnehmerzahl: 6-18, Vorkenntnisse: keine
Dauer: 1 Termin mit 180 Minuten
Mittwoch, 10.11.2010, 16-19 Uhr, SH 403 (Schützenbahn 70, Hochhaus)
Mittwoch, 17.11.2010, 16-19 Uhr, SH 403 (Schützenbahn 70, Hochhaus)
Einführung in die Java-Programmierung
Prof. Dr. Klaus Echtle
In Schulen wird zunehmend die objektorientierte Programmiersprache Java eingesetzt. Dieser Kurs führt in die Grundlagen und in die objektorientierten Konzepte von Java ein. Dabei wird die Lehr-Lern-Umgebung Greenfoot benutzt, die programmierte Objekte anschaulich visualisiert und sich für die Verwendung im Unterricht gut eignet. Programmbeispiele sind so aufbereitet, dass sie im Unterricht eingesetzt werden können.
Der Kurs richtet sich insbesondere an Teilnehmer/innen, die bereits über Grundkenntnisse der Programmierung (in einer anderen Programmiersprache) verfügen.
Themen:
- Grundlagen der Programmiersprache Java, Datentypen und Anweisungen
- Klassen und Objekte in Java, Konzept der Vererbung
- Lehr-Lern-Umgebung Greenfoot
- Programmbeispiele
- Ausblick auf weitere Konzepte von Java
Vorkenntnisse: Grundkenntnisse der Programmierung in einer ProÂgrammierÂsprache.
Mittwoch, 24.11.2010, 16-19 Uhr, SA 202 (Schützenbahn 70, Altbau)
Software Engineering am Beispiel von Lego Mindstorms
Dr. Kim Lauenroth
Das Software Engineering, also die ingenieursmäßige Konstruktion von Softwaresystemen, ist ein wesentlicher Bestandteil der Informatik. Die landläufige Meinung ist, dass Software Engineering im Wesentlichen aus Programmiertätigkeiten besteht. Vielmehr das Gegenteil ist der Fall. Das Software Engineering besteht aus vielen weiteren, spannenden Gebieten, die vor allem auch Menschen ansprechen, die nicht besonders programmieraffin sind. Das Lehrziel dieses Kurses besteht darin, den TeilnehmerInnen einen Überblick über das gesamte Software Engineering zu geben und ihnen relevante Techniken und Methoden für die Durchführung von Software-Projekten zu vermitteln.
Hierzu gibt dieser Kurs einen Überblick über die wesentlichen Phasen des Software Engineering
- Requirements Engineering: In dieser Phase werden die Anforderungen an das geplante System definiert
- Design: In dieser Phase wird basierend auf den Anforderungen die Architektur des Systems definiert
- Impementierung: In dieser Phase wird das System basierend auf Anforderungen und Design realisiert.
- Test: Ausgehend von den Anforderungen wird in dieser Phase die Qualität des erstellten Systems geprüft
Für jede Phase vermittelt der Kurs Techniken, die einfach und schnell erlernbar sind. Als praktische Übung wird im Rahmen des Kurses in allen Phasen ein einfaches Projekt basierend auf Lego-Mindstorms-Robotern bearbeitet.
Mittwoch, 01.12.2010, 16-19 Uhr, SH 403 (Schützenbahn 70, Hochhaus)
Definition und Konstruktion von Formalen Sprachen mit Automaten, Grammatiken und Java
Dr. Stefan Hanenberg
Für den Entwurf und die Implementierung von formalen Sprachen gibt es eine große Bandbreite von formalen Werkzeugen, wie zum Beispiel Automaten, reguläre Ausdrücke oder Grammatiken, als auch von technischen Werkzeugen, wie zum Beispiel AntLR oder JavaCC. Der Kurs gibt einen breiten Überblick in unterschiedliche, auf Java basierende Techniken zur Erstellung von formalen Sprachen und führt anhand eines kurzen Projekts in die Entwicklung von formalen Sprachen ein.
Themen:
- Überblick formale Sprachen
- Automaten und reguläre Ausdrücke
- Grammatiken
- APIs für reguläre Ausdrücke, Parsergeneratoren
Mittwoch, 8.12.2010, 16-19 Uhr, SH 403 (Schützenbahn 70, Hochhaus)
Modellieren und Analysieren mit Petri-Netzen
Prof. Dr. Bruno Müller-Clostermann
Petri-Netze dienen der Beschreibung, Visualisierung und Analyse komplexer, nebenläufiger Systeme. Die Einsatzmöglichkeiten von Petri-Netzen umfassen viele Bereiche der Informatik,
z.B. Software-Entwurf für verteilte und parallele Systeme sowie Korrektheitsüberprüfung von Kommunikationsprotokollen und der Analyse von Materialfluss- und Produktionssystemen. Petri- Netze können sowohl graphisch als auch mit mathematischen Methoden beschrieben und analysiert werden. Man kann also zwischen der intuitiv verständlichen, graphischen Darstellung
und der formal präzisen Darstellung nach Belieben wechseln. Der Kurs gibt eine Einführung in Modellwelt und Anwendungsbereiche von Petri-Netzen. Neben den Grundlagen werden typische
Beispiele vorgestellt und diskutiert. Praktische Übungen unter Einsatz eines frei verfügbaren Softwarewerkzeugs für Petri-Netze umfassen die Konstruktion und Analyse von eigenen Petri-
Netzen, wobei stochastische Petri-Netze einen besonderen Schwerpunkt bilden.Themen:
Themen:
- Statik und Dynamik von Stellen/Transitionsnetzen
- lassische Modelle: Leser/Schreiber, Produzent/Konsument
- Eigenschaften von Petri-Netzen, Analysetechniken: Markenspiel, Erreichbarkeitsanalyse
- Modellieren mit Stochastischen Petri-Netzen
Teilnehmerzahl: 6-12, Vorkenntnisse: keine
Dauer: 1 Termin mit 2*90 Minuten (16-20 Uhr)
Anhang: Zentralabi-Information (Auszug aus Vorgaben Abitur 2010 - Informatik)
http://www.standardsicherung.schulministerium.nrw.de/abitur-gost/fach.php?fach=15
2. Verbindliche Unterrichtsinhalte im Fach Informatik für das Abitur 2010
….
Auf der Grundlage der Obligatorik des Lehrplans Informatik werden in den Aufgaben der schriftlichen Abiturprüfung im Jahr 2010 die folgenden Unterrichtsinhalte vorausgesetzt.
Mögliche Kombinationen von inhaltlichen Schwerpunkten sind der u. a. Tabelle zu entnehmen. Selbstverständlich können über die Obligatorik hinaus, insbesondere um eine größere Auswahl bei der Zusammenstellung der Abiturklausur zu haben, weitere inhaltliche Schwerpunkte im Unterricht behandelt werden.
2.1 Inhaltliche Schwerpunkte
I. Grundlegende Modellierungswerkzeuge und Modellierungstechniken als zielgerichtetes Vereinfachen und strukturiertes Darstellen von Ausschnitten der Wirklichkeit
I.1 Grundprinzip des objektorientierten Modellierens
I.2 Modellieren von Datenbanken mit dem Entity-Relationship Modell
I.3 Modellieren von Netzwerkanwendungen
II. Strukturen
II.0 Grundlegende Programmstrukturen und Algorithmen
- Sortier- und Suchalgorithmen auf Arrays
- Sortieren durch direktes Einfügen
- Sortieren durch direktes Auswählen
- Quicksort (nur Leistungskurs)
- Lineare SucheBinäre SucheRekursion
II.1 Datenstrukturen
- Lineare Strukturen mit den Akzenten
- Schlange und Stapel
- Anwendung der Standardoperationen
- Implementation der Standardoperationen
- Anwendung der Standardoperationen
- Baumstrukturen mit den Akzenten
- Binärbaum
- Anwendung der Standardoperationen
- Traversierungsalgorithmen
- Geordneter Baum als Spezialfall des Binärbaums
- Anwendung der Standardoperationen
- Implementation von insertItem und searchItem (nur Leistungskurs)
- Graphen (nur Leistungskurs) mit dem Akzent
- Ungerichteter gewichteter Graph
- Anwendung der Standardoperationen
- Suche des kürzesten Weges zwischen zwei Knoten: Backtracking, Dijkstra-Algorithmus
II.2 Datenbankstrukturen – Relationale Datenbanken
- Normalisierung: Überführung einer Datenbank in die 1. bis 3. Normalform
- Realisierung in einem Datenbanksystem
- Relationenalgebra (Selektion, Projektion, Join)
- SQL-Abfragen über einen und mehrere verknüpfte Tabellen
- Kryptologie
- Symmetrische Verschlüsselungsverfahren (Cäsar, Vigenére)
- Asymmetrische Verschlüsselungsverfahren (RSA)
- Datenschutzaspekte
II.3 Client-Server-Strukturen
- Schichtenmodell: TCP/IP-Referenzmodell
- Protokolle: TCP/IP, http, Mail-Protokolle
- Client-Anwendungen (z. B. Time-Client oder E-mail-Client)
- Client-Server-Anwendungen (z.B. Chat-Programm oder Netzwerk-Spiel)
III. Endliche Automaten und formale Sprachen
- Darstellung von deterministischen endlichen Automaten als Graph und als Tabelle
- Akzeptor als spezielle Form des endlichen Automaten
- Formale Sprachen: Reguläre Sprachen
- Entwicklung eines Parsers für eine einfache formale Sprache (nur Leistungskurs)
IV. Stufen zwischen Hardware und Software
- Funktionsmerkmale eines Prozessors
- Binäre Codierung von Zeichen und Zahlen
- Transformationen auf eine maschinenorientierte Ebene mit den Akzenten
- Zuweisungen: Transport- und arithmetische Befehle
- Verzweigungen und Schleifen: bedingte und unbedingte Sprungbefehle
- Prozeduren - auch rekursiv - mit Parametern auf einer maschinenorientierten Ebene: Stapel (nur Leistungskurs)
2.2 Medien/Materialien
Die vorgelegten Materialien werden, soweit es die Syntax betrifft, sowohl in Delphi als auch in Java formuliert. Für den fachlichen Schwerpunkt II.1 sind die als Fachliche Hinweise auf dem NRW-Bildungsserver (www.learnline.nrw.de) veröffentlichten Klassendokumentationen der Klassen Queue, Stack, List, BinTree, Item, OrderedTree und zusätzlich für den Leistungskurs GraphNode, Edge und Graph Bestandteil der Vorgaben und müssen im Unterricht behandelt werden. Für den fachlichen Schwerpunkt II.3 sind die Klassen Connection, Client und Server Bestandteil der Vorgaben und müssen im Unterricht behandelt werden.