Informatik Abitur 2017

Get Started. It's Free
or sign up with your email address
Rocket clouds
Informatik Abitur 2017 by Mind Map: Informatik Abitur 2017

1. Überschreibung von Methoden

2. Dynamische Datenstrukturen

2.1. Bäume

2.1.1. BinaryTree

2.1.1.1. AKA Binärbaum

2.1.1.2. Hat immer exakt zwei Zweige

2.1.1.2.1. Es ist ein Knoten wenn zwei von den Zweigen voll sind

2.1.1.2.2. Es ist ein Halbblatt wenn nur einer der Zweige belegt ist

2.1.1.2.3. Es ist ein Blatt wenn beide Zweige leer sind

2.1.1.3. Beherbergt Elemente vom Typ ContentType (Seit Abi2017)

2.1.1.4. Wenn man ein bestimmtes Objekt sucht muss man den Binärbaum traversieren, da kein Index o.ä. vorhanden ist

2.1.1.5. Der Ursprungsbinärbaum wird Wurzel genannt

2.1.1.6. Dokumentation irgendwo hier: "https://www.standardsicherung.schulministerium.nrw.de/cms/zentralabitur-wbk/faecher/getfile.php?file=2149"

2.1.1.7. Methoden

2.1.1.7.1. getLeftTree()

2.1.1.7.2. getRightTree()

2.1.1.7.3. Hat zwei Konstruktoren

2.1.1.7.4. setLeftTree()

2.1.1.7.5. setRightTree()

2.1.1.7.6. getContent()

2.1.1.7.7. setContent()

2.1.1.7.8. isEmpty()

2.1.2. Tree

2.1.2.1. AKA Baum

