Skip to main content

Fachschaft

Informatik

Der Fachbereich Informatik stellt sich vor

Dem Fach Informatik kommt in unserer fortschreitend digitalisierten Welt eine immer größere Bedeutung zu. Tagtäglich sind wir umgeben von jenen Systemen der Informationstechnologie.

Ziel ist es, unsere Schülerinnen und Schüler zu mündigen Bürgern dieser Informationsgesellschaft zu machen – weg vom reinen Konsum der Vorzüge dieser Welt hin zum mündigen “Digital Native”.

Einen ersten Grundstein legt hierbei das Fach Natur und Technik – Informatik in der 6. und 7. Jahrgangsstufe. Im Rahmen dieses Faches sollen erste Modellierungen der realen Welt sowie Einblicke in grundlegende Verfahrensweisen der Informatik auf spielerische Art und Weise gegeben werden. So werden beispielsweise mithilfe sogenannter blockbasierter, grafischer Programmiersprachen (z.B. Scratch) erste Algorithmen entworfen und auf Funktionalität getestet.

Im weiteren Verlauf können am JEG sehr viele Wahlfächer belegt werden, die einen Großteil der Teilgebiete der Informatik, angefangen bei praktischer Informatik über die technische Informatik bis hin zur theoretischen Informatik, abdecken. Wir bieten beispielsweise zum Einstieg in die praktische Informatik Wahlfächer in Robotik an, in denen die Schülerinnen und Schüler funktionsfähige Roboter bauen und entsprechend programmieren. Aber auch weiterführende Wahlkurse, wie beispielsweise der Wahlkurs Informationstechnologie, runden das Angebot ab.

Im neuen G9-Lehrplan ist die Informatik in der 11. Jahrgangsstufe fest verankert, wo dann interessante und hochaktuelle Gebiete wie Künstliche Intelligenz, Algorithmik, Kryptographie usw. thematisiert werden (siehe unten).

In der 12. und 13. Jahrgangsstufe kann das Fach Informatik dreistündig als “spät beginnende Informatik” gewählt werden und auch mündliches Abitur abgelegt werden.

Themen der einzelnen Jahrgangsstufen

Jahrgangsstufe 11

  • Algorithmik
    • Entwurf und Implementierung einfacher Algorithmen (visuelle oder textuelle Programmiersprache)
    • Nutzung vorhandener Datentypen (List, Array usw.)
    • Systematisches Testen
    • Analyse der Funktionsweise alltagsrelevanter Algorithmen (Such- und Sortieralgorithmen, Dijkstra-Algorithmus usw.)
  • Codierung und Verschlüsselung
    • Kennenlernen relevanter Codierungen von Informationen (Strichcode, RGB-Farbcode, QR-Code usw.)
    • Möglichkeiten der Validierung codierter Informationen (Checksum usw.)
    • Codierung und Decodierung natürlicher Zahlen binär und hexadezimal
    • Grundprinzipien symmetrischer und asymmetischer Codierung
    • Anwendung einfacher symmetrischer Verfahren (Cesar, Vigenère usw.) zur Ver- und Entschlüsselung sowie Implementierung des zugehörigen Algorithmus
    • Sicherheitsaspekte und mögliche Angriffe (Brute-Forceing usw.)
    • Funktionsweise einer digitalen Signatur
  • Kommunikation in Netzwerken, das Internet
    • Struktur und Funktionsweise des Internets, Adressierung von Geräten
    • Schichtenmodell zur Strukturierung der Kommunikationsvorgänge im Internet
    • Beschreibung des Zusammenspiel von Client und Server bei Webanwendungen
    • Chancen und Risiken des Internets
  • Künstliche Intelligenz
    • Definitionen und Grundideen des Begriffs AI
    • Maschinelles Lernen anhand eines ausgewählten Algorithmus (k-nächste-Nachbarn-Algorithmus, Entscheidungsbaum-Algorithmus usw.)
    • Analyse des Einflusses von Trainingsdaten und Parametern auf die Zuverlässigkeit der Ergebnisse eines Verfahrens maschinellen Lernens
    • Erläuterung der Funktionsweise eines künstlichen Neurons (Perzeptron) und Beschreibung des grundsätzlichen Aufbaus eines künstlichen neuronalen Netzes
    • Simulation eines künstlichen Neurons
    • Bewertung von Chancen und Risiken künstlicher Intelligenz für die Gesellschaft

