Informatik Abitur 2017

Jetzt loslegen. Gratis!
oder registrieren mit Ihrer E-Mail-Adresse
Informatik Abitur 2017 von 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. Abiturklausur 2014 (Daniel & Robert R.)

5. Abiturklausur 2015 (Lea + Marie)

6. Operatoren-Liste (Lea + Marie)

7. Polymorphie (Tim)

7.1. Beispiel in Java

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

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

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

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

7.2. Was ist Polymorphie?

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

7.2.2. Zweck: Bezeichner soll unterschiedliche Datentypen akzeptieren.

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

8. Suchen (Robert K. + Tim)

8.1. lineare Suche

8.1.1. Anzahl der Vergleiche

8.1.1.1. Worst Case

8.1.1.1.1. O(n)= n

8.1.1.2. Best Case

8.1.1.2.1. O(n) = 1

8.1.1.3. Average Case

8.1.1.3.1. O(n) = n/2

8.2. Binäre Suche

8.2.1. Anzahl der Vergleiche

8.2.1.1. Worst Case

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

8.2.1.2. Best Case

8.2.1.2.1. O(n) = 1

8.2.1.3. Average Case

8.2.1.3.1. O(n) = log2(n)

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

8.2.2.1. Zu suchender Wert < mittleres Element

8.2.2.1.1. Begrenzung des Suchbereiches auf dessen linke Hälfte

8.2.2.2. Zu suchender Wert > mittleres Element

8.2.2.2.1. Begrenzung des Suchbereiches auf dessen rechte Hälfte

9. Abiklausur 2016 (Edris + Dennis)

9.1. Alt

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

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

9.2. Neu

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

10. Vererbung (Luis, Emre)

10.1. extends

10.2. Vererbung von Methoden und Variabeln

10.3. Abstrakte Methoden & Klassen

10.3.1. super-Methode

10.4. Klassen

10.4.1. Objekte

10.5. Attribute

10.5.1. protected

10.5.2. private

10.5.3. public

11. Backtracking (Luis, Emre)

11.1. Rekursion

11.2. N Damen Problem

11.2.1. Zwei- und eindimensionales Array

12. Rekursion (Robert K.)

12.1. Iteration [das Gegenstück zur Rekursion]

12.1.1. Wiederholen ein und desselben Prozesses

12.1.1.1. z.B. durch gewöhnliche Schleifen

12.2. Abbruchbedingung

12.3. Selbstaufruf

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

12.4. Beispiele

12.4.1. Mathematik

12.4.1.1. Fibonacci-Folge

12.4.1.2. Summenbildung / Summenformel

12.4.1.3. Pascal'sches Dreieck

12.4.1.3.1. n über k

12.4.1.4. n hoch k

12.4.2. Rekursive Grafiken

12.4.2.1. Fraktale

12.4.2.1.1. Pythagoras-Baum

12.4.2.1.2. Mandelbrot-Menge / Julia-Menge

12.4.2.1.3. Koch-Kurve

12.4.2.1.4. Sierpinksi-Dreieck

12.4.2.1.5. Menger-Schwamm

12.5. Zweck

12.5.1. "Zerpflücken" eines Problems

12.5.1.1. Zerlegen in atomare, autonom lösbare Probleme

12.5.2. Zurückverfolgen eines Problems zu seinem Ursprung

13. Legende/Farben

13.1. Edris & Dennis

13.1.1. Edris & Dennis

13.2. Emre+Luis

13.3. RobertK+Tim

13.4. Ben+Timo

13.5. Jonas+Max

13.6. Alex+Martin

14. Entwurfs- und Implementationsdiagramme (Ben & Timo)

14.1. Entwurfsdiagramme

14.2. Vererbung

14.3. Assoziation

14.3.1. Multiplizitäten

14.4. Implementationsdiagramme

14.4.1. Objektkarte

14.4.2. Klassenkarte

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