2.1.2.1.1. Führt zu Holz(https://www.youtube.com/watch?v=wjXUBG15eZ8)

2.1.2.2. Hat so viele Zweige wie man möchte

2.1.2.3. Keine konkrete Dokumentation vorhanden

2.1.2.3.1. Aber implementieren müssen wir es trotzdem können, am besten man speichert die Kindsbäume in einer List<Tree>.

2.1.2.4. Der Ursprungsbaum wird Wurzel genannt

2.1.2.5. Wenn man ein bestimmtes Objekt sucht muss man den Baum traversieren, da kein Index o.ä. vorhanden ist

2.1.2.6. Beherbergt Elemente vom Typ ContentType

2.1.3. Es gibt drei Arten von Zweigen

2.1.3.1. Bäume mit Kindsbäumen werden Knoten genannt

2.1.3.2. Bäume ohne Kindsknoten werden Blätter genannt

2.1.3.3. Bäume mit einem Kindsknoten werden Halbblätter genannt

2.1.4. BinarySearchTree (Ben & Timo)

2.1.4.1. Ordnungskriterium

2.1.4.1.1. Implementation

2.1.4.2. Binär

2.1.5. Struktur

2.1.5.1. Knoten

2.1.5.1.1. Wurzel

2.1.5.1.2. Kindsknoten

2.1.5.1.3. Blätter

2.2. Graphen (Jonas & Max)

2.2.1. Modellierung

2.2.1.1. Adjazenzliste

2.2.1.2. Adjazenzmatrix

2.2.1.3. Adjazenzgraph

2.2.1.4. Kanten

2.2.1.5. Knoten

2.2.2. Algorithmen

2.2.2.1. kürzester Weg "Dijkstra"

2.2.2.2. minimaler Spannbaum

2.2.3. Durchsuchen

2.2.3.1. Tiefensuche

2.2.3.2. Breitensuche

2.3. Lineare Datenstrukturen

2.3.1. Queue

2.3.1.1. Erklärung

2.3.1.1.1. generische Klasse Queue<ContentType>

2.3.1.1.2. Datenstruktur, welche eine beliebige Menge von Objekten aufnimmt und diese in der Reihenfolge ihres Einfügens zurückgibt

2.3.1.1.3. Elemente können nur in der Reihenfolge ihres Einfügens gelesen oder gelöscht werden

2.3.1.2. First-In-First-Out-Prinzip

2.3.1.2.1. das zuerst abgelegte Objekt wird als erstes wieder entnommen

2.3.1.3. Aufbau

2.3.1.3.1. Konstruktor

2.3.1.3.2. Methoden

2.3.1.3.3. private innere Klasse QueueNode

2.3.1.4. Aufgabe (-> edmodo)

2.3.2. Stack

2.3.2.1. Erklärung

2.3.2.1.1. generische Klasse Stack<ContentType>

2.3.2.1.2. Datenstruktur, welche eine beliebige Menge von Objekten aufnimmt und diese in der entgegengesetzten Reihenfolge ihres Einfügens wieder zurückgibt

2.3.2.1.3. Elemente können nur in umgekehrter Reihenfolge des Einfügens gelesen oder gelöscht werden

2.3.2.2. Last-In-First-Out-Prinzip

2.3.2.2.1. das zuletzt abgelegte Objekt wird als erstes wieder entnommen

2.3.2.3. Aufbau

2.3.2.3.1. K on st r uk to r

2.3.2.3.2. Methoden

2.3.2.3.3. private innere Klasse StackNode

2.3.2.4. Aufgabe (-> edmodo)

2.3.3. List

2.3.3.1. Erklärung

2.3.3.1.1. generische Klasse List<ContentType>

2.3.3.1.2. verwaltet beliebig viele linear angeordnete Objekte vom Typ ContentType

2.3.3.1.3. Die Listenelemente können beliebig an jeder Stelle der Liste eingefügt oder gelöscht werden

2.3.3.1.4. Die Anzahl der Listenelemente ist nicht beschränkt oder vorher festgelegt

2.3.3.1.5. ein Listenelement besteht aus einem Inhaltsobjekt und einem Verweis auf das nächste Listenelement

2.3.3.1.6. Nach dem letzten Objekt einer Liste kann ein Listenobjekt oder eine andere Liste angehängt werden

2.3.3.1.7. Wozu benötigt die Liste zusätzliche Methoden?

2.3.3.1.8. Das aktuelle Objekt

2.3.3.2. Aufbau

2.3.3.2.1. Konstruktor

2.3.3.2.2. Methoden (public)

2.3.3.2.3. private innere Klasse ListNode

2.3.3.3. Aufgabe (-> edmodo)

3. Grundlagen der Programmiersprache Java (Ben & Timo)

3.1. Schleifen

3.1.1. "For"-Schleife

3.1.1.1. Verwendung bei vorheriger Kenntnis über Anzahl d. gewünschten Durchläufe

3.1.2. "While"-Schleife

3.1.2.1. Verwendung bei gewünschtem Schleifendurchlauf ausschließlich während speziellem Zustand

3.1.3. "Do-While"-Schleife

3.1.3.1. Verwendung bei gewünschtem Schleifendurchlauf während speziellem Zustand mit garantiertem Erstdurchlauf

3.2. Bedingte Anweisungen

3.2.1. Verzweigung mit "if-else"

3.2.1.1. Verwendung wenn bei Erfüllung einer Bedingung Ausführung bestimmter Kommandozeilen gewünscht ist und ansonsten festgelegte weitere Befehle ausgeführt werden sollen

3.2.2. "if-else-if"

3.2.2.1. Verwendung wenn bei Erfüllung einer Bedingung Ausführung bestimmter Kommandozeilen gewünscht ist und ansonsten festgelegte weitere Befehle unter weiterer Bedingung ausgeführt werden sollen

3.2.3. Verzweigung mit "switch-Case"

3.2.3.1. Verwendung wenn zu erwartende Zustände einer Variable vorauszusehen sind und auf diese entsprechend stets, in Abhängigkeit des Zustandes, zu reagieren ist

3.3. Arrays

3.3.1. Erstellung

3.3.1.1. Verwendung wenn bekannte Anzahl an Werten zentriert gespeichert werden soll

3.3.2. Manipulation

3.3.2.1. Aktualisieren bestimmter Werte in bestimmten Array

3.4. Logische Ausdrücke

3.4.1. '&&'

3.4.1.1. True wenn alle genannten booleschen Ausrücke true sind

3.4.2. '||'

3.4.2.1. True wenn einer der genannten booleschen Ausdrücke true ist

3.4.3. '=='

3.4.3.1. True wenn beide Ausdrücke identisch sind

3.4.4. '>='

3.4.4.1. True wenn erster Ausdruck entweder größer (je nach Zeichen kleiner) oder gleich dem zweitem ist

3.4.5. '!='

3.4.5.1. True wenn erster Ausdruck ungleich dem ersten ist

3.4.6. '^'

3.4.6.1. True wenn beide booleschen Ausdrücke ungleich (eins true, eins false) sind

3.5. Variablen

3.5.1. Integer (int)

3.5.2. Double (double)

3.5.3. Character (char)

3.5.4. String (String)

3.5.5. Boolean (boolean)

4. Datenbanken (Jonas + Max)

4.1. ER-Diagramm

4.1.1. Entitäten

4.1.2. Attribute

4.1.3. Relationen

4.2. Tabelle

4.2.1. Tabellenname

4.2.2. Attribute

4.2.2.1. Schlüssel

4.2.2.1.1. Primärschlüssel

4.2.2.1.2. Fremdschlüssel

5. Sortieralgorithmen

5.1. Bubblesort (Lea + Marie)

5.2. Insertionsort (Lea + Marie)

5.3. Mergesort (Luis, Emre)

5.4. Quicksort (Luis, Emre)

6. Abiturklausur 2014 (Daniel & Robert R.)

7. Abiturklausur 2015 (Lea + Marie)

8. Operatoren-Liste (Lea + Marie)

9. Polymorphie (Tim)

9.1. Beispiel in Java

9.1.1. Die Node-Klassen, der uns bekannten dynamischen Datenstrukturen, nutzen Polymorphie.

9.1.2. Der Datentyp, der in Node gespeichert werden soll, ist nicht festgelegt.

9.1.3. Die Objekte, die z.B. in den Objekten der Klasse Tree gespeichert werden sollen müssen das Interface ComparableContent implementieren.

9.1.4. Dabei muss durch, überschreiben der drei Vergleichsmethoden isLess, isEqual, isGreater eine eindeutige Ordnungsrelation festgelegt sein.

9.2. Was ist Polymorphie?

9.2.1. Polymorphie ist griechisch für „Vielgestaltigkeit“.

9.2.2. Zweck: Bezeichner soll unterschiedliche Datentypen akzeptieren.

9.2.3. Bei der objektorientierten Programmierung tritt Polymorphie im folgenden Auf: Vererbung, z.B. Vererbung abstrakter Klassen Interface, z.B. Node-Klasse

10. Suchen (Robert K. + Tim)

10.1. lineare Suche

10.1.1. Anzahl der Vergleiche

10.1.1.1. Worst Case

10.1.1.1.1. O(n)= n

10.1.1.2. Best Case

10.1.1.2.1. O(n) = 1

10.1.1.3. Average Case

10.1.1.3.1. O(n) = n/2

10.2. Binäre Suche

10.2.1. Anzahl der Vergleiche

10.2.1.1. Worst Case

10.2.1.1.1. O(n) = O(n/2) = log2(n)

10.2.1.2. Best Case

10.2.1.2.1. O(n) = 1

10.2.1.3. Average Case

10.2.1.3.1. O(n) = log2(n)

10.2.2. Vergleich des gesuchten Wertes mit dem mittleren Wert im Suchbereich

10.2.2.1. Zu suchender Wert < mittleres Element

10.2.2.1.1. Begrenzung des Suchbereiches auf dessen linke Hälfte

10.2.2.2. Zu suchender Wert > mittleres Element

10.2.2.2.1. Begrenzung des Suchbereiches auf dessen rechte Hälfte

11. Abiklausur 2016 (Edris + Dennis)

11.1. Alt

11.1.1. "http://deadraya.lima-city.de/IF16_j_L_HT_GG.pdf"

11.1.2. "http://deadraya.lima-city.de/Info2016zuBearbeiten_Origin.docx"

11.2. Neu

11.2.1. "http://deadraya.lima-city.de/Info2016zuBearbeiten_bearbeitet.docx"

12. Vererbung (Luis, Emre)

12.1. extends

12.2. Vererbung von Methoden und Variabeln

12.3. Abstrakte Methoden & Klassen

12.3.1. super-Methode

12.4. Klassen

12.4.1. Objekte

12.5. Attribute

12.5.1. protected

12.5.2. private

12.5.3. public

13. Backtracking (Luis, Emre)

13.1. Rekursion

13.2. N Damen Problem

13.2.1. Zwei- und eindimensionales Array

14. Rekursion (Robert K.)

14.1. Iteration [das Gegenstück zur Rekursion]

14.1.1. Wiederholen ein und desselben Prozesses

14.1.1.1. z.B. durch gewöhnliche Schleifen

14.2. Abbruchbedingung

14.3. Selbstaufruf

14.3.1. Die Anfrage gibt "sich selbst" mit veränderten Parametern zurück

14.4. Beispiele

14.4.1. Mathematik

14.4.1.1. Fibonacci-Folge

14.4.1.2. Summenbildung / Summenformel

14.4.1.3. Pascal'sches Dreieck

14.4.1.3.1. n über k

14.4.1.4. n hoch k

14.4.2. Rekursive Grafiken

14.4.2.1. Fraktale

14.4.2.1.1. Pythagoras-Baum

14.4.2.1.2. Mandelbrot-Menge / Julia-Menge

14.4.2.1.3. Koch-Kurve

14.4.2.1.4. Sierpinksi-Dreieck

14.4.2.1.5. Menger-Schwamm

14.5. Zweck

14.5.1. "Zerpflücken" eines Problems

14.5.1.1. Zerlegen in atomare, autonom lösbare Probleme

14.5.2. Zurückverfolgen eines Problems zu seinem Ursprung

15. Legende/Farben

15.1. Edris & Dennis

15.1.1. Edris & Dennis

15.2. Emre+Luis

15.3. RobertK+Tim

15.4. Ben+Timo

15.5. Jonas+Max

15.6. Alex+Martin

16. Kryptographie (Daniel & Robert R.)

16.1. Hybride Kryptosysteme

16.1.1. Kombination aus symmetrischen & asymmetrischen Kryptosystemen

16.2. Asymmetrische Kryptosysteme/ Public-Key-Verfahren

16.2.1. Protokolle

16.2.1.1. SSH

16.2.1.2. TLS

16.2.2. Anwendung

16.2.2.1. E-Mail

16.2.2.2. Online Banking

16.2.3. Verfahren

16.2.3.1. Public Key zum Verschlüsseln

16.2.3.2. Private Key zum Entschlüsseln

16.2.3.3. Algorithmen

16.2.3.3.1. RSA

16.2.3.3.2. AES

16.2.3.3.3. Camellia

16.2.4. hoher Rechenaufwand -> langsamer

16.3. Symmetrische Kryptosysteme

16.3.1. Private Key zum Ver & Entschlüsseln

16.3.2. Transposition

16.3.2.1. Gartenzaun

16.3.2.2. Skytale

16.3.3. Substitution

16.3.3.1. monoalphabetische Substitution

16.3.3.1.1. Caesar-Verschlüsselung

16.3.3.2. polyalphabetische Substitution

16.3.3.2.1. Vigenère-Verschlüsselung

16.4. Geschichte

16.4.1. Kryptographie im Zweiten Weltkrieg

16.4.1.1. Enigma

16.4.2. klassische Kryptographie

16.4.2.1. Caesar-Verschlüsselung

16.4.3. moderne Kryptographie (Computergestützt)

17. Entwurfs- und Implementationsdiagramme (Ben & Timo)

17.1. Entwurfsdiagramme

17.2. Vererbung

17.3. Assoziation

17.3.1. Multiplizitäten

17.4. Implementationsdiagramme

17.4.1. Objektkarte

17.4.2. Klassenkarte

18. Mensch-Computer-Interaktion (Robert R. & Daniel)

18.1. erforscht Schnittstelle zwischen Mensch (Anwender) & Computer

18.1.1. Design

18.1.2. Umsetzung

18.1.3. Auswertung

18.1.4. Ziel: benutzergerechtes, intuitives Display

18.2. 13 Prinzipien des Display Design

18.2.1. Wahrnehmungsprinzipien

18.2.1.1. Displays sollen lesbar sein

18.2.1.2. Unterschiede sollen deutlich erkennbar sein

18.2.1.3. Ähnlichkeit führt zu Verwirrung

18.2.1.4. Top-down processing

18.2.1.5. Redundanz

18.2.2. Grundsätze auf der Grundlage der Aufmerksamkeit

18.2.2.1. Minimiere den Aufwand an Informationen zu gelangen

18.2.2.2. Prinzip der verschiedenen Ressourcen

18.2.2.3. Prinzip der Kompatibilität naher Objekte

18.2.3. Prinzipien basierend auf dem Gedächnis

18.2.3.1. Prinzip der Konsistenz

18.2.3.2. Prinzip der Proaktivität

18.2.3.3. Visuelle Informationen anstelle des Gedächnis des Benutzers

18.2.4. Mentale Modellprinzipien

18.2.4.1. Prinzip des bildlichen Realismus

18.2.4.2. Prinzip der bewegenden Teile

19. Automatentheorie (Edris & Dennis)

19.1. Funktion

19.2. Formale Sprache

19.3. Komplementärautomat

19.4. Reguläre Ausdrücke

19.5. Potenzmengenkonstruktion

19.6. Schneller Markierungsalgorithmus

19.7. Determinismus

19.8. Grammatiken

19.9. Kellerautomat

19.9.1. Hilfreiches Video