Informatik (Schulversuch)
Leitgedanken zum Kompetenzerwerb
Prozessbezogene Kompetenzen zurücksetzen
  • 2.1 Strukturieren und Vernetzen
    • 2.1 Strukturieren und Vernetzen
    • mit dem Schulnetz (zum Beispiel Homeverzeichnis, Tauschverzeichnis, mobile Datenträger, Netzwerkdrucker) zielorientiert arbeiten
    • Dateien und Bezeichner (zum Beispiel für Variablen, Unterprogramme) aussagekräftig benennen
    • Beziehungen zwischen Daten/Objekten (zum Beispiel Hierarchien in Verzeichnisbäumen oder Stammbäumen, die Struktur des Internets, Verkehrsnetz als Graph) erkennen und erläutern
    • gleichartige Daten in geeigneten Datenstrukturen zusammenfassen (zum Beispiel Namensliste einer Klasse, Pixel einer Rastergrafik etc.)
    • Handlungsschritte chronologisch ordnen (auch aufgrund von kausalen Zusammenhängen)
    • Teillösungen zur Lösung des Gesamtproblems nutzen
    • Schnittstellen für Teilbereiche definieren, die unabhängig voneinander bearbeitet werden (zum Beispiel Gruppenarbeit, Protokolle bei Client-Server, Parameter und Rückgabewerte bei Unterprogrammen)
    • textuelle und grafische Modellierungssprachen zur Beschreibung und Entwicklung von Strukturen und Prozessen verwenden
    • ihre eigenen Arbeitsprozesse in Projekten planen und strukturieren, auf Abweichungen reagieren und den Verlauf dokumentieren
  • 2.2 Modellieren und Implementieren
    • 2.2 Modellieren und Implementieren
    • die für die Problemstellung relevanten Informationen herausarbeiten und fehlende beziehungsweise ergänzende Informationen beschaffen
    • für (Teil‑)Abläufe notwendige Eingabedaten und Ergebnisse beschreiben und in Form von Testfällen formalisieren
    • vorliegende Informationen für die Lösung geeignet aufbereiten (zum Beispiel durch Filtern, Reduktion, Kategorisieren)
    • charakteristische und verallgemeinerbare Bestandteile herausarbeiten (Abstraktion)
    • relevante Abläufe, Daten, Komponenten und ihre Beziehungen in informatischen Modellen darstellen
    • passende Komponenten, Strukturen und Lösungsstrategien für gegebene Problemstellungen auswählen und adaptieren
    • geeignete Programme und Hilfsmittel zur grafisch gestützten Modellierung einsetzen
    • unterschiedliche Perspektiven in die Entwicklung einer Lösung miteinbeziehen
    • Strukturen und Abläufe in einer Programmiersprache implementieren
    • geeignete Codebausteine aus verschiedenen Quellen auswählen, gegebenenfalls adaptieren und in eigene Programme einbauen und dabei rechtliche Rahmenbedingungen berücksichtigen
    • Programme gezielt gegen vorab formulierte Testfälle testen
    • Fehler in der Implementierung systematisch aufspüren und beheben
    • die Angemessenheit von Lösungen und die erreichten Resultate bewerten
  • 2.3 Kommunizieren und Kooperieren
    • 2.3 Kommunizieren und Kooperieren
    • fachspezifische Schreib- und Notationsweisen verwenden
    • Sachverhalte, eigene Ideen, Lösungswege und Ergebnisse zielgruppenorientiert und unter Beachtung der informatischen Terminologie erläutern und strukturiert darstellen
    • eigenen und fremden Programmcode in geeigneter Weise kommentieren und dokumentieren
    • vorhandene Dokumentationen und kommentierten Programmcode lesen und verstehen
    • arbeitsteilig als Team ihre Aufgaben planen, strukturieren, ausführen, reflektieren und präsentieren
    • zielorientiert auf einer vorhandenen Infrastruktur kommunizieren und geeignete digitale Werkzeuge zum kollaborativen Arbeiten verwenden
    • in Erarbeitung, Kooperation und Darstellung alltagsrelevante rechtliche Regelungen befolgen und verantwortungsvoll mit eigenen und fremden personenbezogenen Daten umgehen
    • charakteristische Merkmale verschiedener Kommunikationsformen (Mensch-Mensch, Mensch-Maschine, Maschine-Maschine) auf Gemeinsamkeiten und Unterschiede analysieren und deren gesellschaftliche Auswirkungen bewerten
    • Sicherheitsaspekte bei ihrem Kommunikationsverhalten berücksichtigen und die gesellschaftliche Relevanz von verschlüsselter Kommunikation reflektieren
    • Aspekte von Toleranz und Akzeptanz von Vielfalt im Kontext informatischer Fragestellungen diskutieren
  • 2.4 Analysieren und Bewerten
    • 2.4 Analysieren und Bewerten
    • durch Analyse (zum Beispiel „gezieltes Anwenden“/Blackbox oder auch Codebetrachtung/Whitebox) Erkenntnisse über das Verhalten von informatischen Systemen gewinnen
    • informatische Modelle mit der jeweiligen Realsituation vergleichen
    • unterschiedliche Lösungsansätze und Vorgehensweisen miteinander vergleichen und bewerten
    • Optimierungsbedarf ermitteln und gegebenenfalls Lösungswege optimieren
    • Kenntnisse über den inneren Ablauf informatischer Systeme im Alltag nutzen
    • Einsatzbereiche und Grenzen von Modellen erkennen
    • Entscheidungen auf der Grundlage informatischen Sachverstands treffen und diese sachgerecht begründen
    • Auswirkungen von Computersystemen auf Gesellschaft, Berufswelt und persönliches Lebensumfeld aus verschiedenen Perspektiven bewerten
    • im Zusammenhang einer digitalisierten Gesellschaft einen eigenen Standpunkt zu ethischen Fragen in der Informatik einnehmen und ihn argumentativ vertreten

