Dies ist die leicht modifizierte PowerPoint Version eines Vortrags, der am 29.10.05 in Hamburg im Rahmen der 2. GI-HILL-Fachtagung gehalten wurde. Er umfasst sehr viele Themen und ist daher entsprechend (zu) lang geworden, leider. Aber dafür kann er als Quelle vieler Aussagen und Argumente dienen. Autor: Volker Claus, Universität Suttgart, FMI, Universitätsstraße 38, 79569 Stuttgart, [email protected] 29.10.05 GI HILL, V. Claus 0 Reformen sind rekursiv Wir ändern morgen, ändern heut, wir ändern wütend und erfreut, wir ändern, ohne zu verzagen, an allen sieben Wochentagen. Wir ändern teils aus purer Lust, mit Vorsatz teils, teils unbewusst. Wir ändern lauthals oder still, wie jeder es so haben will. Noch eh die Änd'rung angesprungen verändern wir die Änderungen und ändern dann in vollem Schwung die Änderung der Änderung. (Änderungen vorbehalten) Das kommende Bachelor-MasterStudiensystem und seine Auswirkungen auf den Informatikunterricht GI-HILL, HH-Lohbrügge 29. Oktober 2005 Volker Claus Vorsitzender des Fakultätentags Informatik Universität Stuttgart Wir leben in einer Zeit der Reformen. Das ist untertrieben! Wir leben in einer Periode der permanenten und allgegenwärtigen Reformen ("ubiquitäre Reformen") ohne Rücksicht auf die Folgen. Zentrale Begriffe: Wettbewerb Kontrolle (der Qualität?) Zeit 29.10.05 GI HILL, V. Claus 4 Themen des Vortrags Was ändert sich in der Hochschulausbildung? 12 Minuten Womit müssen wir im Jahre 2015 rechnen? 5 Minuten Bedeutung der Informatik jetzt und in Zukunft. 7 Minuten Ausrichtungen des Unterrichts in der Informatik beliebig lange 1. Was ändert sich in der Hochschulausbildung? Nichts soll so bleiben, wie es ist. Gründe: zu teuer zu lange Studiendauern zu hohe Abbrecherquoten zu praxisfern zu uneuropäisch zu wenig Nobelpreise Beschluss 1999: Reformprozess einleiten ("Bologna") ohne Qualitätsverlust, mit neuen Schnittstellen, mit Mobilität und für die Vormachtstellung Europas. 29.10.05 GI HILL, V. Claus 6 Zeitplan: 1999 begonnen 2003 politisch alles beschlossen 2007 fast alles in Landesgesetzen umgesetzt 2010 Realität geschaffen. 2030: Auswirkungen schlagen durch 29.10.05 GI HILL, V. Claus 7 Der neue Rahmen "Bologna" (und seine tatsächlichen Wirkungen) Dem ursprünglichen Text kann man sich auch gut anschließen. 29.10.05 GI HILL, V. Claus 8 1.1. Der Bolognaprozess Die Ziele des Bologna-Prozesses lauten (ergänzt um das Promotionsstudium, das 2003 in Berlin beschlossen wurde): 1. Einführung eines Systems leicht verständlicher und vergleichbarer Abschlüsse einschl. der Einführung eines Diplomzusatzes (Diploma Supplement). 2. Einführung eines Studiensystems, das sich im wesentlichen auf drei Stufen ("Hauptzyklen" genannt) mit folgenden Abschlüssen stützt: Bachelor - Master - Doktor (Bachelor: mindestens 3 Jahre, er attestiert eine für den europäischen Arbeitsmarkt relevante Qualifikationsebene). [zum Doktor muss man aber nicht unbedingt über den Master gelangen, siehe etwa den Bachelor Honours in England]. 29.10.05 GI HILL, V. Claus 9 3. Einführung eines Leistungspunktesystems - ähnlich dem ECTS - als geeignetes Mittel der Förderung größtmöglicher Mobilität der Studierenden. ( Modularisierung) 4. Förderung der Mobilität durch Überwindung vorhandener Hindernisse, sowohl für Studierende als auch für Lehrende und Forschende. 5. Europäische Zusammenarbeit bei der Qualitätssicherung (Akkreditierung, Evaluation). 6. Förderung der erforderlichen europäischen Dimensionen im Hochschulbereich, insbes. in Bezug auf CurriculumEntwicklung, Zusammenarbeit zwischen Hochschulen, Mobilitätsprojekte und integrierte Studien-, Ausbildungs- und Forschungsprogramme. 29.10.05 GI HILL, V. Claus 10 1.2. Die deutsche Zusatzinterpretation (KMK, ohne Not) a. Keine Unterscheidungen beim Bachelorstudium zwischen forschungsorientiert und anwendungsorientiert (erst ab dem Masterstudium). Kurze Bachelorarbeit von höchstens 12 LP. b. Regelabschluss ist der Bachelor. Kein durchgängiges fünfjähriges Masterstudium. Kein Masterstudium ohne Bachelorstudium (mit Eignungsfestst.). Übergangsquoten? c. (Über-) Betonung des Bachelorabschlusses als "berufsqualifizierend". (Aber keine LPs für Industriepraktika.) d. Betonung der unterschiedlichen Profilbildungen der Hochschulen. Keine Unterscheidung FH-Uni. e. Trennung von Bachelor- und Master-Vorlesungen f. Schlüsselqualifikationen als 15%-ige Pflicht im Studium 29.10.05 GI HILL, V. Claus 11 1.3 ... und Wünsche diverser Politiker Nur die überdurchschnittlichen Bachelorabsolventen sollten zum Masterstudium zugelassen werden. ( offiz. KMK zz.?) 80% der Studienanfänger sollen einen Bachelorabschluss erreichen (das sind rund 25% eines Jahrgangs). 80% der Lehrkapazität geht in den Bachelor, nur 20% in den Master (zurückgezogener NRW-Erlass vom 16.2.05). So erfolgt auch die Finanzzuweisung/Kapazitätsberechnung. [Folge: Faktor 3 bei Prüfungen und Übungen für das wiss. Personal. Problem: Defizite aus der Schule: kaum innerer Antrieb, Treiben-Lassen, orientierungslos, kaum selbstkritisch.] Erhöhtes Lehrdeputat für das unbefristet angestellte Personal (zur Stärkung der Lehre!) bei geringerem W3-Grundgehalt. 29.10.05 GI HILL, V. Claus 12 1.3 ... und Wünsche diverser Politiker Bachelor durch andere Institutionen, z.B. Berufsakademie, IHK, sowie arbeitsprozessorientierte Bachelor-Abschlüsse. Befristete Verträge für alle Wissenschaftler(innen) mit Klauseln für leistungsorientierte Zuschläge. Hoffnung auf "internationale Anerkennung" und Zurückholen der besten Ausgewanderten. Tiefer Glaube der Politik derzeit: Wettbewerb hilft bestimmt (auch im Sinne einer automatischen Verdrängung von schlechten Ansätzen). Die Konsequenzen in den konstruktiven Wissenschaften (zu den anderen äußere ich mich natürlich nicht) gelten als Niveau senkend und sogar als wirtschaftsgefährdend. 29.10.05 GI HILL, V. Claus 13 29.10.05 1.4 Einige Themen: aus Informatiksicht: Akkreditierung /Eval. Besser als ihr Ruf, ASIIN usw., Washington Accord, FTI-Aufnahme, 500 Uni-Inf-Stdgä. Eignungsfeststellung SAT, Uni-spezif., reduziert Anfänger und Personal, nicht Team fördernd, Auswirkungen auf die Schule, Trend: zentral Ranking und Wettbewerb Rating geplant, Presse-Rankings nur Unfug, speziell: Spiegel Nov.04, beim Wettbewerb verlieren 90% und auch die Wirtschaft Internationalisierung Was sonst? Schon immer, aber Anreize? Partnerschaften, Austausch als Routine Praxisorientierte Abschlüsse Jeder Fleißige erhält einen Titel, ok, aber nicht einen mit internationalem Vergleich Informatik und Schule Inhalte und Denkweisen der Informatik gehören zur Allgemeinbildung und sind zugleich berufsvorbereitend / -notwendig. Sonstiges Bild, Hschdidaktik, I&G, eL, CAA, Inst.,... GI HILL, V. Claus 14 Bis es soweit ist: Konkrete Empfehlungen für das Bachelorstudium Informatik http://www.ft-informatik.de/ = Unser Beitrag, um möglichst viel vom guten deutschen Niveau in unserem Fach zu retten. 29.10.05 GI HILL, V. Claus 15 Schlüsselqual Anwendungen Fachliche Vertiefung 5 - 6 Jahre Vorgesehenes Volumen Grundlagen Erforderliche Basisausbildung in konstruktiven Wissenschaften 29.10.05 GI HILL, V. Claus 16 Es folgen Hinweise, warum die Beschlüsse so kritisch für die Informatik sind. Hinweise 1 zum Verständnis, bezogen auf die universitäre Informatik: - Zurzeit werden "Grundlagenvorlesungen" zu den einzelnen Teilgebieten der Infornatik für das 5. bis 8. Semester einheitlich angeboten. Eine Trennung in Bachelor- und Mastervorlesungen ist unsinnig. Vielmehr muss hier ein einheitliches Niveau gewahrt bleiben, auf dem später vertiefende Veranstaltungen des Masters aufsetzen können. - Schlüsselqualifikationen werden in geeigneten Projekten und anderen Veranstaltungen angeboten. Gesonderte Vorlesungen durch Personen aus geistes- oder gesellschaftswissenschaftlichen Bereichen macht wenig Sinn. - Informatik hat an den Universitäten stets ein Neben- oder Anwendungsfach) besessen, im Umfang von 28 bis 30 SWS. Damit wird der gängigen Praxis Rechnung getragen, mit den Kunden auch fachlich reden zu können. Genau dieses praxisbezogene Highlight könnte jetzt (mit der Begründung, durch den Bachelor mehr Praxisbezug erzielen zu wollen!) gestrichen werden, denn man muss in den wenigen Semestern bis zum Bachelorabschluss so viel Informatik wie möglich vermitteln, um eine Basis für künftige Weiterbildung und einen Grundstock für gute Informatikleistungen im Beruf zu legen. 29.10.05 GI HILL, V. Claus 17 Hinweise 2 zum Verständnis, bezogen auf die universitäre Informatik: - In manchen Bundesländern ist es bereits Gesetz, dass zum Masterstudium ein "überdurchschnittlicher" Bachelorabschluss erforderlich ist. Das würde konkret bedeuten, dass in Zukunft die Anzahl der Master in Informatik höchstens die Hälfte der heutigen Diplominformatiker bvetragen wird. (Die laut vielen Prognosen dann fehlenden Fachleute könnten nur aus dem Ausland gewonnen werden. Dies gilt auch für Ingenieure. Eine Gefährdung der "Exportweltmeisterschaft" Deutschlands zeichnet sich ab.) - Noch schlimmer ist dies bei der Promotion. Im Gegensatz zu fast allen anderen Wissenschaften werden mehr als 50% der Promotionszeit der Informatiker und Ingenieure für Zusatzqualifikatioenen aufgewendet: Projekte planen, einwerben und durchführen, Studierende und Projektmitarbeiter anleiten, Systeme beherrschen, Absprachen mit Industriepartnern treffen, bei der Institutsverwaltung mitwirken, Diplomanden betreuen ud generell umfangreiche Erfahrungen bei der Realsiserung großer Systeme erlangen. Durch das geplante Promotionsstudium von 3 Jahren entfallen diese Befähigungen - und die Industrie hat dann wirklich ein riesiges Ausbildungsproblem zu lösen. (Was sie nicht leisten kann und nicht tun wird, sondern sie wird auf die Hochschulen schimpfen, ... Die extrem hohe Qualität der deutschen promovierten Ingenieure wird damit zu Ende sein.) 29.10.05 GI HILL, V. Claus 18 Hinweise 3 zum Verständnis, bezogen auf die universitäre Informatik: - Im Ausland erfolgen Anerkennungen meist nur lokal durch die jeweilige Universität; in den USA gibt es z.B. keine globale Anerkennung (es gibt auch keine Hochschulgesetze und niemand kann Studienplätze einklagen). Die oft zu lesende Aussage, mit dem Bachelor und Master hätten wir nun international anerkannte Abschlüsse, ist Unsinn. Das einzige, was wir haben, sind gleiche Bezeichnungen, und hier ist es extrem gefährlich, die wissenschaftlich schwachen Abschlüsse der Berufsakademien und der IHK-Studiengänge mit dem Bachlor zu bezeichnen. Der sofortige Absturz der deutschen Abschlüsse im Bewusstsein ausländischer Universitäten wäre die Folge. Merkwürdigerweise unterstützt aber die Politik solche Abschlussbezeichnungen und gefährdet unsere internationale Reputation. - Die Politik behauptet, durch ihre Reformen gute deutsche Wissenschaftler aus dem Ausland zurückholen zu können. Das ist Unsinn. Obige Argumente, die deutlich schlechtere W-Besoldung und die nur begrenzt gezahlten Leistungszulagen (i.A. nicht ruhegehaltsfähig) machen das Professorenamt an einer Universität in einem nachgefragten Fach wie der Informatik ziemlich unattraktiv. Man setzt wohl auf den Langzeiteffekt: Irgendwann werden alle Prof. schlecht bezahlt und dann wird es wieder genügend gute Bewerbungen auf Professorenstellen geben. 29.10.05 GI HILL, V. Claus 19 Hinweise 4 zum Verständnis, bezogen auf die universitäre Informatik: - Zurzeit gehen 75% der Lehrkapazität der universitären Informatik in das Hauptstudium und 25% in das Grundstudium. In Zukunft soll dies umgekehrt sein, und die Betreuung durch jeden einzelenn Wissenschaftler ist zu erhöhen. Das hat dramatische Konsequenzen: Wissenschaftler, die vor allem im Bachelorstudium tätig sind, befassen sich dann nur noch mit geistig anspruchsloseren Problemen und werden durch die Studierenden kaum gefordert. Folge: Das wissenschaftliche Personal wird sichtbar dümmer werden. (Aber: dümmere Leute kann man preiswerter bezahlen, also ist in Kürze damit zu rechnen, dass das Bachelorstudium von billigeren Professoren und Mitarbeitern betreut werden kann, eventuell mit hohem Lehrdeputat und ohne Forschungsverpflichtung. - Es besteht in England der Wunsch, dass etwa die Hälfte der Bevölkerung in Zukunft einen Bachelorabschluss erreicht (vorbereitet wird dies durch das sog. "Fundamental", surfen Sie hiernach einmal im Netz). Das kann man leicht erreichen, indem man das Niveau entsprechend anpasst. Auch hier ist ein Niveauabbau mittelfristig zu befürchten. - Die KMK fordert einen berufsqualifizierenden Bachelorabschluss, was in der Bolognaerklärung gar nicht verlangt wird. Diese Zeit fehlt natürlich der fundierten Ausbildung (erneuter Niveauabbau). 29.10.05 GI HILL, V. Claus 20 Hinweise 5 zum Verständnis, bezogen auf die universitäre Informatik: - Die Skizze in 1.4 zeigt, dass man eine qualitativ angemessene Ausbildung in den Ingenieurwissenschaften und der Informatik nicht mit einem Bachelorstudium erreichen kann (deshalb haben die Indischen Technischen Hochschulen mittler auch 5-jährige Studiengäne, nach deutschem Vorbild). Die normalen USA-Bachelor in Computer Science galten auch nie als gut. Für unsere Wirtschaft sind jedoch die Absolvennten mit einem hohen Durchschnittsniveau von zentraler Bedeutung (es müssen keine Nobelpreisträger anwesend sein, wenn man gute Autos und Systeme bauen will). Das Verbot des durchgängigen Masters über 5 Jahre (gerne mit einem Bachelorausstieg) kann langfristig die deutsche Wettbewerbfähigkeit nachhaltig schädigen und sogar zu Steuerausfällen ab 2030 führen, gegenüber denen Eichels Steuerlöcher sich wie Peanuts ausnehmen. - Auch müssen wir darauf achten, dass in Zukunft länger gearbeitet werden muss (bis 67 oder auch 70; die Lebenserwartung steigt ja ebenfalls stark an!). Wenn künftig der Bachelor der Regelabschluss ist, so wird dies im Bereich der Informatik kaum möglich sein; vielmehr steht zu befürhcten, dass viele, sobald ihre Systemkompetenz nach einigen Systemwechseln erschöpft ist, als unbrauchbar entlassen werden. 29.10.05 GI HILL, V. Claus 21 Hinweise 6 zum Verständnis, bezogen auf die universitäre Informatik: - Die Universitäten und Fachhochschulen werden zu unterschiedlichen Profilbildungen aufgefordert. Zugleich soll der Studierendeaustausch erhöht werden. Wie das zusammengeht, bleibt das Geheimnis der Politik. - Besonders wichtig ist, dass die Politik den Faktor "Zeit" völlig ignoriert. In den bereits eingerichteten Bachelorstudiengängen scheinen die Durchfallquoten höher zu sein als bei den Diplomstudiengängen, weil die Studierenden sofort Prüfungen ablegen müssen, die sie nach 6 Monaten wiederholen müssen (und dann auch nicht bestehen, weil sie sich noch gar nicht an die Universität und ihre Arbeitsweisen gewöhnt haben) - uund schon sind sie endgültig draußen (mit allen juristischen Konsequenzen, falls sie etwas anderes weiterstudieen wollen usw.). - Menschen sind keine Maschinen. Sie brauchen Zeit zum Ausreifen. Ihnen diese Zeit nicht zu lassen, halte ich für unverantwortlich und letztlich für einen schweren volkswirtschaftlichen Schaden, weil dsich die Zahl derer, die voraussichtlich frühzeitig in Rente zwangsgeschickt werden, hierdurch ohne Not erhöht. Diese und weitere befürchtete Folgen sind bei den konstruktiven Wissenschaften leider zu befürchten. Hier muss zum Wohl Deutschlands dringend gegengesteuert werden. Die Politiker(innen) hören aber nicht zu. 29.10.05 GI HILL, V. Claus 22 2. Womit müssen wir im Jahre 2015 rechnen? Das Abitur ist nur noch eine Bewerbungsberechtigung. Die Zulassung zum Studium erfolgt durch Eignungsfeststellung. Auswahltests und der Erfolg der eigenen Schüler wirken (bewusst unkontrolliert?) auf die Lerninhalte der Schulen zurück. Rankings führen zu Selbsteinschätzungen der Absolventen, auch in der künftigen Lehrerschaft. Was spricht mittelfristig noch gegen Schulgebühren an den "besseren" Schulen? Manche Schulen leisten sich dann aufwändige Ausstattungen und besseren Output. Eine Ausbildungskultur neben der Schule könnte sich entwickeln, auch wegen der Sorge um den Arbeitsplatz. 29.10.05 GI HILL, V. Claus 23 Die Bachelor-Lehrkraft droht uns. Sie wird für normale Schulen reichen. Die besseren wollen einen Master, noch bessere nur promovierte Lehrkräfte (Master of Education, PhD of Education). Bleiben einheitliche Bildungsstandards erhalten? Gelten diese nur bis zum Regelabschluss Bachelor? Wie wird sich G8 auf das Grundstudium auswirken? Wird der Bachelor wie in den USA nur zu 50% eine Fachkraft? Soziale Spaltung, auch "digital divide", läuft bereits an. Alle sozialen Defizite aus anderen Ländern ziehen bald auch bei uns ein?! Kommt wieder die Sorge um den inneren und äußeren Frieden auf? 29.10.05 GI HILL, V. Claus 24 Ignorieren wir nun die Sorgen, wenden wir uns von den ewigen Bedenkenträgern ab und orientieren wir uns an den positiven Seiten: Die Lernbereitschaft und die Begeisterungsfähigkeit eines gewissen Prozentsatzes der Jugendlichen (Euro-unabhängig!). Wie muss man für diese Jugendlichen Informatik betreiben bzw. was soll man wie in der Schule vermitteln? Vor allem im Pflichtbereich! 29.10.05 GI HILL, V. Claus 25 3. Bedeutung der Informatik jetzt und in Zukunft. Siehe GI-Papier "Was ist Informatik" http://www.gi-ev.de/themen/was-ist-informatik/ Einordnung der Informatik in die Wissenschaften, siehe N. Breier, Dresden, infos 2005 und Weiterverweise dort. Vgl. Begrüßungsrede von Dr. Dittmar. Vgl. Duden-Stichwort Informatik. 29.10.05 GI HILL, V. Claus 26 Information Programm ABS Flugzeug Auto Fahrrad Gasheizung Auto, alt Feuerzeug Materie Energie Systeme bzgl. der Rohstoffe 29.10.05 GI HILL, V. Claus 27 Bedeutung der Informatik in der Wirtschaft Jede menschliche Gemeinschaft beruht auf Information. Software und Datenbanken sind bereits heute das zentrale Wirtschaftsgut jeder Firma. Der gesamte Dienstleistungsbereich (fast 70% der Arbeitsplätze) basiert auf der Informationsverarbeitung. Ohne Informatik läuft nichts mehr: Produkte und Produktionsprozesse. Bei fast allen Innovationen ist Informatik dabei. Informatiker(innen) werden wegen der enormen Bedeutung des Rohstoffs Information und seiner Verarbeitung auch in Zukunft stets benötigt. 29.10.05 GI HILL, V. Claus 28 Einordnung der Informatik als Wissenschaft Einige Wissenschafts-Bereiche Geisteswissenschaften Humanwissenschaften Gesellschaftswissenschaften Kulturwissenschaften Lebenswissenschaften Exakte Wissenschaften Naturwissenschaften Ingenieurwissenschaften Strukturwissenschaften Geistes-Ingenieurwissenschaften 29.10.05 GI HILL, V. Claus und Ansprüche Mathematik Informationstechnik 29 Wissenschafts-Bereiche und Ansprüche Geisteswissenschaften Humanwissenschaften Gesellschaftswissenschaften Kulturwissenschaften Lebenswissenschaften Exakte Wissenschaften Naturwissenschaften Ingenieurwissenschaften Strukturwissenschaften Geistes-Ingenieurwissenschaften 29.10.05 GI HILL, V. Claus Informatik 30 Informatik ist zum großen Teil Sprachbeherrschung überwiegend für den Bereich der Information nd der Automatisierung: Darstellung von Ideen, Zielen, Algorithmen, Daten ... in einer Sprache, Präzise Formulierungen, Nutzen von Metasprachen Entwickeln und Einsetzen neuer Sprachen. Informatik untersucht von dem Denkbaren das Machbare und bildet in sprachliche Formen ab. Man braucht zugleich einen Anteil aus der Fachsprache. Sie legt fest, was gewusst werden kann und was nicht. Fachsprache ordnet, präzisiert, regt an. 29.10.05 GI HILL, V. Claus 31 Informatikvermittlung braucht Lehrerausbildung Lehrkräfte als angelernte Amateure? (Wo, außer in der Informatik, gibt es das in Deutschland??) Mahnung zur Lehrerausbildung seit 1980. In den Kultusbehörden (speziell in der KMK) gibt es keine Ingenieure und keine Informatiker. Niemand weiß dort, wie man diese für den Export so wichigen Personen ausbilden muss. Wer trägt die Verantwortung für mögliche Folgen? 29.10.05 GI HILL, V. Claus 32 Was für ein Typ "deutscher Mensch" soll am Ende der Schulzeit oder Hochschulzeit herauskommen? Bachelor/Master: Qualifikationsrahmen. Schule? Selbstbewusst und fachlich kompetent. Eigeninitiaive, Konstruktivität, Analysefähigkeit. Soziale Verantwortung (gegen digitale Spaltung). Aber bitte nicht das WoFu! Meine Wortschöpfung für ein "Wesen ohne Fundament". 29.10.05 GI HILL, V. Claus 33 4. Ausrichtungen des Unterrichts in der Informatik Die Entwicklung im Hochschulbereich begünstigt: - grundlegend vorgebildete Abiturient(inn)en, die langlebige Inhalte der Informatik kennen, - Befähigungen für sprachlichen Ausdruck, prozessorientiertes Denken, Verständnis für den Umgang, die Modellierung und die automatische Bearbeitung von Information und Wissen, - Erziehung zu Wettbewerbsverhalten? Gespür für Anwendbarkeit? 29.10.05 GI HILL, V. Claus 34 Was nun folgt, gehört heute frühestens in die Klasse 10. Vom Prinzip her, könnten die Ideen aber schon früher in der Schule aufscheinen. Auf Hardware und Informationstechnik wird hier nicht eingegangen. 29.10.05 GI HILL, V. Claus 35 Ansätze / Vorschläge anhand von Beispielen: Beispiel 0: Klassischer, theoretischer, sicherer Ansatz Beispiel 1: Klassischer Ansatz (=> Funktionen oder Daten) Beispiel 2: Algorithmenorientiert Beispiel 3: Daten abstrakt und versteckt Beispiel 4: Objekte abstrakt Beispiel 5: Projektorientiert, konkrete Anwendung Beispiel 6: Informationsorientiert Beispiel 7: Sprachenorientiert Beispiel 8: Informatik als Unternehmensinspiration 29.10.05 GI HILL, V. Claus 36 Beispiel 0 Klassische Informatik (am Beispiel) Man sagt: klassische Informatik ist analytisch. Man sagt, ihre Vermittlung orientiert sich an folgendem: X.1. Motivation X.3. Satz X.2. Definition X.4. Beweis X.5. ein Beispiel X.6. möglichst keine Anwendung Manchmal wird sogar ein Programm geschrieben, im Leistungskurs sogar ein längeres. Die Abiturient(inn)en wissen alles über Unentscheidbarkeit und können nichts Konkretes. 29.10.05 GI HILL, V. Claus 37 Beispiel 0 (1) Motivation: Wann muss ich meinen Schuh für Nikolaus rausstellen? (2) Definitionen: Definition 1: Nikolaustag ist der 26.-letzte Tag im Jahr. Definition 2: Der Kalender ist so, wie wir ihn kennen. Folgerung aus Definition 1: Der Tag 25 Tage nach dem Nikolaustag ist der letzte Tag des Jahres. (3) Satz: Der Nikolaustag ist der 6. Dezember. 29.10.05 GI HILL, V. Claus 38 Beispiel 0 (4) Beweis: Betrachte den 1. Januar . Def. 2 Der 1. Januar ist ein Tag im Jahr. Annahme, der Nikolaustag ist der 1. Januar. Folgerung oben Der Tag 25 Tage später liegt in diesem Jahr. Additionsregeln Dieser Tag ist der 26. Januar. Def. 1 Der Tag 26 Tage später liegt im nächsten Jahr. Additionsregeln Dieser Tag ist der 27. Januar. Def. 2 Wegen des Kalenders liegt der 26. Januar im gleichen Jahr wie der 27. Januar. Widerspruch! Also ist die Annahme falsch und der Nikolaustag ist nicht der 1. Januar. Definition 1: Nikolaustag ist der 26.-letzte Tag im Jahr. Definition 2: Der Kalender ist so, wie wir ihn kennen. 29.10.05 GI HILL, V. Claus 39 Beispiel 0 (4) Beweis: Betrachte den 2. Januar . Def. 2 Der 2. Januar ist ein Tag im Jahr. Annahme, der Nikolaustag ist der 2. Januar. Folgerung oben Der Tag 25 Tage später liegt in diesem Jahr. Additionsregeln Dieser Tag ist der 27. Januar. Def. 1 Der Tag 26 Tage später liegt im nächsten Jahr. Additionsregeln Dieser Tag ist der 28. Januar. Def. 2 Wegen des Kalenders liegt der 27. Januar im gleichen Jahr wie der 28. Januar. Widerspruch! Also ist die Annahme falsch und der Nikolaustag ist nicht der 2. Januar. Definition 1: Nikolaustag ist der 26.-letzte Tag im Jahr. Definition 2: Der Kalender ist so, wie wir ihn kennen. 29.10.05 GI HILL, V. Claus 40 Beispiel 0 Betrachte den 3. Januar . Def. 2 Der 3. Januar ist ein Tag im Jahr. Annahme, der Nikolaustag ist der 3. Januar. Folgerung oben Der Tag 25 Tage später liegt in diesem Jahr. Additionsregeln Dieser Tag ist der 28. Januar. Def. 1 Der Tag 26 Tage später liegt im nächsten Jahr. Additionsregeln Dieser Tag ist der 29. Januar. Def. 2 Wegen des Kalenders liegt der 28. Januar im gleichen Jahr wie der 29. Januar. Widerspruch! Also ist die Annahme falsch und der Nikolaustag ist nicht der 3. Januar. Betrachte den 4. Januar . Def. 2 Der4. Januar ist ein Tag im Jahr. Annahme, der Nikolaustag ist der 4. Januar Folgerung oben Der Tag 25 Tage später liegt in diesem Jahr. Additionsregeln Dieser Tag ist der 29. Januar. Def. 1 Der Tag 26 Tage später liegt im nächsten Jahr. Additionsregeln Dieser Tag ist der 30. Januar. Def. 2 Wegen des Kalenders liegt der 29. Januar im gleichen Jahr wie der 30. Januar. Widerspruch! Also ist die Annahme falsch und der Nikolaustag ist nicht der 4. Januar. Betrachte den 5. Januar . Def. 2 Der 5. Januar ist ein Tag im Jahr. Annahme, der Nikolaustag ist der 5. Januar Folgerung oben Der Tag 25 Tage später liegt in diesem Jahr. Additionsregeln Dieser Tag ist der 31. Januar. Def. 1 Der Tag 26 Tage später liegt im nächsten Jahr. Additionsregeln Dieser Tag ist der 1. Februar. Def. 2 Wegen des Kalenders liegt der 31. Januar im gleichen Jahr wie der 1. Februar. Widerspruch! Also ist die Annahme falsch und der Nikolaustag ist nicht der 5. Januar. Betrachte den 6. Januar. Def. 2 Der 6. Januar ist ein Tag im Jahr. Annahme, der Nikolaustag ist der 7. Januar Folgerung oben Der Tag 25 Tage später liegt in diesem Jahr. Additionsregeln Dieser Tag ist der 1. Februar. Def. 1 Der Tag 26 Tage später liegt im nächsten Jahr. Additionsregeln Dieser Tag ist der 2. Februar. Def. 2 Wegen des Kalenders liegt der 1. Februar im gleichen Jahr wie der 2. Februar. Widerspruch! Also ist die Annahme falsch und der Nikolaustag ist nicht der 6. Januar. Betrachte den 7. Januar. Def. 2 Der 7. Januar ist ein Tag im Jahr. Annahme, der Nikolaustag ist der 7. Januar Folgerung oben Der Tag 25 Tage später liegt in diesem Jahr. Additionsregeln Dieser Tag ist der 2. Februar. Def. 1 Der Tag 26 Tage später liegt im nächsten Jahr. Additionsregeln Dieser Tag ist der 3. Februar. Def. 2 Wegen des Kalenders liegt der 2. Februar im gleichen Jahr wie der 3. Februar. Widerspruch! Also ist die Annahme falsch und der Nikolaustag ist nicht der 7. Januar. Betrachte den 8. Januar. Def. 2 Der 8. Januar ist ein Tag im Jahr. Annahme, der Nikolaustag ist der 8. Januar Folgerung oben Der Tag 25 Tage später liegt in diesem Jahr. Additionsregeln Dieser Tag ist der 3. Februar. Def. 1 Der Tag 26 Tage später liegt im nächsten Jahr. Additionsregeln Dieser Tag ist der 4. Februar. Def. 2 Wegen des Kalenders liegt der 3. Februar im gleichen Jahr wie der 4. Februar. Widerspruch! Also ist die Annahme falsch und der Nikolaustag ist nicht der 8. Januar. Betrachte den 9. Januar. Def. 2 Der 9. Januar ist ein Tag im Jahr. Annahme, der Nikolaustag ist der 9. Januar Folgerung oben Der Tag 25 Tage später liegt in diesem Jahr. Additionsregeln Dieser Tag ist der 4. Februar. Def. 1 Der Tag 26 Tage später liegt im nächsten Jahr. Additionsregeln Dieser Tag ist der 5. Februar. Def. 2 Wegen des Kalenders liegt der 4. Februar im gleichen Jahr wie der 5. Februar. Widerspruch! Also ist die Annahme falsch und der Nikolaustag ist nicht der 9. Januar. Betrachte den 10. Januar . Def. 2 Der 10. Januar ist ein Tag im Jahr. Annahme, der Nikolaustag ist der10. Januar Folgerung oben Der Tag 25 Tage später liegt in diesem Jahr. Additionsregeln Dieser Tag ist der 5. Februar. Def. 1 Der Tag 26 Tage später liegt im nächsten Jahr. Additionsregeln Dieser Tag ist der 6. Februar. Def. 2 Wegen des Kalenders liegt der 5. Februar im gleichen Jahr wie der 6. Februar. Widerspruch! Also ist die Annahme falsch und der Nikolaustag ist nicht der 10. Januar. Betrachte den 11. Januar . Def. 2 Der 11. Januar ist ein Tag im Jahr. Annahme, der Nikolaustag ist der11. Januar Folgerung oben Der Tag 25 Tage später liegt in diesem Jahr. Additionsregeln Dieser Tag ist der 6. Februar. Def. 1 Der Tag 26 Tage später liegt im nächsten Jahr. Additionsregeln Dieser Tag ist der 7. Februar. Def. 2 Wegen des Kalenders liegt der 6. Februar im gleichen Jahr wie der 7. Februar. Widerspruch! Also ist die Annahme falsch und der Nikolaustag ist nicht der 11. Januar. Betrachte den 12. Januar . Def. 2 Der 11. Januar ist ein Tag im Jahr. Annahme, der Nikolaustag ist der11. Januar Folgerung oben Der Tag 25 Tage später liegt in diesem Jahr. Additionsregeln Dieser Tag ist der 6. Februar. Def. 1 Der Tag 26 Tage später liegt im nächsten Jahr. Additionsregeln Dieser Tag ist der 7. Februar. Def. 2 Wegen des Kalenders liegt der 6. Februar im gleichen Jahr wie der 7. Februar. Widerspruch! Also ist die Annahme falsch und der Nikolaustag ist nicht der 11. Januar. Betrachte den 13. Januar . Def. 2 Der 11. Januar ist ein Tag im Jahr. Annahme, der Nikolaustag ist der11. Januar Folgerung oben Der Tag 25 Tage später liegt in diesem Jahr. Additionsregeln Dieser Tag ist der 6. Februar. Def. 1 Der Tag 26 Tage später liegt im nächsten Jahr. Additionsregeln Dieser Tag ist der 7. Februar. Def. 2 Wegen des Kalenders liegt der 6. Februar im gleichen Jahr wie der 7. Februar. Widerspruch! Also ist die Annahme falsch und der Nikolaustag ist nicht der 11. Januar. B etrachte den 11. Januar . Def. 2 Der 11. Januar ist ein Tag im Jahr. Annahme, der Nikolaustag ist der11. Januar Folgerung oben Der Tag 25 Tage später liegt in diesem Jahr. Additionsregeln Dieser Tag ist der 6. Februar. Def. 1 Der Tag 26 Tage später liegt im nächsten Jahr. Additionsregeln Dieser Tag ist der 7. Februar. Def. 2 Wegen Kalenders Februar Jahr wieAnnahme, der 7. Februar. Widerspruch! Also ist die Annahme falsch und der Nikolaustag ist nicht der 11. Januar. Betrachte den 11.des Januar . Def. 2liegt der Der6. 11. Januarim istgleichen ein Tag im Jahr. der Nikolaustag ist der11. Januar Der Tag 26 Tage später liegt im nächsten Jahr. Additionsregeln Dieser Tag ist der 7. Februar. Def. 2 Wegen des Kalenders liegt der 6. Februar im gleichen Jahr wie der 7. Februar. Widerspruch! Also ist die Annahme falsch und der Nikolaustag ist nicht der 11. Januar. Betrachte den 11. Januar . Def. 2 Der 11. Januar ist ein Tag im Jahr. Annahme, der Nikolaustag ist der11. Januar Folgerung oben Der Tag 25 Tage später liegt in diesem Jahr. Additionsregeln Dieser Tag ist der 6. Februar. Def. 1 Folgerung oben Der Tag 25 Tage später liegt in diesem Jahr. Additionsregeln Dieser Tag ist der 6. Februar. Def. 1 Der Tag 26 Tage später liegt im nächsten Jahr. Additionsregeln Dieser Tag ist der 7. Februar. Def. 2 Wegen des Kalenders liegt der 6. Februar im gleichen Jahr wie der 7. Februar. Widerspruch! Also ist die Annahme falsch und der Nikolaustag ist nicht der 11. Januar. Betrachte den 11. Januar . Def. 2 Der 11. Januar ist ein Tag im Jahr. Annahme, der Nikolaustag ist der11. Januar Folgerung oben Der Tag 25 Tage später liegt in diesem Jahr. Additionsregeln Dieser Tag ist der 6. Februar. Def. 1 Der Tag 26 Tage später liegt im nächsten Jahr. Additionsregeln Dieser Tag ist der 7. Februar. Def. 2 Wegen des Kalenders liegt der 6. Februar im gleichen Jahr wie der 7. Februar. Widerspruch! Also ist die Annahme falsch und der Nikolaustag ist nicht der 11. Januar. Betrachte den 11. Januar . Def. 2 Der 11. Januar ist ein Tag im Jahr. Annahme, der Nikolaustag ist der11. Januar Folgerung oben Der Tag 25 Tage später liegt in diesem Jahr. Additionsregeln Dieser Tag ist der 6. Februar. Def. 1 Der Tag 26 Tage später liegt im nächsten Jahr. Additionsregeln Dieser Tag ist der 7. Februar. Def. 2 Wegen des Kalenders liegt der 6. Februar im gleichen Jahr wie der 7. Februar. Widerspruch! Also ist die Annahme falsch und der Nikolaustag ist nicht der 11. Januar. Betrachte den 11. Januar . Def. 2 Der 11. Januar ist ein Tag im Jahr. Annahme, der Nikolaustag ist der11. Januar Folgerung oben Der Tag 25 Tage später liegt in diesem Jahr. Additionsregeln Dieser Tag ist der 6. Februar. Def. 1 Der Tag 26 Tage später liegt im nächsten Jahr. Additionsregeln Dieser Tag ist der 7. Februar. Def. 2 Wegen des Kalenders liegt der 6. Februar im gleichen Jahr wie der 7. Februar. Widerspruch! Also ist die Annahme falsch und der Nikolaustag ist nicht der 11. Januar. Betrachte den 11. Januar . Def. 2 Der 11. Januar ist ein Tag im Jahr. Annahme, der Nikolaustag ist der11. Januar Folgerung oben Der Tag 25 Tage später liegt in diesem Jahr. Additionsregeln Dieser Tag ist der 6. Februar. Def. 1 Der Tag 26 Tage später liegt im nächsten Jahr. Additionsregeln Dieser Tag ist der 7. Februar. Def. 2 Wegen Kalenders Februar Jahr wieAnnahme, der 7. Februar. Widerspruch! Also ist die Annahme falsch und der Nikolaustag ist nicht der 11. Januar. Betrachte den 11.des Januar . Def. 2liegt der Der6. 11. Januarim istgleichen ein Tag im Jahr. der Nikolaustag ist der11. Januar Folgerung oben Der Tag 25 Tage später liegt in diesem Jahr. Additionsregeln Dieser Tag ist der 6. Februar. Def. 1 Der Tag 26 Tage später liegt im nächsten Jahr. Additionsregeln Dieser Tag ist der 7. Februar. 29.10.05 Def. 2 Wegen des Kalenders liegt der 6. Februar im gleichen Jahr wie der 7. Februar. Widerspruch! Also ist die Annahme falsch und der Nikolaustag ist nicht der 11. Januar. Betrachte den 11. Januar . Def. 2 Der 11. Januar ist ein Tag im Jahr. Annahme, der Nikolaustag ist der11. Januar F olgerung oben Der Tag 25 Tage später liegt in diesem Jahr. Additionsregeln Dieser Tag ist der 6. Februar. Def. 1 Der Tag 26 Tage später liegt im nächsten Jahr. Additionsregeln Dieser Tag ist der 7. Februar. Def. 2 Wegen des Kalenders liegt der 6. Februar im gleichen Jahr wie der 7. Februar. Widerspruch! Also ist die Annahme falsch und der Nikolaustag ist nicht der 11. Januar. Betrachte den 11. Januar . Def. 2 Der 11. Januar ist ein Tag im Jahr. Annahme, der Nikolaustag ist der11. Januar Folgerung oben Der Tag 25 Tage später liegt in diesem Jahr. Additionsregeln Dieser Tag ist der 6. Februar. Def. 1 Der Tag 26 Tage später liegt im nächsten Jahr. Additionsregeln Dieser Tag ist der 7. Februar. Def. 2 Wegen Kalenders Februar Jahr wieAnnahme, der 7. Februar. Widerspruch! Also ist die Annahme falsch und der Nikolaustag ist nicht der 11. Januar. Betrachte den 11.des Januar . Def. 2liegt der Der6. 11. Januarim istgleichen ein Tag im Jahr. der Nikolaustag ist der11. Januar Folgerung oben Der Tag 25 Tage später liegt in diesem Jahr. Additionsregeln Dieser Tag ist der 6. Februar. Def. 1 Der Tag 26 Tage später liegt im nächsten Jahr. Additionsregeln Dieser Tag ist der 7. Februar. Def. 2 Wegen des Kalenders liegt der 6. Februar im gleichen Jahr wie der 7. Februar. Widerspruch! Also ist die Annahme falsch und der Nikolaustag ist nicht der 11. Januar. Betrachte den 11. Januar . Def. 2 Der 11. Januar ist ein Tag im Jahr. Annahme, der Nikolaustag ist der11. Januar Folgerung oben Der Tag 25 Tage später liegt in diesem Jahr. Additionsregeln Dieser Tag ist der 6. Februar. Def. 1 Der Tag 26 Tage später liegt im nächsten Jahr. Additionsregeln Dieser Tag ist der 7. Februar. Def. 2 Wegen des Kalenders liegt der 6. Februar im gleichen Jahr wie der 7. Februar. Widerspruch! Also ist die Annahme falsch und der Nikolaustag ist nicht der 11. Januar. Betrachte den 11. Januar . Def. 2 Der 11. Januar ist ein Tag im Jahr. Annahme, der Nikolaustag ist der11. Januar Folgerung oben Der Tag 25 Tage später liegt in diesem Jahr. Additionsregeln Dieser Tag ist der 6. Fe bruar. Def. 1 Der Tag 26 Tage später liegt im nächsten Jahr. Additionsregeln Dieser Tag ist der 7. Februar. Def. 2 Wegen des Kalenders liegt der 6. Februar im gleichen Jahr wie der 7. Februar. Widerspruch! Also ist die Annahme falsch und der Nikolaustag ist nicht der 11. Januar. Betrachte den 11. Januar . Def. 2 Der 11. Januar ist ein Tag im Jahr. Annahme, der Nikolaustag ist der11. Januar Folgerung oben Der Tag 25 Tage später liegt in diesem Jahr. Additionsregeln Dieser Tag ist der 6. Februar. Def. 1 Der Tag 26 Tage später liegt im nächsten Jahr. Additionsregeln Dieser Tag ist der 7. Februar. Def. 2 Wegen des Kalenders liegt der 6. Februar im gleichen Jahr wie der 7. Februar. Widerspruch! Also ist die Annahme falsch und der Nikolaustag ist nicht der 11. Januar. Betrachte den 11. Januar . Def. 2 Der 11. Januar ist ein Tag im Jahr. Annahme, der Nikolaustag ist der11. Januar Folgerung oben Der Tag 25 Tage später liegt in diesem Jahr. Additionsregeln Dieser Tag ist der 6. Februar. Def. 1 Der Tag 26 Tage später liegt im nächsten Jahr. Additionsregeln Dieser Tag ist der 7. Februar. Def. 2 Wegen des Kalenders liegt der 6. Februar im gleichen Jahr wie der 7. Februar. Widerspruch! Also ist die Annahme falsch und der Nikolaustag ist nicht der 11. Januar. Betrachte den 11. Januar . Def. 2 Der 11. Januar ist ein Tag im Jahr. Annahme, der Nikolaustag ist der11. Januar Folgerung oben Der Tag 25 Tage später liegt in diesem Jahr. Additionsregeln Dieser Tag ist der 6. Februar. Def. 1 Der Tag 26 Tage später liegt im nächsten Jahr. Additionsregeln Dieser Tag ist der 7. Februar. GI HILL, V. Claus 41 Beispiel 0 Der weitere Beweis dieses systematischen Ausschlussverfahrens sollte nun allen klar sein. Es gibt noch einige Probleme; die löst ihr als Hausaufgaben! Damit ist der Satz bewiesen. (5) Beispieldemonstration: Wir wählen ein ganz beliebiges Jahr, sagen wir das Jahr 2005. Aus dem Satz haben wir gelernt: Im Jahre 2005 wird der Nikolaustag auf den 6. Dezember fallen, ein Dienstag. 29.10.05 GI HILL, V. Claus 42 Beispiel 0 (6) (Ausnahmsweise eine) Anwendung: Stellt keinen Nikolausschuh nach dem Morgen des 6. Dezembers raus. Hinweis auf ein weiterführendes Problem: Offen bleibt, wie viele Tage zuvor der beste Termin ist. Doch dies erfordert eneut Motivation, Definition, Satz, Beweis, ein Beispiel, möglichst keine Anwendung. Generelle Bemerkung: Tatsächlich wird man im Unterricht die Unentscheidbarkeit, Maschinenmodelle, kleine Sprachen und einige theoretische Aussagen durchnehmen und dies alles an einigen konkreten Programmen ausprobieren. Das ist prinzipiell möglich, gilt aber als völlig verengt und langweilig. Zur Ergänzung kann man diese Inhalte in der Oberstufe bringen. 29.10.05 GI HILL, V. Claus 43 Beispiel 1 Strukturierung von Abläufen (1) Ideen umgangssprachlich aufschreiben. (2) Präzise Formulierung (formale Darstellung). (3) Ermitteln von Eigenschaften (Analysieren des Problems). (4) Hieraus einen Algorithmus entwickeln (algorithmische Lösung des Problems, Synthese einer Lösung). (5) Diesen in ein Programm übertragen (Realisierung der Lösung und Implementierung). (6) Testen, Verifizieren, Messen usw. des Programms. 29.10.05 GI HILL, V. Claus 44 Beispiel 1 Rechnen mit rationalen Zahlen (1) Die Ideen umgangssprachlich aufschreiben. y Der natürliche Logarithmus ln(y) = lässt sich durch die Summe der 1 Werte 1, 1/2, 1/3, 1/4, ... annähern. 1 dx x Ziel: Harmonische Funktion exakt berechnen: n 1 H(n) = i = 1 + 1/2 + 1/3 + 1/4 + ... + 1/n i=1 29.10.05 GI HILL, V. Claus 45 Beispiel 1 (2) Präzise Definitionen Definition: Betrachte die Menge von Paaren Q' = {(z, n) | z Z und n N}. Zwei Darstellungen (z1, n1) und (z2, n2) heißen gleich, wenn z1.n2 = z2.n1 gilt. Es sei [(z, n)] ={(z', n') | (z', n') und (z, n) sind gleich} die Klasse der zu (z, n) gleichen Paare. Dann heißt Q = {[(z, n)] | z Z und n N} die Menge der rationalen Zahlen. Normalform: Zu jeder Klasse [(z, n)] kann man das Paar (z/k, n/k), falls z 0 ist, mit k = ggT(z,n), bzw. (0,1), falls z = 0 ist, als eindeutigen Repräsentanten wählen. 29.10.05 GI HILL, V. Claus 46 Definition: Auf Q sind die üblichen Operationen ein- und zweistelliges Plus und Minus, Absolutbetrag, Multiplikation, Division sowie die Vergleiche definiert: Beispiel 1 - [(z, n)] = [(-z, n)], + [(z, n)] = [(z, n)], abs([(z, n)]) = [(abs(z), n)], [(z1, n1)] + [(z2, n2)] = [z1.n2+z2.n1, n1.n2)] [(z1, n1)] - [(z2, n2)] = [z1n2-z2n1, n1.n2)] [(z1, n1)] . [(z2, n2)] = [(z1.z2, n1.n2)] [(z1, n1)] / [(z2, n2)] = [(z1.n2, n1.z2)] für z2 0 (sonst undefiniert) [(z1, n1)] < [(z2, n2)] z1.n2 < n1.z2 [(z1, n1)] = [(z2, n2)] z1.n2 = n1.z2 und analog für >, , , . Mit diesen Operationen ist Q ein Körper. 29.10.05 GI HILL, V. Claus 47 Wichtig ist für uns nur die Addition der rationalen Zahlen: (z1, n1) + (z2, n2) = (z1.n2+z2.n1, n1.n2) 29.10.05 GI HILL, V. Claus 48 Beispiel 1 (3) Ermitteln von Eigenschaften (4) Lösungs-Algorithmus 29.10.05 GI HILL, V. Claus 49 Beispiel 1 (5) Programm in ... type Rational is record Zaehler: Integer; Nenner: Positive; end record; -- Definition von Rational -- die Komponente "Zaehler": ganze Zahl -- die Komponente "Nenner": nat. Zahl > 0 Nun folgt ein Programmstück zur Multiplikation: X, Y: Rational; -- zwei Variablen vom Datentyp Rational Z: Rational; -- Ergebnis der Multiplikation begin -- Berechne die beiden Komponenten Z.Zaehler := X.Zaehler * Y.Zaehler; Z.Nenner := X.Nenner * Y.Nenner; end; 29.10.05 GI HILL, V. Claus 50 Beispiel 1 Wir brauchen die Funktion ggT: N0 N0 N0 , die zu zwei natürlichen Zahlen deren größten gemeinsamen Teiler liefert. Diese Funktion sollte aus der Mathematik bekannt sein. Man berechnet sie mit dem "Euklidischen Algorithmus", indem man die Eigenschaften ggT(a,b) = ggT(b, a mod b) für b > 0 und ggT(a,0) = a ausnutzt. Als Funktion in Ada geschrieben: function ggT(A, B: Natural) return Natural is R, S, T: Natural; begin S := A; T := B; while T /= 0 loop R := S mod T; S := T; T := R; end loop; return S; end; 29.10.05 GI HILL, V. Claus 51 Beispiel 1 Nun ist klar, wie die Addition zu deklarieren ist: function Addition(X, Y: Rational) return Rational is Z: Rational; G: Natural; begin Z.Zaehler := X.Zaehler * Y.Nenner + Y.Zaehler * X.Nenner; Z.Nenner := X.Nenner * Y.Nenner; if Z.Zaehler = 0 then Z.Nenner := 1; else G := ggT(abs(Z.Zaehler), Z.Nenner); Z.Zaehler := Z.Zaehler/G; Z.Nenner := Z.Nenner/G; end if; return Z; end; 29.10.05 GI HILL, V. Claus 52 Beispiel 1 Nun haben wir alles zusammen, um die harmonische Funktion H als rationale Zahl berechnen zu können. Schema: procedure Harmonische_Funktion_Rational is type Rational is ... N: Natural; H, Bruch: Rational; function ggT(A, B: Natural) return Natural is ... function Addition(X, Y: Rational) return Rational is ... begin Get(N); H.Zaehler := 0; H.Nenner := 1; for I in 1..N loop Bruch.Zaehler:=1; Bruch.Nenner:=I; H := Addition(H, Bruch); end loop; New_Line; Put("Zähler: "); Put(H.Zaehler,9); New_Line; Put("Nenner: "); Put(H.Nenner,9); end; 29.10.05 GI HILL, V. Claus 53 Beispiel 1 procedure Harmonische_Funktion_Rational is type Rational is record Zaehler: Integer; Nenner: Positive; end record; -- Definition von Rationalen Zahlen -- die Komponente "Zaehler": ganze Zahl -- die Komponente "Nenner": nat. Zahl > 0 N: Natural; H, Bruch: Rational; -- Bruch speichert die Zahl 1/i function ggT(A, B: Natural) return Natural is R, S, T: Natural; -- größter gemeinsamer Teiler begin S := A; T := B; -- nach dem Euklidischen Algorithmus while T /= 0 loop R := S mod T; S := T; T := R; end loop; -- Hinweis: hier ist ggT(0,0) = 0, aber: return S; -- (0,0) tritt bei der harmonischenFunktion end; -- nie als aktueller Parameter auf 29.10.05 GI HILL, V. Claus 54 Beispiel 1 function Addition(X, Y: Rational) return Rational is Z: Rational; G: Natural; -- X + Y = Z. G speichert einen ggT begin -- Berechnung gemäß Definition der Addition Z.Zaehler := X.Zaehler * Y.Nenner + Y.Zaehler * X.Nenner; Z.Nenner := X.Nenner * Y.Nenner; if Z.Zaehler = 0 then Z.Nenner := 1; else G := ggT(abs(Z.Zaehler), Z.Nenner); Z.Zaehler := Z.Zaehler/G; Z.Nenner := Z.Nenner/G; end if; return Z; -- das Ergebnis ist in Normalform! end; begin Get(N); H.Zaehler := 0; H.Nenner := 1; for I in 1..N loop Bruch.Zaehler := 1; Bruch.Nenner := I; H := Addition(H, Bruch); end loop; -- Ausgabe end; 29.10.05 GI HILL, V. Claus 55 Beispiel 1 (6) Weiteres Verifikation, Termnierung, Macken des Computers, Testen, Beispiele, Laufzeit (Theorie, Messen), Experimente, ... Beispiel: Das Programm liefert für die Eingabe 19 die Ausgabe: Zähler: 275295799 Nenner: 77597520 Division liefert: 3.547739744 Hier kann sich anschließen: Eigene Sprache für Geometrie, für Chemie/Physik, für Geografie, für Syntax, für ... 29.10.05 GI HILL, V. Claus 56 Beispiel 2 Beispiel: Einen ungewöhnlichen Algorithmus finden (mit Rekursion) und seine Komplexität untersuchen. Finde den Median in linearer Zeit. Problem: Finde zu n Zahlen das mittlere Element, also das Element, das nach dem Sortieren an der Stelle (n+1) div 2 steht. Gegeben sei eine Folge von n Zahlen a1, a2, ..., an. Für den Median m gilt: (n-1) div 2 Elemente sind kleiner oder gleich m, (n+1) div 2 Elemente sind größer oder gleich m. (div ist die ganzzahlige Division) 29.10.05 GI HILL, V. Claus 57 Illustration: 145 Zahlen. Was ist das Element Nr. 73? Beispiel 2 2301, 4892, 8197, 7823, 6541, 2639, 7891, 6883, 9211, 6738, 3371, 10892, 4394, 13823, 11741, 2663, 4852, 3197, 7623, 7841, 6383, 10512, 6938, 4092, 8144, 7823, 6741, 2639, 7391, 6884, 9291, 6735, 5171, 10892, 4994, 13623, 12742, 2662, 4432, 3857, 5623, 10395, 2394, 1823, 1751, 2263, 4152, 3647, 7635, 7741, 6383, 1022, 6938, 4992, 8744, 4823, 6641, 7739, 5191, 6294, 4971, 7035, 6631, 11542, 4794, 1373, 15542, 2362, 4412, 3707, 5323, 5371, 4892, 4294, 1373, 11940, 2664, 4252, 3737, 7913, 7221, 6373, 11512, 6928, 4492, 2144, 7433, 6641, 12799, 7341, 6284, 9201, 4735, 5441, 10852, 4984, 12223, 11741, 2632, 2432, 3657, 5629, 10355, 4394, 1823, 1751, 7263, 4452, 6647, 8645, 7641, 6383, 1322, 3938, 4022, 8441, 4323, 6941, 7832, 5121, 6354, 4931, 7235, 6431, 9542, 1794, 3273, 4542, 2662, 4812, 2707, 8323, 6484, 9251, 3795, 5071, 6362, 4812, 2747, 5422, 5371, 1592, 4294, 2723, 6242. 29.10.05 GI HILL, V. Claus 58 Beispiel 2 Vorgehen 1: Sortiere die Folge und nimm das Element an der Stelle (n+1) div 2. Zeitaufwand stets: O(n.log(n)). Vorgehen 2 Iterierter Quicksortschritt: Führe einen Quicksortschritt durch und entscheide, ob in der rechten oder in der linken Hälfte weitergesucht werden muss. Mache dort rekursiv weiter. Zeitaufwand: Im Mittel O(n), schlechtester Fall O(n2). Vorgehen 3: Berechne den Median der Fünfer-Mediane, führe mit diesem Wert einen Quicksortschritt durch und mache mit dem Bereich, in dem der Median liegen muss, rekursiv weiter. Zeitaufwand: Im schlechtesten Fall O(n) (allerdings bisher noch mit einer großen Konstanten "22"). 29.10.05 GI HILL, V. Claus 59 Beispiel 2 Einschub: Was ist ein Quicksortschritt? Betrachte das rekursive Sortierverfahren Quicksort mit dem "Pivot"-Element (Teilungselement) p. Der Datentyp der Folgenelemente sei "Elem". Quicksort (links, rechts: Integer; A: array [...] of Elem); var i, j: Integer; p, h: Elem; begin i := links; j := rechts; p := A[(i+j) div 2]; while i <= j do while A[i] < p do i := i+1 od; while A[j] > p do j := j-1 od; if i<=j then h:=A[i]; A[i]:=A[j]; A[j]:=h; i := i+1; j := j-1 fi; od; if links < j then Quicksort (links, j, A) fi; if i < rechts then Quicksort (i, rechts, A) fi end; Ein Quicksortschritt. Ergebnisse sind die zwei Teilfelder A[links,j] und A[i,rechts] der Länge j-links+1 bzw. rechts-i+1. Beispiel 2 Definition "Sort(k)": Gegeben sei eine Folge von n Elementen a1, a2, ..., an, die aus einer total geordneten Menge stammen. Das Element, das nach dem Sortieren an der Position k steht, bezeichnen wir mit Sort(k). Schnelles Verfahren, um Sort(k) zu bestimmen: Man iteriert Quicksortschritte, wählt aber als "Pivot"-Element ein Element, welches garantiert, dass das Teil-Feld, das weiter untersucht werden muss, höchstens 7n/10+1 Elemente besitzt. Beispiel: 29.10.05 GI HILL, V. Claus 61 Gegeben ist ein ungeordnetes Feld mit n Werten. Suche den Wert Sort(k). 27 13 48 25 90 59 11 36 47 88 93 31 29 89 95 42 44 28 67 50 34 76 56 45 18 58 84 71 n = 28 Median aus je fünf Werten in 6 Schritten 27 47 89 44 45 71 Rekursiv nun aus diesen n/5-tel Werten Sort((n+1)/2) bestimmen. Ergebnis: 45. Mit diesem Wert 45 einen Quicksortschritt im Feld durchführen. 27 13 48 25 90 59 11 36 47 88 93 31 29 89 95 42 44 28 67 50 34 76 56 45 18 58 84 71 alle 45 alle 45 27 13 18 25 45 34 11 36 28 44 42 31 29 89 95 93 88 47 67 50 59 76 56 90 48 58 84 71 Dies seien s Elemente. Sei k > s. 29.10.05 Suche hier rekursiv das Element Sort(k-s). GI HILL, V. Claus 62 Beispiel 2 Behauptung: Nimmt man als Pivot-Element p den Median der Fünfer-Mediane, so besitzt nach dem Quicksortschritt jedes der Teilfelder mindestens 3.n/10 - 1 und höchstens 7.n/10 + 1 Elemente. Beweis: Wir denken uns die Fünfer-Mediane m1, m2, ..., mn/5 geordnet (Pivot-Element p = mn/10 , r = n/10): e1 e2 e3 ... er-1 er er+1 er+2 ... en/5 f1 ... fr-1 fr f2 f3 fr+1 fr+2 ... fn/5 m1 m2 m3 ... mr-1 mr mr+1 mr+2 ... mn/5 g1 g2 g3 ... gr-1 gr gr+1 gr+2 ... gn/5 h1 h2 h3 ... hr-1 hr hr+1 hr+2 ... hn/5 Farbig unterlegt sind jeweils 3.n/10 - 1 Elemente. 29.10.05 GI HILL, V. Claus 63 Beispiel 2 Nun können wir den Aufwand T(n) dieses Verfahrens berechnen. Wir sind etwas lax und ersetzen 7.n/10 + 1 durch 7.n/10. Das Verfahren verläuft folgendermaßen: Berechne zu jedem Fünferblock den Median (dies geht in 6 Schritten) und bilde das Feld dieser Fünfer-Mediane (dies sind n/5 Elemente). Berechne rekursiv von diesem Feld den Median p. Führe mit diesem Element p auf dem ursprünglichen Feld einen Quicksortschritt durch. Stelle fest, in welchem Teilfeld das Element Sort(k) liegen muss und fahre mit diesem Feld rekursiv fort, bis weniger als 6 Elemente im Feld sind (dann bestimme das gesuchte Element direkt). 29.10.05 GI HILL, V. Claus T(n) = 6.n/5 + T(n/5) + n + T(7.n/10) 64 Beispiel 2 Die Anzahl der Vergleiche zwischen je zwei Elementen sei T(n). T(n) = 6.n/5 + T(n/5) + n + T(7.n/10) mit T(1) = 0. Der lineare Ansatz T(n) = a.n + b liefert: T(n) = 22.n + Konstante. Selbst genau nachrechnen. Das Verfahren ist auf jeden Fall linear! 29.10.05 GI HILL, V. Claus 65 Beispiel 2 Ähnlich aussehendes, aber schwereres Problem (EDP = element distinctness problem): Stelle fest, ob alle Elemente einer gegebenen Folge a1, a2, ..., an paarweise verschieden sind. Tausende anderer Verfahren denkbar, einschl. Anwendungen mit vielen Facetten .... 29.10.05 GI HILL, V. Claus 66 Beispiel 3 Die Informatik sollte einen Plan ihrer Ausweitung und ihrer Weiterentwicklung erstellen und hierbei zugleich die jeweiligen Fachsprachen umreißen. Hierbei müssen sich die neu entwickelnden Gebiete auch durch ihre Fachsprache "ausweisen". Die Informatik sollte sich auf eine Fachsprache für die schulische Ausbildung einigen. Hierbei müssen alle zu einer Fachsprache gehörenden Aspekte geklärt werden. (Anregung: Man sollte die Fachdidaktiker(innen) und die Lehrkräfte bitten, diese Sprache zu erarbeiten.) 29.10.05 GI HILL, V. Claus 67 Beispiel 3 Bemerkung zu diesen Forderungen: Die Fachsprache gibt die Orientierung und die zu vermittelnden Begriffe und Denkweisen. Für die Umsetzung müssen die technischen Geräte und die existierenden Systeme (egal wie verwerflich sie im Unterricht wirken mögen) eingesetzt werden: wegen der Realität, wegen der Praxis, wegen der Spannung - und auch wegen der Diskussion über Vergängliches und Bleibendes, über Wesentliches und Unwesentliches, über Konkretes und Abstraktes in der Informatik und ihren Anwendungen. 29.10.05 GI HILL, V. Claus 68 Beispiel 3 Wie bringt man Begriffe in der Schule rüber? Zielgruppe sind Jugendliche. Eine Studie (VIVA und MTV?) über Jugendliche ergab im Jahre 2003 das Folgende: Fernseh- und Radiokonsum: 4 Stunden pro Tag. Jugendliche erwarten bei der Übermittlung von Informationen: - wenig Anspruch - wenig Text (aber dann "guten") - viel Farbe und - viele Bilder, gerne comic-artig. Nehmen wir an, dies trifft zu, so müssen wir auch die Inhalte der Fachsprache Informatik auf diese Weise in der Schule präsentieren. Das kann dann sehr werbeartig aussehen! 29.10.05 GI HILL, V. Claus 69 Beispiel 3 Standardbeispiel: Datentyp "Stack" (für Zeichen) Eine Struktur heißt Keller (engl.: stack), wenn auf ihr genau die folgenden fünf Operationen zugelassen sind: (1) (2) (3) (4) (5) "Empty" = Leeren der Struktur. "Isempty" = Abfragen auf Leerheit der Struktur. "Top" = Kopieren des letzten Elements der Struktur. "Push" = Hinzufügen eines Elements am Ende der Struktur. "Pop" = Löschen des letzten Elements der Struktur. Wir bieten diesen Datentyp nun im Internet an (ein Kunde braucht in der Regel nicht die Initialisierung "Empty", dies lassen wir daher optional). Zunächst erstellen wir intern eine Formulierung, die anschließend zu einer Web-Seite wird: 29.10.05 GI HILL, V. Claus 70 Beispiel 3 Angebot: Datentyp "Stack für Zeichen" Spezifikation im Kommentarteil der Spezifikation Fähigkeiten (Leistungsumfang) dieses Angebots: Datentyp StackZ; Push (Zeichen) erweiter StackZ; Pop verringert StackZ; Top liefert als Ergebnis ein Zeichen; Isempty liefert als Ergebnis Boolean; Umgangssprachliche Erläuterungen ("Pflichtenheft"): Push fügt ein Zeichen an den Stack an, Pop entfernt das zuletzt eingefügte Zeichen, Top zeigt das zuletzt eingefügte Zeichen an, Isempty prüft, ob kein Zeichen im Stack ist. Praxisnahe Vermittlung wie im Internet-Browser: 29.10.05 GI HILL, V. Claus 71 Die Firma Weitere Produkte Einsatzgebiete StackZ-Bereiche Leistungsumfang Impressum Kontakt StackZ in den Einkaufswagen Mitgeliefert werden Werden Sie bevorzugter Kunde bei uns! Betreuung, Push, Pop, Top und Isempty! Rabatte, Sonderangebote Auf Wunsch Empty. Jetzt bestellen Was reingeht, kommt auch wieder raus! später zahlen Lizenz- und Lieferbedingungen hier Fügen Sie mit Push ein Zeichen an! Preise, Wartung und Nachlieferungen hier Pop entfernt das letzte Zeichen! Einmalig: Sie können das letzte Zeichen sehen oder sogar feststellen, dass nichts mehr da ist! Bestens bewährt, basiert Einkauf auf dem LIFO-Prinzip. fortsetzen Von Fachleuten empfohlen! Kennen Sie schon QueueZ? hier ansehen 29.10.05 GI HILL, V. Claus 72 Beispiel 3 Dies war ein erster Einblick, wie die Fachsprache der Informatik sehr anschaulich vermittelt werden kann (wenn man dies denn überhaupt will). Man kann andere Anwendungsbereiche betrachten und über Tabellentechnik, Formulare/Ausfüllfelder/Knöpfe, grafische Oberflächen und Veranschaulichugnen reden, deren präzise Semantik diskutieren und konkrete Anwendungen z.B. mit benachbarten Firmen vornehmen. 29.10.05 GI HILL, V. Claus 73 Beispiel 4 Beipiel: Objekte Übernehmen von ... Organisation Zustand (Belegungen) Eingabe Ausgabe Methoden und ihre Implementierung Weitergeben an ... 29.10.05 GI HILL, V. Claus 74 Beispiel 4 Objekt: Vererbung Organisation Klasseninformationen Objektinformationen Eingabe Methoden Ausgabe Interne Methoden Implementierung von Methoden Weiter-Vererbung 29.10.05 GI HILL, V. Claus 75 Beispiel 4 Klasseninformationen Objektinformationen Ziele, Pläne, Auswertungen, Anpassen Vererbung Methoden Ausgabe Interne Methoden Plausibilität, Testen, Vergleichen Objekt: Organisation Eingabe Implementierung von Methoden Weiter-Vererbung 29.10.05 GI HILL, V. Claus 76 Beispiel 4 Subjekt: Vererbung Organisation KlassenKomponenten informationen für ObjektLernen, informationen Erfahrung, Eingabe Eingabe 29.10.05 Wissen, Methoden Pronostizieren, Anpassen, Interne Methoden Zielsetzungen Implemen.......... tierung von Methoden Weiter-Vererbung GI HILL, V. Claus Ausgabe Ausgabe 77 Beispiel 4 29.10.05 GI HILL, V. Claus 78 Beispiel 4 In Out 29.10.05 GI HILL, V. Claus 79 Beispiel 4 In Out 29.10.05 GI HILL, V. Claus 80 Beispiel 4 In Out 29.10.05 GI HILL, V. Claus 81 In Out 29.10.05 Kleiner und gut überschaubarer Ausschnitt GI HILL, V. Claus 82 Kleiner, noch gerade überschaubarer Ausschnitt. Selbst weitermalen! 29.10.05 GI HILL, V. Claus 83 Fahrerassistenzsysteme. Beispiel 5 AußenTemperatur rSchWischer lSchWischer Fenster Regen Wasser Lenkrad Temperatur WWasser Rück- Tür zu l.h.Blinker spiegel r.Licht Schloss Benzin- l.Licht l.m.Blinker r.v.Blinker Lenkwinkel zufuhr Batterie l.v.Blinker r.S.Licht Spannung Bremsabnutzung Profil Drehung Keilriemen l.S.Licht MischVerh r.Hupe Luftdruck Luftdruck Profil l.Hupe ZündZeitpkt1 ZündZeitpkt4 Rollwiderstand r.N.Licht Lenkwinkel l.N.Licht Bremsabnutzung Profil MC Drehung MC MC Luftdruck Rollwiderstand MC 29.10.05 MC GI HILL, V. Claus MC 84 Fahrerassistenzsysteme. Beispiel 5 AußenTemperatur rSchWischer lSchWischer Fenster Regen Wasser Lenkrad Temperatur WWasser Rück- Tür zu l.h.Blinker spiegel r.Licht Schloss Benzin- l.Licht l.m.Blinker r.v.Blinker Lenkwinkel zufuhr Batterie l.v.Blinker r.S.Licht Spannung Bremsabnutzung Profil Drehung Keilriemen l.S.Licht MischVerh r.Hupe Luftdruck Luftdruck Profil l.Hupe ZündZeitpkt1 ZündZeitpkt4 Rollwiderstand r.N.Licht Lenkwinkel l.N.Licht Bremsabnutzung Profil MC Drehung MC MC Luftdruck Rollwiderstand MC 29.10.05 MC GI HILL, V. Claus MC 85 Fahrerassistenzsysteme. Beispiel 5 AußenTemperatur rSchWischer lSchWischer Fenster Regen Wasser Lenkrad Temperatur WWasser Rück- Tür zu l.h.Blinker spiegel r.Licht Schloss Benzin- l.Licht l.m.Blinker r.v.Blinker Lenkwinkel zufuhr Batterie l.v.Blinker r.S.Licht Spannung Bremsabnutzung Profil Drehung Keilriemen l.S.Licht MischVerh r.Hupe Luftdruck Luftdruck Profil l.Hupe ZündZeitpkt1 ZündZeitpkt4 Rollwiderstand r.N.Licht Lenkwinkel l.N.Licht Bremsabnutzung Profil MC Drehung MC MC Luftdruck Rollwiderstand MC 29.10.05 MC GI HILL, V. Claus MC 86 Fahrerassistenzsysteme. Beispiel 5 Über 1000 Datenquellen. MC MC MC MC 29.10.05 MC GI HILL, V. Claus MC 87 Fahrerassistenzsysteme. Beispiel 5 Beispiel: Straßenverlauf erkennen ? Welche Sensoren leisten was? Wie erkennt man eine Straße? Wie sicher erkennt man Hindernisse? Adaptive Systeme? 29.10.05 GI HILL, V. Claus 88 Beispiel 6 Informationsorientierter Ansatz Was ist Information? Syntax + Semantik/algorithmische Interpretation + Pragmatischer Inhalt + Plan + Zielorientiertes + Anpassung + Neuigkeitswert + (oft unerwarteter) Zusatz, Modell mit Interpretation und Simulation Eigenschaften von Information klären. Modell der Informationsübertragung. Interpretieren, Übersetzen, Einbetten, ... 29.10.05 GI HILL, V. Claus 89 Beispiel 6 Wir sind dicht am Sinn des Lebens. Warum? Aus wissenschaftlicher Sicht kennen wir den Sinn des Lebens nicht, können jedoch postulieren, dass er eine Invariante über die Zeit sein müsste. Nach heutiger Kenntnis überlebt nur die Information, ... 29.10.05 GI HILL, V. Claus 90 Beispiel 6 Künstliches Leben Kleine Welt ("Umgebung") mit n Individuen Änderungen durch die Individuen vornehmen "vermehren" Gesucht werden dann Individuen, die sich unter den Rahmenbedingugen der Umwelt am besten durchsetzen. Stichwort: Krieg der Kerne ("Core War"). Diskutiere Effekte wie: - Realisierung der Infomationsweitergabe in der Biologie (DNA, Boten-RNA, geometrische Randbedingugen, ...) - Vorteile von Größe, Schnelligkeit, Intelligenz, ... - Viren, Retroviren, Transport von Information in fremde Umgebungen 29.10.05 GI HILL, V. Claus 91 Beispiel 6 Konkretes Modell Zeit, Strategien, Änderungen der Umweltbedingungen Steuerung, die die Lebewesen interpretiert und deren Aktionen ausführt Alphabete, Grammatik, Semantik Programmiersprache, aus deren Bausteinen die Lebewesen zusammengesetzt werden .. . Umwelt 29.10.05 3 Lebewesen, die in der Umwelt "leben" GI HILL, V. Claus Experimente Optimierungen Vorhersagen,... 92 Beispiel 6 Konkretes Modell Zeit, Strategien, Änderungen der Umweltbedingungen Steuerung, die die Lebewesen interpretiert und deren Aktionen ausführt Schrittweise simulieren, Zufall, Strategien, Rückkopplung, ... .. . Umwelt 29.10.05 GI HILL, V. Claus 93 Beispiel 6 Ein Lebewesen könnte sein: 0: X := X + 30 1: I := 0 2: I > 8 goto 0 3: Kopiere Zeile I nach X 4: I := I + 1 5: Delete Zelle X*I 6: goto 2 7: X Beliebig abwandelbar: Kooperation statt Zerstörung, Sterben, Begrenzungen, Eigentum mit/ohne Vererbung, ... aber auch andere Szenarien wie etwa das Börsengeschehen? 8: I 29.10.05 GI HILL, V. Claus 94 Beispiel 7 Sprachenorientiert Sprachtypen und die Verbindung mit der Informatik Sprache der Logik: Beispiele, Regeln deutsche Grammatik: Beispiel, Regeln, Mehrdeutigkeit, Syntax, Semantik, EBNF, Dialoge wie ELIZA Sprache der Physik: Beschreibung eines Versuchs, Umsetzung in Parameter/Messgrößen, Ergebnisse, Tabellen, Formeln, Herleitungen eine kleine Programmiersprache Modellierungs-, Spezifikationssprachen, Datenbankanfrage, HTML, XML-Anwendungen, ... Sprachen anderer Gebiete (Jura, Medizin, Musik, technische Beschreibung, Nahverkehr, ...) 29.10.05 GI HILL, V. Claus 95 ß ::= Xi | t | f | (ßß) | (ßß) |(ß) 29.10.05 GI HILL, V. Claus 96 Teil-Grammatik des Deutschen Austauschen, Mikro-Dialoge Verfeinern, erste sinnvolle Aussagen Kleine Domäne: Diagnose Pflanzenbestimmung Existierende Systeme (Verbmobil?) 29.10.05 GI HILL, V. Claus 97 Erläuterungen hierzu: Ein Ausschnitt aus der deutschen Grammatik (Nichtterminalzeichen sind die in < ... > eingeschlossenen Zeichenfolgen) könnte lauten: <Satz> <Subjekt> <Prädikat> <Objekt> <Subjekt> <Artikel im Nominativ> <Substantiv im Nominativ> <Objekt> <Artikel im Dativ> <Substantiv im Dativ> <Objekt> <Artikel im Akkusativ> <Substantiv im Akkusativ> <Artikel im Nominativ> das <Artikel im Nominativ> die <Artikel im Dativ> dem <Artikel im Dativ> der <Artikel im Akkusativ> den <Artikel im Akkusativ> die <Substantiv im Nominativ> Kind <Substantiv im Nominativ> Luft <Substantiv im Dativ> Fernrohr <Substantiv im Dativ> Fernrohr <Substantiv im Akkusativ> Mann <Prädikat> <Verb, 3.Person,Präsenz> <Verb, 3.Person, Präsenz> sieht <Verb, 3.Person, Präsenz> lernt <Verb, 3.Person, Präsenz> hört <Verb, 3.Person, Präsenz> rennt ........ Aus dem Startsymbol <Satz> kann man z.B. folgendes "Wort" ableiten: <Satz> <Subjekt> <Prädikat> <Objekt> <Artikel im Nominativ> <Substantiv im Nominativ> <Prädikat> <Objekt> das <Substantiv im Nominativ> <Prädikat> <Objekt> das Kind <Prädikat> <Objekt> ... das Kind sieht den Mann Leite weitere Wörter ab. Stelle weitere Regeln auf. Weise "Mehrdeutigkeiten" nach wie "Das Kind sieht den Mann mit dem Fernrohr." ... usw. usw. 29.10.05 GI HILL, V. Claus 98 Syntax einer einfachen Sprache in BNF V = {<Programm>, <Kopf>, <Deklarationsteil>, <Deklaration>, <Datentyp>, <Variable>, <Variablenliste>, <Anweisungsfolge>, <Anweisung>, <elementare Anweisung>, <Wertzuweisung>, <Ausdruck>, <arithmetischer Ausdruck>, <Boolescher Ausdruck>, <arithmetischer Operator>, < Boolescher Operator>, <Alternative>, <while-Schleife>, <repeat-Schleife>, <for-Schleife>, <Laufvariable>, <Bezeichner>, <Zeichen für Bezeichner>, <Buchstabe>, <Ziffer>, <Ziffer_ohne_Null>, <positive_Zahl>, <Zahl> } = {A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z, a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z, 0,1,2,3,4,5,6,7,8,9, _ , ; , : , , , =, <, >, + , - , * , ( , ), } Regelmenge: siehe nächste Folie. Das Startsymbol ist <Programm>. hier steht das Zeichen "Zwischenraum" (Die 31 "Schlüsselwörter der Sprache" werden nicht gesondert aufgeführt; sie werden wie Bezeichner mit Buchstaben des Alphabets formuliert, also program, not, else, do, fi für program, not, else, do, fi usw.) 29.10.05 GI HILL, V. Claus 99 <Programm> ::= <Kopf> is declare <Deklarationsteil> ; begin <Anweisungsfolge> end <Kopf> ::= program <Bezeichner> <Deklarationsteil > ::= <Deklaration> | <Deklaration> ; <Deklarationsteil > <Deklaration> ::= <Datentyp> <Variablenliste> <Datentyp> ::= integer | Boolean <Variablenliste> ::= <Variable> | <Variable>, <Variablenliste> <Anweisungsfolge> ::= Anweisung> | <Anweisung> ; <Anweisungsfolge> <Anweisung> ::= <elementare Anweisung> | <Alternative> | <while-Schleife> | <repeat-Schleife> | <for-Schleife> <elementare Anweisung> ::= skip | <Wertzuweisung> | read <Bezeichner> | write <Ausdruck> | halt <Wertzuweisung> ::= <Variable> := <Ausdruck> <Variable> ::= <Bezeichner> <Ausdruck> ::= <arithmetischer Ausdruck> | <Boolescher Ausdruck> <Alternative> ::= if <Boolescher Ausdruck> then <Anweisung> fi | if <Boolescher Ausdruck> then <Anweisung> else <Anweisung> fi <while-Schleife> ::= while <Boolescher Ausdruck> do <Anweisung> od <repeat-Schleife> ::= repeat <Anweisung> until <Boolescher Ausdruck> <for-Schleife> ::= for <Laufvariable> := <arithmetischer Ausdruck> to <arithmetischer Ausdruck> do <Anweisung> od <Laufvariable> ::= <Variable> <arithmetischer Ausdruck> ::= <Variable> | <Zahl> | (<arithmetischer Ausdruck>) | - <arithmetischer Ausdruck> | <arithmetischer Ausdruck> <arithmetischer Operator> <arithmetischer Ausdruck> | <arithmetischer Operator> ::= + | - | * | div | mod <Boolescher Ausdruck> ::= <Variable> | true | false | (<Boolescher Ausdruck>) | not <Boolescher Ausdruck> | <Boolescher Ausdruck> <Boolescher Operator> <Boolescher Ausdruck> | <arithmetischer Ausdruck> <Vergleichsoperator> <arithmetischer Ausdruck> <Boolescher Operator> ::= and | or | exor | impl <Vergleichsoperator> ::= > | >= | = | < | <= | <Buchstabe> ::= A | B | C | D | E | F | G | H | I | J | K | L | M |N | O | P | Q | R | S | T | U | V | W | X | Y | Z | a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z <Ziffer> ::= 0 | <Ziffer_ohne_Null> <Ziffer_ohne_Null> ::= 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 <Zeichen für Bezeichner> ::= _ | <Buchstabe> | <Ziffer> <Bezeichner> ::= <Buchstabe> | <Bezeichner> <Zeichen für Bezeichner> <positive_Zahl> ::= <Ziffer_ohne_Null> | <positive_Zahl> <Ziffer> <Zahl> ::= 0 | + <positive_Zahl> | - <positive_Zahl> 29.10.05 GI HILL, V. Claus 100 Beispiel 7 Unterschiede zwischen natürlicher Sprache und Fachsprache? Natürliche Sprache ist extrem komplex. Alle erfahrbaren Bereiche sind mit ihr verknüpft. Viele Aspekte, z.B.: - Aufbau (Zeichen, Laute, Wörter, Sätze, Grammatik), - Werkzeug zur Verständigung, Kommunikationsmittel, - Medium des Denkens, Erkennens, Planens und Handelns, - biologisch unabhängige Weitergabe von Wissen, - Strukturierungsmittel menschlichen Zusammenlebens, - Basis von Weltanschauungen und Kulturen. Gesprochene Sprache, Schriftsprache, Analogien, Gedanken. Semiotik, Syntax, Semantik, Pragmatik. Sprache ist unscharf und effizient, zwingt zur eigenen Vorstellung und Interpretation und zum Vergleich zwischen Vorgestelltem und Realität. Sie besitzt alle Wörter, die für alle von Menschen erfassbaren Bereiche erforderlich sind und deren Eigenheiten zu beschreiben erlauben. Sie ist offen für Neues, Kreatives, Künstlerisches, Präzises usw. Ihre Beherrschung und Bearbeitung entscheidet über Karrieren ... 29.10.05 GI HILL, V. Claus 101 Beispiel 8 Szenario einer kommenden Ausbildung 2025: Informatik als Unternehmensinspiration (und Neuorientierung der schulischen Ausbildung) 29.10.05 GI HILL, V. Claus 102 Beispiel 8 Zeitliche Belastung in Zeitstunden pro Jahr Wiss.Inf 2000 h/Jahr früher D 1800 Studis D 1400 Europastudis? 1000 600 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 29.10.05 GI HILL, V. Claus Alter 103 = Informatik Beispiel 8 Bach im Jahr 2015 = Deutsch Juniorprof... Ma Prom Assi = Mathe 2000 h/Jahr 5-8 1800 9 - 12 Grund 1400 Ki 1000 600 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 29.10.05 GI HILL, V. Claus Alter 104 2015 ist das Abitur eine Bewerbungsberechtigung, Beispiel 8 zum Bachelor führt nur eine Eignungsfeststellung. Zusatzkurse ab Klasse 10 werden freundlicher Zwang. 250 h 2000 h/Jahr 750 h 1800 1400 1000 600 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 29.10.05 GI HILL, V. Claus Alter 105 Sorge um Praxisbezug und Arbeitsplatz: 250 h 2000 h/Jahr Beispiel 8 400 h Prakt. 750 h 1800 1400 1000 600 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 29.10.05 GI HILL, V. Claus Alter 106 Pflicht zu Veröffentlichungen: 250 h 2000 h/Jahr Beispiel 8 400 h Prakt. 500 h 750 h 1800 1400 1000 600 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 29.10.05 GI HILL, V. Claus Alter 107 Summe: rund 2000 Stunden Mehraufwand in 11 Jahren. 250 h 2000 h/Jahr 400 h Prakt. Beispiel 8 500 h 750 h 1800 1400 1000 600 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 29.10.05 GI HILL, V. Claus Alter 108 Realistische Vision für Ausbildungszeiten ab 2025 Entscheidung für Informatik als Berufsfeld Beispiel 8 Auf- und Ausbau einer eigenen Firma Mitarbeit in einer Firma 2000 h/Jahr 1800 Ruhestand ? 1400 1000 600 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 29.10.05 GI HILL, V. Claus Alter 109 Beispiel 8 Extrapolieren Sie mutig weiter! Beachten Sie: Ab 2050 wird Informatik mit Mathematik, Grammatikkunde und formalen Anteilen anderer Wissensgebiete in einem großen "Sprachunterricht" (unter Führung der Informatik!?) aufgehen und bereits ab der ersten Klasse in der Schule erscheinen, vgl. Beipiel 7. Es sei denn, das Mooresche Gesetz oder der menschliche Drang nach Vernichtung hebelt uns aus. 29.10.05 GI HILL, V. Claus 110 Ende Empfehlungen zur Einrichtung von konsekutiven Bachelor- und Masterstudiengängen in Informatik an Universitäten Zielsetzungen (im europäischen Hochschulraum): --- anspruchsvoller deutscher Informatik-Raum --Rahmenempfehlung und Orientierung für Außenstehende Mobilität der Studierenden und der Absolvent(inn)en Hinweise für die Akkreditierung Master als Regelabschluss (auf Diplom-Niveau) Forschungsorientierter Bachelor (von den Inhalten her) Beschäftigungsbefähigung des universitären Bachelors Leistungspunkte, Modularisierung (Blockprüfung möglich) Präzisierung der Ausbildungsziele und der Bachelor-Inhalte mit Mindestanteilen (141 von 180 LP umrissen) 29.10.05 GI HILL, V. Claus 112 Nicht zu verhindern wird sein: - Starke Verschulung. - Niveauabbau bis hin zum "Bachelorabschluss als verlängertem Abitur". - Reibung zwischen Bachelor und Master. - Die anderen Staaten der EU machen gar nicht mit. 29.10.05 GI HILL, V. Claus 113 Präzisierung der Ausbildungsziele beim Bachelor Qualifikationsprofil des universitären Bachelors in Informatik: 1. Die Absolventen beherrschen die mathematischen und informatischen Methoden, Probleme in ihrer Grundstruktur zu analysieren. 2. Die Absolventen beherrschen die informatischen Methoden, abstrakte Modelle aufzustellen. 3. Die Absolventen haben gelernt, Probleme zu formulieren und die sich ergebenden Aufgaben in arbeitsteilig organisierten Teams zu übernehmen, selbstständig zu bearbeiten, die Ergebnisse anderer aufzunehmen und die eigenen Ergebnisse zu kommunizieren. 29.10.05 GI HILL, V. Claus 114 Präzisierung der Ausbildungsziele beim Bachelor Qualifikationsprofil des universitären Bachelors in Informatik: 4. Die Absolventen haben die methodische Kompetenz erworben, um programmiertechnische Probleme insbesondere auch im Kontext komplexer Systeme unter ausgewogener Berücksichtigung technischer, ökonomischer und gesellschaftlicher Randbedingungen erfolgreich bearbeiten zu können. 5. Die Absolventen sind sich der vielfältigen Sicherheitsprobleme bewusst, die mit dem Einsatz von Informatiksystemen, insbesondere im Netz, verbunden sind; sie wissen, welche Techniken und Verfahren für die Sicherung von Systemen zum Einsatz kommen. 6. Die Absolventen haben exemplarisch ausgewählte Anwendungsfelder kennen gelernt und sind in der Lage, bei der Umsetzung informatischer Grundlagen auf Anwendungsprobleme qualifiziert mitzuarbeiten. 29.10.05 GI HILL, V. Claus 115 Präzisierung der Ausbildungsziele beim Bachelor Qualifikationsprofil des universitären Bachelors in Informatik: 7. Die Absolventen haben exemplarisch außerfachliche Qualifikationen erworben und sind damit für die nichttechnischen Anforderungen und erforderlichen Sozialisierungsfähigkeit im betrieblichen Umfeld sensibilisiert. 8. Die Absolventen sind durch die Grundlagenorientierung der Ausbildung gut auf lebenslanges Lernen und auf einen Einsatz in unterschiedlichen Berufsfeldern vorbereitet. Diese Charakterisierung beschreibt ein grundlagen- und methodenorientiertes Qualifikationsprofil, welches sich von einem anwendungsorientierten Qualifikationsprofil absetzt. Diese Differenzierung muss bereits im ersten Studienabschnitt angelegt sein, der mit einem Bachelorabschluss endet. 29.10.05 GI HILL, V. Claus 116 Präzisierung der Ausbildungsziele beim Bachelor Themenbereiche: Modellierung und Formalisierung Algorithmen Softwareentwicklung Sprachen und Programmiermethoden Informationssysteme IT-Sicherheit Eingebettete Systeme, Systemsoftware, Rechnernetze Mensch-Maschine-Wechselwirkung 29.10.05 GI HILL, V. Claus 117 Präzisierung der Ausbildungsziele beim Master Qualifikationsprofil des universitären Masters in Informatik: 1. Die Absolventen haben die Ausbildungsziele des Bachelorstudiums in einem längeren fachlichen Reifeprozess weiter verarbeitet und eine größere Sicherheit in der Anwendung und Umsetzung der fachlichen und außerfachlichen Kompetenzen erworben. 2. Die Absolventen haben tiefgehende Fachkenntnisse in einem ausgewählten Schwerpunktgebiet der Informatik erworben. 3. Die Absolventen verfügen über Tiefe und Breite, um sich sowohl in die zukünftigen Techniken im eigenen Fachgebiet wie auch in die Randgebiete des eigenen Fachgebietes rasch einarbeiten zu können. 29.10.05 GI HILL, V. Claus 118 Präzisierung der Ausbildungsziele beim Master Qualifikationsprofil des universitären Masters in Informatik: 4. Die Absolventen sind fähig, die erworbenen Methoden der Informatik zur Formulierung und Lösung komplexer Aufgabenstellungen in Forschung und Entwicklung in der Industrie oder in Forschungseinrichtungen erfolgreich einzusetzen, sie kritisch zu hinterfragen und sie bei Bedarf auch weiterzuentwickeln. 5. Die Absolventen haben sich verschiedene technische und soziale Kompetenzen (Abstraktionsvermögen, systemanalytisches Denken, Team- und Kommunikationsfähigkeit, internat. und interkulturelle Erfahrung usw.) erworben, die für Führungsaufgaben vorbereiten. 6. Die Absolventen sind nicht nur für Aufgaben im Bereich Forschung und Entwicklung, sondern auch für andere anspruchsvolle Aufgaben und insbesondere auch für Führungsaufgaben in Wirtschaft und Verwaltung sehr gut ausgebildet. 29.10.05 GI HILL, V. Claus 119 Präzisierung der Ausbildungsziele beim Master Die Aufgabe des Masterstudiengangs besteht zum Ersten darin, die berufspraktischen Kompetenzen zu verbreitern. Der Studiengang soll so ausgelegt sein, dass ein Master für anspruchsvolle Entwicklungsaufgaben das notwendige Rüstzeug besitzt. Zugleich ist die Ausbildung in den Grundlagen der Informatik und in ihren Anwendungen zu verbreitern. Zum Zweiten ist eine Vertiefung in einem Spezialgebiet der Informatik ein wesentlicher Kern des Masterstudiengangs. Diese Vertiefung findet ihren Abschluss in der selbstständig angefertigten, wissenschaftlichen Masterarbeit, die im Niveau deutlich über eine Bachelorarbeit hinausgeht. Wünschenswert ist eine Verzahnung mit dem Anwendungsfach oder das Lösen eines Problems in einer Anwendungsdomäne. 29.10.05 GI HILL, V. Claus 120 Präzisierung der Fachgebiete im Bachelorstudium Festlegung auf die folgenden Mindestleistungen für den universitären Bachelorstudiengang Informatik Grundlagen der Informatik 35 LP Informatik der Systeme 50 LP Mathematik 25 LP Bachelorarbeit 15 LP Nebenfach/Anwendungsfach 16 LP Hinzu kommen noch als weitere obligatorische Veranstaltungen ein Projekt und ein Seminar. 29.10.05 GI HILL, V. Claus 121 Präzisierung der Fachgebiete im Bachelorstudium Grundlagen der Informatik (mindestens 35 LP) Pflichtbereich Automatentheorie, Formale Sprachen und Komplexität Grammatiken und Automatenmodelle, Chomsky-Hierarchie, Algorithmusbegriff, Berechenbarkeit und Entscheidbarkeit, Komplexität, NP-vollständige Probleme Logik Aussagenlogik, Resolution, Endlichkeitssatz, Prädikatenlogik, Modelle, Unentscheidbarkeit und Unvollständigkeit, Grundlagen der Logikprogrammierung Formale Systeme ... Modellierung ... Programmierung ... Programmierparadigmen ... Datenstrukturen und Algorithmen ... 29.10.05 GI HILL, V. Claus 122 Präzisierung der Fachgebiete im Bachelorstudium Informatik der Systeme (aus Pflicht- und Wahlbereich mindestens 50 LP) Pflichtbereich Grundlagen der Betriebssysteme Grundlagen der Softwaretechnik Datenbanksysteme Rechnernetze oder Verteilte Systeme Digitaltechnische Grundlagen Rechnersysteme Sicherheit Die Empfehlungen enthalten zu allen diesen Gebieten acht bis zehn erläuternde Stichwörter. 29.10.05 GI HILL, V. Claus Wahlpflichtbereich Künstliche Intelligenz Übersetzerbau Mensch-Maschine-Schnittstellen Simulation Computergrafik Rechnersehen Informatik und Gesellschaft Elektrotechnische Grundlagen Systemsoftware Eingebettete Systeme 123 An konkreten Problemen anwendungsorientierter Zugang zur Informatik in den bereits bestehenden Fächern. 1. Konkretes Problem: Autofahren für Blinde Was sind "Reaktionen"? Wie "sehen" Blinde? Herausarbeiten biologischer nd psychologoscher Begriffsklärungen Modellbildung in der Anwendung, Sprachliche Beschreibung Lösungsansätze Industriebesuch, Reflexionen, Vor-/Nachteile 29.10.05 GI HILL, V. Claus 124 An konkreten Problemen anwendungsorientierter Zugang zur Informatik in den bereits bestehenden Fächern. 2. Konkretes Problem: Gezielte Werbung Beispiel: Kassensystem. Große Datenmengen. Verborgene Informationen? Deren Extraktion für zu definierende Werbemaßnahmen. Vor-/Nachteil er Verknüpfung betriebswirtschaft relevanter Daten. Fragen des Datenschutzes. Verbessertes Verhalten gegenüber dem Kunden. Ideen zur Umsetzung in die Praxis. 29.10.05 GI HILL, V. Claus 125 An konkreten Problemen anwendungsorientierter Zugang zur Informatik in den bereits bestehenden Fächern. 3. Konkretes Problem: Maximale Unordnung Beispiel: Eine Folge von Zetteln, die man durcheinander mischt (Deutschaufsatz aus n Seiten mischen.) Wie kann man Unordnung messen? Entropie der Physik. Mathematische Präzisierung. Experimente und Einblick in die endliche Kombinatorik. 29.10.05 GI HILL, V. Claus 126 Weitere Zugänge zur Informatik in der Schule: Elektronischer Handel Projektmanagement Biologische Anwendungen Roboter und Automatisierung Geo-Informationssysteme, Navigationshilfen Neue Medien (neues Lernen, neues Arbeiten) usw. 29.10.05 GI HILL, V. Claus 127