15.1. erforscht Schnittstelle zwischen Mensch (Anwender) & Computer

15.1.1. Design

15.1.2. Umsetzung

15.1.3. Auswertung

15.1.4. Ziel: benutzergerechtes, intuitives Display

15.2. 13 Prinzipien des Display Design

15.2.1. Wahrnehmungsprinzipien

15.2.1.1. Displays sollen lesbar sein

15.2.1.2. Unterschiede sollen deutlich erkennbar sein

15.2.1.3. Ähnlichkeit führt zu Verwirrung

15.2.1.4. Top-down processing

15.2.1.5. Redundanz

15.2.2. Grundsätze auf der Grundlage der Aufmerksamkeit

15.2.2.1. Minimiere den Aufwand an Informationen zu gelangen

15.2.2.2. Prinzip der verschiedenen Ressourcen

15.2.2.3. Prinzip der Kompatibilität naher Objekte

15.2.3. Prinzipien basierend auf dem Gedächnis

15.2.3.1. Prinzip der Konsistenz

15.2.3.2. Prinzip der Proaktivität

15.2.3.3. Visuelle Informationen anstelle des Gedächnis des Benutzers

15.2.4. Mentale Modellprinzipien

15.2.4.1. Prinzip des bildlichen Realismus

15.2.4.2. Prinzip der bewegenden Teile

16. Automatentheorie (Edris & Dennis)

16.1. Funktion

16.2. Formale Sprache

16.3. Komplementärautomat

16.4. Reguläre Ausdrücke

16.5. Potenzmengenkonstruktion

16.6. Schneller Markierungsalgorithmus

16.7. Determinismus

16.8. Grammatiken

16.9. Kellerautomat

16.9.1. Hilfreiches Video

17. Datenbanken (Jonas + Max)

17.1. ER-Diagramm

17.1.1. Entitäten

17.1.2. Attribute

17.1.3. Relationen

17.2. Tabelle

17.2.1. Tabellenname

17.2.2. Attribute

17.2.2.1. Schlüssel

17.2.2.1.1. Primärschlüssel

17.2.2.1.2. Fremdschlüssel

18. Sortieralgorithmen

18.1. Bubblesort (Lea + Marie)

18.2. Insertionsort (Lea + Marie)

18.3. Mergesort (Luis, Emre)

18.4. Quicksort (Luis, Emre)

19. Kryptographie (Daniel & Robert R.)

19.1. Hybride Kryptosysteme

19.1.1. Kombination aus symmetrischen & asymmetrischen Kryptosystemen

19.2. Asymmetrische Kryptosysteme/ Public-Key-Verfahren

19.2.1. Protokolle

19.2.1.1. SSH

19.2.1.2. TLS

19.2.2. Anwendung

19.2.2.1. E-Mail

19.2.2.2. Online Banking

19.2.3. Verfahren

19.2.3.1. Public Key zum Verschlüsseln

19.2.3.2. Private Key zum Entschlüsseln

19.2.3.3. Algorithmen

19.2.3.3.1. RSA

19.2.3.3.2. AES

19.2.3.3.3. Camellia

19.2.4. hoher Rechenaufwand -> langsamer

19.3. Symmetrische Kryptosysteme

19.3.1. Private Key zum Ver & Entschlüsseln

19.3.2. Transposition

19.3.2.1. Gartenzaun

19.3.2.2. Skytale

19.3.3. Substitution

19.3.3.1. monoalphabetische Substitution

19.3.3.1.1. Caesar-Verschlüsselung

19.3.3.2. polyalphabetische Substitution

19.3.3.2.1. Vigenère-Verschlüsselung

19.4. Geschichte

19.4.1. Kryptographie im Zweiten Weltkrieg

19.4.1.1. Enigma

19.4.2. klassische Kryptographie

19.4.2.1. Caesar-Verschlüsselung

19.4.3. moderne Kryptographie (Computergestützt)