Operatoren

Anhänge zu Fachplänen

3.1.2 Al­go­rith­men

Die Schü­le­rin­nen und Schü­ler ler­nen die Syn­tax der schon be­kann­ten al­go­rith­mi­schen Grund­bau­stei­ne in ei­ner tex­tu­el­len Pro­gram­mier­spra­che ken­nen.

Sie nut­zen Va­ria­blen mit un­ter­schied­li­chen Da­ten­ty­pen und auch Ar­rays zur Spei­che­rung und Ver­ar­bei­tung gleich­ar­ti­ger Da­ten. Sie nut­zen Un­ter­pro­gram­me mit Pa­ra­me­tern und Rück­ga­be­wer­ten, be­schrei­ben An­for­de­run­gen an Un­ter­pro­gram­me und ent­wer­fen ge­eig­ne­te Test­rou­ti­nen, um ih­re Im­ple­men­tie­run­gen da­ge­gen zu tes­ten. Sie un­ter­schei­den zwi­schen syn­tak­ti­schen und se­man­ti­schen Feh­lern. Sie ent­wi­ckeln Stra­te­gi­en, um feh­ler­frei­en Code zu schrei­ben und nut­zen auch die Mög­lich­kei­ten der Ent­wick­lungs­um­ge­bung.

Der Fo­kus liegt auf den grund­le­gen­den Sprach­ele­men­ten ei­ner tex­tu­el­len Pro­gram­mier­spra­che. Für spe­zi­el­le Auf­ga­ben­be­rei­che (zum Bei­spiel Ein- und Aus­ga­be von Text, Gra­fik, Sen­sor­ab­fra­gen) kön­nen ge­eig­ne­te Pro­gramm­bi­blio­the­ken zum Ein­satz kom­men.

Sie im­ple­men­tie­ren in­ter­ak­ti­ve Pro­gram­me mit ei­ner ein­fa­chen gra­fi­schen Be­nut­zer­schnitt­stel­le.