Jahrgangsstufe 12 – spät beginnende Informatik

  • Objektorientierte Modellierung und Programmierung
    • Analyse von Objekten hinsichtlich ihrer Attribute und Methoden
    • Abstrahierung von Objekten zu Klassen
    • Deklaration von Klassen sowie zugehöriger Attribute und Methoden in einer objektorientierten Programmiersprache
    • Implementierung von Methoden aufgrund eigener oder gegebener Algorithmen
    • Analyse der Beziehungen von Objekten und Klassen und Modellierung in UML Objekt- bzw. Klassendiagrammen
    • Referenzierung
    • Modellierung und Implementierung von Generalisierung bzw. Vererbung
  • Rekursion
    • Analyse rekursiver Algorithmen, Vergleich von Rekursion und Iteration
    • Implementierung rekursiver Algorithmen (Berechnung des ggT, Erzeugung selbstähnlicher Figuren, Türme von Hanoi usw.)
  • Listen
    • Modellierung linearer Datenstrukturen mithilfe einfach verketteter Listen
    • Modellierung von Algorithmen für eine einfach verkettete Liste zum Einfügen bzw. Löschen von Elementen an beliebiger Stelle sowie zum Durchlaufen der Liste, um z.B. Elemente zu suchen oder zu verändern
    • Implementierung einfach verketteter Listen und der zugehörigen Algorithmen mithilfe einer objektorientierten Programmiersprache
  • Graphentheorie
    • Modellierung vernetzter Strukturen als Graphen und Klassifikation dieser anhand ihrer Eigenschaften
    • Implementierung der Datenstruktur “Graph” unter Verwendung einer Adjazenzmatrix
    • Modellierung und Anwendung des Algorithmus der Tiefensuche
    • Implementierung und Modifikation des Tiefensuche-Algorithmus
    • Analyse der Funktionsweise des Dijkstra-Algorithmus, Anwendung dessen an konkreten Beispielen
  • Informationssicherheit
    • Regelungen zum Datenschutz im Spannungsfeld zwischen den Persönlichkeitsrechten des Einzelnen und wirtschaftlichen sowie öffentlichen Interessen
    • Exemplarische Analyse eines Informatiksystems (z. B. Smartphone-App, Smarthome-System, Informatiksystem eines Unternehmens) hinsichtlich der Umsetzung wichtiger Schutzziele der Informationssicherheit
    • Arten der Gefährdung eines Informatiksystems
    • Schutzmaßnahmen
  • Praktische Softwareentwicklung, Projekt
    • Nutzung von vorhandenen Programmbibliotheken beispielsweise zur Implementierung einer GUI
    • Projektplanung anhand von Vorgehensmodellen, Vergleich verschiedener Arten (z.B. Wasserfallmodell und agile Softwareentwicklung)
    • Ausführung eines Softwareprojektes auf Basis einer einfachen Aufgabenstellung als Team eigenverantwortlich und arbeitsteilig

Jahrgangsstufe 13 – spät beginnende Informatik

  • Formale Sprachen und Automaten
    • Untersuchung formaler Sprachen aus dem Alltag sowie Formulierung der Regeln, nach denen die Menge der Wörter der jeweiligen Sprache gebildet wird
    • Definition von Grammatiken zur Erzeugung formaler Sprachen und Verwendung jener zur Notation der Produktionsregeln, insbesondere die Erweiterte Backus-Naur-Form (EBNF) und Syntaxdiagramme
    • Entwurf und Implementierung von endlichen Automaten (DEA, NEA) zum Erkennen regulärer Sprachen
    • Weitere Sprachen gemäß Chomsky-Hierarchie – damit wird bewusst, dass für die automatisierte Verarbeitung von nicht regulären Sprachen, wie z.B. höheren Programmiersprachen, das Modell des endlichen Automaten nicht ausreicht
  • Funktionsweise eines Rechners
    • Kennenlernen wesentlichen Komponenten eines Computersystems und Vergleich dieser mit der Von-Neumann-Architektur
    • Aufbau einer Registermaschine
    • Abarbeitung eines Programms durch eine Registermaschine und Beschreibung des zugrunde liegenden Algorithmus
    • Umsetzung einfacher Algorithmen in Assemblersprache und Testen dieser Programme mithilfe einer Registermaschinensimulation
  • Grenzen der Berechenbarkeit
    • Bewertung des Laufzeitaufwands von Algorithmen durch Zeitmessungen und Zählverfahren (z.B. Zählen der Aufrufe bei der Ausführung rekursiver Algorithmen, Zählen der zeitkritischen Anweisungen) 
    • Begründung, dass ein hoher Laufzeitaufwand sicherheitsrelevant sein kann, z.B. bei der Ermittlung eines Passworts mit dem Brute-Force-Verfahren
    • Exemplarische Erläuterung durch Plausibilitätsbetrachtungen zum Halteproblem, dass es Probleme gibt, die nicht automatisiert lösbar sind
  • Künstliche Intelligenz
    • Erklärung des prinzipiellen Aufbaus eines künstlichen neuronalen Netzes, Durchführung einer Forward Propagation zu gegebenen Eingabewerten und Beschreibung der Zielsetzung der Fehlerrückführung
    • Analyse unter Verwendung einer geeigneten Software des Einflusses von Trainingsdaten und Hyperparametern, insbesondere der Anzahl von Schichten und Neuronen, auf den Lernerfolg künstlicher neuronaler Netze
    • Beschreibung der Funktionsweise des k-Means-Algorithmus als Beispiel unüberwachten Lernens und Implementierung dessen für ein Beispiel
    • Analyse der Ergebnisse für verschiedene Eingabedaten, die der k-Means-Algorithmus in Abhängigkeit von k liefert
    • Grundprinzipien überwachten Lernens (supervised learning), unüberwachten Lernens (unsupervised learning) und bestärkenden Lernens (reinforcement learning)
    • Stellungnahme zu aktuellen Einsatzmöglichkeiten des maschinellen Lernens (z. B. Gesichtserkennung, Clustering von Kundendaten zu Marketingzwecken), indem Chancen und Risiken beschrieben werden und diese hinsichtlich individueller und gesellschaftlicher Verantwortung bewertet werden

Übersicht

Fachschaftsleitung

Ziegler, Chris-Angelo (StR)