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.3.2.2 Al­go­rith­men auf Da­ten­struk­tu­ren

Al­go­rith­men zur Ver­ar­bei­tung grö­ße­rer Da­ten­men­gen set­zen vor­aus, dass die Da­ten in ei­ner ge­eig­ne­ten Struk­tur vor­lie­gen. Für vie­le Al­go­rith­men spie­len da­bei die Grund­pro­ble­me Su­chen, Tra­ver­sie­ren und Sor­tie­ren ei­ne Rol­le.

Such­ver­fah­ren wer­den be­nutzt, um die Exis­tenz und die Po­si­ti­on ei­nes Ele­ments in ei­ner Da­ten­struk­tur zu er­mit­teln (zum Bei­spiel bei der Ar­ti­kel­su­che in ei­nem Web­shop, bei der Ruf­num­mern­su­che im Te­le­fon­buch, bei der We­bre­cher­che). Die Schü­le­rin­nen und Schü­ler ver­wen­den ab­hän­gig von der je­wei­li­gen Pro­blem­stel­lung und Da­ten­struk­tur (zum Bei­spiel Ar­ray, Baum) un­ter­schied­li­che Ver­fah­ren (li­nea­re und bi­nä­re Su­che, Brei­ten- und Tie­fen­su­che).

Sor­tier­ver­fah­ren spie­len in der In­for­ma­tik ei­ne gro­ße Rol­le, da vie­le Al­go­rith­men ef­fi­zi­en­ter ar­bei­ten, falls die Da­ten sor­tiert vor­lie­gen. Dies lässt sich mit­hil­fe von ein­fa­chen Sor­tier­ver­fah­ren wie Selec­tions­ort oder hö­he­ren Sor­tier­ver­fah­ren wie Quicks­ort lö­sen.

Für ein und das­sel­be Pro­blem gibt es oft­mals ver­schie­de­ne Lö­sungs­ver­fah­ren, die sich in Spei­cher- und Zeit­kom­ple­xi­tät so­wie – bei Nä­he­rungs­ver­fah­ren – in der Ge­nau­ig­keit der Lö­sung un­ter­schei­den. Ne­ben klas­si­schen Such- und Sor­tier­pro­ble­men wer­den auch kom­ple­xe­re Pro­blem­stel­lun­gen un­ter­sucht.

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

die li­nea­re Su­che auf Ar­ray und Lis­te im­ple­men­tie­ren

(2)

die bi­nä­re Su­che auf sor­tier­ten Ar­rays im­ple­men­tie­ren

(3)

Inor­der-, Pos­t­or­der- und Pre­or­der-Tra­ver­sie­rung auf Bi­när­bäu­men hän­disch durch­füh­ren und An­wen­dungs­bei­spie­le nen­nen

(4)

Brei­ten­su­che und Tie­fen­su­che auf Bäu­men be­schrei­ben und im­ple­men­tie­ren

(5)

ele­men­ta­re ver­gleichs­ba­sier­te Sor­tier­ver­fah­ren (Bub­ble­sort, Selec­tions­ort, In­ser­ti­ons­ort) be­schrei­ben, hän­disch durch­füh­ren und im­ple­men­tie­ren

(6)

hö­he­re ver­gleichs­ba­sier­te re­kur­si­ve Sor­tier­ver­fah­ren (Mer­ge­sort, Quicks­ort) be­schrei­ben, hän­disch durch­füh­ren und ei­nes da­von im­ple­men­tie­ren

(7)

ein nich­t-ver­gleichs­ba­sier­tes Ver­fah­ren (zum Bei­spiel Bu­cket­s­ort, Coun­ting­s­ort, Ra­dix­sort, …) be­schrei­ben

(8)

Sor­tier­ver­fah­ren hin­sicht­lich der Ei­gen­schaf­ten Lauf­zeit (in O-No­ta­ti­on), Spei­cher­be­darf und Sta­bi­li­tät ver­glei­chen und die Be­grif­fe best ca­se, worst ca­se und aver­a­ge ca­se er­läu­tern

(9)

Brei­ten­su­che und Tie­fen­su­che auf Gra­phen be­schrei­ben, auf rea­le Pro­blem­stel­lun­gen an­wen­den und hän­disch durch­füh­ren

(10)

ei­nen Al­go­rith­mus (zum Bei­spiel Prim, Krus­kal) zur Be­stim­mung ei­nes Mi­ni­mum Span­ning Tree und ei­nen zur Lö­sung des Pro­blems des kür­zes­ten Pfa­des (zum Bei­spiel Di­jk­s­tra, Bell­man-Ford) be­schrei­ben und an Bei­spie­len von Hand durch­füh­ren

(11)

er­läu­tern, dass nicht be­kannt ist, ob für je­des Pro­blem ei­ne in Po­ly­no­mi­al­zeit be­re­chen­ba­re Lö­sung exis­tiert, und kön­nen da­für Bei­spie­le an­ge­ben

(12)

Stra­te­gi­en (zum Bei­spiel Gree­dy) zur Be­stim­mung von Nä­he­rungs­lö­sun­gen in po­ly­no­mi­el­ler Lauf­zeit be­schrei­ben und an ge­eig­ne­ten Pro­blem­stel­lun­gen (zum Bei­spiel 4-Far­ben-Pro­blem, Do­mi­na­ting Sets) von Hand durch­füh­ren


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