Die Schü­le­rin­nen und Schü­ler kön­nen

Klas­se 9*

(1)

Al­go­rith­men mit den Grund­bau­stei­nen An­wei­sung, Be­din­gung, Schlei­fe und Ver­zwei­gung so­wie un­ter Ver­wen­dung von Va­ria­blen in ei­ner ge­eig­ne­ten tex­tu­el­len Pro­gram­mier­spra­che im­ple­men­tie­ren

(2)

die Da­ten­ty­pen für Ganz­zahl, Gleit­kom­ma­zahl, Wahr­heits­wert und Zei­chen­ket­te be­schrei­ben und an­wen­den

(3)

lo­gi­sche Ver­kn­pü­fun­gen (UND, ODER, NICHT) in Be­din­gun­gen von Schlei­fen und Ver­zwei­gun­gen ver­wen­den und de­ren Wahr­heits­ta­feln an­ge­ben

(4)

Zu­falls­zah­len in ei­ge­nen Pro­gram­men ver­wen­den

(5)

Un­ter­pro­gram­me – auch mit Pa­ra­me­tern und Rück­ga­be­wer­ten – sinn­voll ver­wen­den

(6)

den Un­ter­schied zwi­schen ver­schie­de­nen Feh­ler­ar­ten (Com­pi­l­er­feh­ler/Lauf­zeit­feh­ler und syn­tak­tisch/se­man­tisch) er­läu­tern

(7)

vor­ge­ge­be­nen Code auf sei­ne Funk­ti­ons­wei­se hin ana­ly­sie­ren und des­sen Wir­kung be­schrei­ben

(8)

An­pas­sun­gen zu vor­ge­ge­be­nem Code im­ple­men­tie­ren

Klas­se 10*

(9)

vor­ge­ge­be­ne Pro­gramm­bi­blio­the­ken für ei­ge­ne Pro­gram­me sinn­voll ver­wen­den

(10)

Al­go­rith­men ent­wer­fen und im­ple­men­tie­ren, die Be­nut­zer­ein­ga­ben an­for­dern und aus­wer­ten

(11)

Pro­gramm­code im­ple­men­tie­ren, der Da­ten aus Da­tei­en ein­liest, ver­ar­bei­tet und in Da­tei­en schreibt (mit­tels ge­eig­ne­ter Bi­blio­the­ken)

(12)

Ar­rays zur Spei­che­rung und Ver­ar­bei­tung von Da­ten ver­wen­den

(13)

grund­le­gen­de Al­go­rith­men auf Ar­rays (zum Bei­spiel Fül­len mit Wer­ten, Ma­xi­mum­su­che, Sum­men­bil­dung, Bub­ble­sort) er­läu­tern und im­ple­men­tie­ren

(14)

Stra­te­gi­en (zum Bei­spiel De­bug­ger, schritt­wei­se Aus­füh­rung, Log­ging) an­wen­den, um das Ver­hal­ten von Pro­gramm­code zur Lauf­zeit zu be­ob­ach­ten

(15)

ein in­ter­ak­ti­ves Pro­gramm (zum Bei­spiel App, Web­an­wen­dung, Desk­to­pan­wen­dung) mit ei­ner ein­fa­chen gra­fi­schen Be­nut­zer­schnitt­stel­le (zum Bei­spiel mit But­tons, Text­ein­ga­be und Aus­ga­be) im­ple­men­tie­ren, je nach Spra­che un­ter Ver­wen­dung ge­eig­ne­ter (di­dak­ti­scher) Tool­kits un­d/o­der GUI-Buil­der

 

* Falls das Fach in den Klas­sen 9 und 10 ein­stün­dig un­ter­rich­tet wird


Umsetzungshilfen
Hinweis
Die Beispielcurricula, Synopsen und Kompetenzraster sind bei den inhaltsbezogenen Kompetenzen des jeweiligen Faches zu finden.