NKSA | EF Informatik Mai 2016 Nicolas Ruh Maturastoff Ergänzungsfach Informatik Die im Folgenden angegebenen Fragen und Aufgaben dienen als Leitlinien zur Vorbereitung auf die Maturaprüfung. Zum einen geht es darum, dass Sie die fett gedruckten Begriffen und Konzepte verstehen und benutzen können (Definition, Beispiele, Analogien, Bezug zueinander), zum anderen sollten Sie solche oder ähnliche Fragen (a) präzise beantworten können, (b) ggf. Verbindungen zwischen den Fragen/Begriffen verstehen und aufzeigen können und (c) in der Lage sein, Ihr Wissen zum jeweiligen Themengebiet in praktischen Aufgaben (soweit im Unterricht behandelt) anzuwenden. Bei der mündlichen Matura werden Sie zu zwei Themen gefragt, die sich (grob) an die Verteilung in diesem Dokument richten werden (Abschnitte a – d). Zu jedem Thema werden zwei Serien zur Wahl stehen. a) Grundkonzepte des objektorientierten Programmierens (OOP) 1. Was ist eine Variable? 2. Wie werden Variablen in JAVA initialisiert? (Deklaration; Zuweisung) 3. Was ist ein Operator? (Vergleich, arithmetisch, unär) 4. Was ist ein Datentyp? 5. Welche einfachen Datentypen gibt es in JAVA? (Wertebereich, Speicherbedarf) 6. Wieso erfordern die meisten Programmiersprachen (z.B. JAVA) die Deklaration des Typs einer Variablen? 7. Was ist ein Array? (Deklaration, Eigenschaften) 8. Was ist ein Index? (wie indiziert man einen Array) 9. Was ist ein Stack? (Eigenschaften, Beispiel für Benutzung) 10. Was ist eine Datenstruktur? (Beispiele) 11. Was versteht man unter einer Klasse? (Kind-Klasse, Eltern-Klasse) 12. Was ist der Unterschied zwischen einer Klasse und einem Objekt? 13. Was ist eine Methode? 14. Was ist ein Methodenaufruf? (Syntax) 15. Was ist eine statische Methode/Klasse? 16. Was ist ein Konstruktor? 17. Aus welchen Bestandteilen setzt sich ein Methodenkopf in JAVA zusammen? 18. Was ist ein Parameter? (Übergabewert; Rückgabewert?) 19. Was ist eine Instanzvariable? 20. Was ist der Geltungsbereich einer Variablen? 21. Wie kontrolliert/beschränkt man die Sichtbarkeit von Methoden oder Variablen? 22. Was sind Schlüsselwörter? (Beispiele von JAVA) 23. Was ist eine Kontrollstruktur? (Beispiele, Funktionsweise, Syntax) 24. Welche Konventionen gelten für Formulierung und Layout von Java Code? NKSA | EF Informatik Mai 2016 Nicolas Ruh 25. Welche drei Fehlerarten können beim Programmieren auftreten? (was tut man dann?) 26. Was ist eine Iteration? 27. Was versteht man unter Rekursion? 28. Was ist ein Algorithmus? 29. Wovon ist die Laufzeit eines Algorithmus abhängig? 30. Welche wichtigen Komplexitätsklassen unterscheidet man gewöhnlich? 31. Wie bestimmt man die Komplexität eines Algorithmus in O-Notation? 32. Wie lassen sich Komplexitätsklassen in eine sinnvoll Ordnung bringen? 33. Worum geht es beim P-NP-Problem? 34. Was sind die Grundprinzipien des OOP? 35. Wodurch unterscheidet sich OOP vom prozeduralen Programmieren? 36. Was versteht man unter den Konzepten Datenkapselung und Information Hiding? (und was will man damit erreichen) 37. Was versteht man unter Vererbung? (und wozu ist es gut) 38. Was ist Polymorphismus? (und wozu ist es gut) 39. Was versteht man unter dem Überladen einer Methode? (und wozu ist es gut) 40. Was sind jUnit-Tests? 41. Was ist test-driven development? 42. Was versteht man in der Softwareentwicklung unter dem Wasserfall-Modell? 43. Was versteht man in der Softwareentwicklung unter iterative development? 44. Was ist ein UML-Klassendiagramm? (Bestandteile; und wozu ist es gut?) 45. Wie zeichnet man einfache Figuren mit Methoden der Turtle-Klasse? b) Algorithmen & Codes 46. Was ist ein Format? (und wozu ist es gut?) 47. Wie werden Formate gekennzeichnet? (Extension, header) 48. Was sind die expliziten und impliziten Bestandteile eines Formats? 49. Wie entwickelt man ein Speicherformat für ein einfaches Spiel? 50. Welche Prinzipien/Tricks machen sich übliche Grafikformate zunutze? (JPG, GIF, BMP, SVG) 51. Wie funktioniert der Dijkstra-Algorithmus? (Komplexität) 52. Was versteht man in der Informatik unter brute force? 53. Welche Sortieralgorithmen kennen sie? (Funktionsweise, Komplexität?) 54. Welche Suchalgorithmen kennen sie? (Funktionsweise, Komplexität?) 55. Was ist das Teile-und-Herrsche-Prinzip? (Beispiel) 56. Wie funktioniert Huffman-Komprimierung? (kodieren & dekodieren) 57. Wie funktioniert die Arithmetische Codierung? NKSA | EF Informatik Mai 2016 Nicolas Ruh 58. Was ist der Unterschied zwischen verlustfreier und verlustbehafteter Komprimierung? (Beispiele) 59. Was ist Blockkodierung? (Beispiel) 60. Was ist Frequenzkodierung? (Beispiel) 61. Was ist ein präfixfreier Code? (Beispiel) 62. Was versteht man unter der Entropie einer Bit-Sequenz? (wofür ist dieses Mass gut) 63. Was ist ein Codewort? 64. Wie funktioniert Fehlerkorrektur mit dem Hamming-Code? 65. Was ist eine (minimale) Hamming-Distanz? (Zusammenhang mit Korrekturleistung) 66. Was ist der Unterschied zwischen fehlererkennenden und fehlerkorrigierenden Codes? 67. Was ist eine Prüfsumme? (Beispiel, Eigenschaften, Zweck?) 68. Was ist Backtracking? (Beispiel) 69. Wie benutzt man einen gerichteten Graphen (Baum), um systematisch alle möglichen Lösungen zu generieren? (Beispiel) 70. Was ist Rekursion? (Beispiel, Vorteile) 71. Was versteht man unter „Monte Carlo Methode“? (Beispiel) 72. Was ist das grundlegende Problem der klassischen Kryptologie? 73. Was ist eine Einwegfunktion? (Beispiel, Analogie) 74. Was ist eine Einwegfunktion mit Trapdoor? (Beispiel, Analogie) 75. Wie funktioniert der Diffie-Hellman key exchange? (Analogie) 76. Wie unterscheiden sich symmetrische und asymmetrische Verschlüsselung? 77. Wie funktioniert RSA? (Analogie) 78. Wieso kann RSA als sicher gelten? 79. Was ist ein Struktogramm? (Bestandteile; und wozu ist es gut?) 80. Wie erstellt/liest man ein Struktogramm? c) Hardware 81. Welche Hardwarekomponenten gehören zu einem Computer und was ist ihre Aufgabe? (inkl. grober Kennwerte und physikalischer Funktionsweise) 82. Was ist ein Peripheriegerät? (Beispiele und deren Aufgaben) 83. Welche Arten von Speicher gibt es, wie funktionieren sie und was sind ihre Spezifikationen? (Problematik Speicherplatz vs. Geschwindigkeit) 84. Welche Arten von Erweiterungskarten gibt es und was sind ihre Aufgaben? 85. Welche Arten von externen Anschlüssen gibt es an heutigen Computern und was kann daran angeschlossen werden? 86. Was sind die wichtigsten Aufgaben des Betriebssystems? 87. Wie hängen Hardware, Betriebssystem und Anwendungssoftware zusammen? 88. Was ist ein BIOS und welches Problem löste es? (wie) NKSA | EF Informatik Mai 2016 Nicolas Ruh 89. Was ist das Philosophenproblem? (inkl. eine mögliche Lösung) 90. Was ist Process-Scheduling? (4 Varianten) 91. Welche unterschiedlichen Arten von Anwendungsprogrammen gibt es? (Programme mit/ohne Installation, Browserprogramme, Programme mit Runtime Environment) 92. Was ist die Von-Neumann-Architektur? (Bestandteile, Zusammenspiel) 93. Was ist der Fetch-Execute-Cycle? 94. Was ist eine Assembler-Sprache? 95. Was ist ein Bit? (physikalisch, logisch, als Zahl, als Informationsmenge) 96. Wie viele Bit ergeben ein Byte, Kb, Mb, Gb, Tb, ...? 97. Wie zählt man in einem Zahlensystemen mit einer anderen Basis als 10? (z.B. Binär, Hexadezimal, ...) 98. Wie rechnet man mit verschiedenen Zahlensystemen? (Addition, Subtraktion, Multiplikation, Umrechnung zwischen Zahlensystemen) 99. Wie repräsentieren Computer Zeichen? (ASCII, UNICODE) 100. Wie repräsentieren Computer Farben? (Farbtiefe, Farbkanäle, Farbräume, Hexadezimale Schreibweise) 101. Wie repräsentieren Computer Zahlen? (Ganzzahlen mit und ohne Vorzeichen, Festkommazahlen, Fliesskommezahlen; grösste und kleinste speicherbare Zahl des jeweiligen Typs, Speicherplatzbedarf) 102. Auf welchen drei grundlegenden logischen Funktionen, bzw. Schaltungen, baut die Funktionsweise eines Computers auf? 103. Wie funktionieren die üblichsten logischen Verknüpfungen? (AND, OR, NOT, XOR – Wahrheitstabellen, Symbole für Schaltungen, mathematische Schreibweise, Java) 104. Wie kann mit Strom gerechnet werden? (Halb- & Volladdierer; einfache Schaltungen erstellen, analysieren, vereinfachen) 105. Wie erstellt/analysiert man einfache logische Schaltungen? 106. Wie vereinfacht man einen logischen Term (Regeln von De Morgan)? d) Netzwerke 107. Was ist ein Schichtenmodell? (Vorteile, Beispiele) 108. Was ist ein Protokoll? (Beispiele, Definition) 109. Welche Informationen stehen im header üblicher TCP/IP Protokolle? 110. Wie spielen die Protokolle der TCP/IP-Familie zusammen? 111. Wie unterscheiden sich das TCP/IP- und das OSI-Schichtenmodell? 112. Mit welchen Adressarten arbeiten die TCP/IP-Protokolle? 113. Was ist ARP? (Zweck, wie funktioniert es?) 114. Was ist ein Ping? (wozu ist es gut?) 115. Was ist DNS? (Zweck, wie funktioniert es?) 116. Was versteht man in der Informatik unter einem Client/Server-Modell? (Alternative?) NKSA | EF Informatik Mai 2016 Nicolas Ruh 117. Wie funktioniert ein Hub? (Zweck, Schicht) 118. Wie funktioniert ein Switch? (Zweck, Schicht) 119. Wie funktioniert ein Router? (Zweck, Schicht) 120. Wie funktioniert Routing? 121. Was versteht man beim Routing unter Metrik? (Zweck?) 122. Wie erstellt/liest man Routingtabellen? 123. Was ist ein default gateway? 124. Was ist eine Subnetzmaske? (Zweck, Schreibweisen, Anzahl IPs) 125. Was ist IPv6? (Adressraum, Unterschied zu IPv4) 126. Welche Netzwerktopologien gibt es (Voraussetzungen, Vorteile?) 127. Welche Kategorien von Rechnernetzen gibt es? (wonach wird kategorisiert?) 128. Welche Arten der physikalischen Verbindung zwischen Rechnern gibt es? (Eigenschaften, grobe Kennwerte) 129. Wie funktioniert das Internet? (Die Alien-Frage ;) 130. Was ist eine URL? (Zweck, Bestandteile) *) Formale Sprachen (für Zusatzfragen) 131. Was ist eine Formale Sprache, was ein Wort derselben? 132. Was versteht man unter einer Grammatik, einem Automaten? 133. Wie sind Regular Expressions? 134. Was ist die Chomsky-Hierarchie? 135. Wie hängen Formalen Sprachen und Automaten zusammen? 136. Wie zeichnet man einen (deterministischen) Endlichen Automaten für eine gegebene reguläre Sprache? (oder für ein einfaches Gerät, z.B. Stoppuhr) 137. Welche Worte können von einer Kontextfreien Grammatik hervorgebracht werden? 138. Wie arbeitet eine Turing Maschine? 139. Was haben Turing Maschinen mit Berechenbarkeit zu tun?