Suchfunktion
3.1.2 Algorithmen
Die Schülerinnen und Schüler lernen die Syntax der schon bekannten algorithmischen Grundbausteine in einer textuellen Programmiersprache kennen.
Sie nutzen Variablen mit unterschiedlichen Datentypen und auch Arrays zur Speicherung und Verarbeitung gleichartiger Daten. Sie nutzen Unterprogramme mit Parametern und Rückgabewerten, beschreiben Anforderungen an Unterprogramme und entwerfen geeignete Testroutinen, um ihre Implementierungen dagegen zu testen. Sie unterscheiden zwischen syntaktischen und semantischen Fehlern. Sie entwickeln Strategien, um fehlerfreien Code zu schreiben und nutzen auch die Möglichkeiten der Entwicklungsumgebung. Für spezielle Aufgabenbereiche (zum Beispiel Ein- und Ausgabe von Text, Grafik, Sensorabfragen) können geeignete Programmbibliotheken zum Einsatz kommen.
Mit der Objektorientierten Programmierung (OOP) lernen die Schülerinnen und Schüler ein weiteres Programmierparadigma kennen. Sie implementieren eigene Klassen und regeln den Zugriff auf Attribute mithilfe von Zugriffsmethoden (Datenkapselung/Geheimnisprinzip). Sie nutzen Assoziation und Vererbung zur Modellierung und Implementierung von Klassenbeziehungen.
Sie implementieren interaktive Programme mit einer einfachen grafischen Benutzerschnittstelle.
Die Schülerinnen und Schüler können |
Strukturierte Programmierung |
(1)
Algorithmen mit den Grundbausteinen Anweisung, Bedingung, Schleife und Verzweigung sowie unter Verwendung von Variablen in einer geeigneten textuellen Programmiersprache implementieren |
BP2016BW_ALLG_GYM_IMP_IK_9_01_02_01, BP2016BW_ALLG_GYM_INF_IK_01_02_00_01, BP2016BW_ALLG_GYM_INFWFO_PK_02_09, BP2016BW_ALLG_GYM_INF7_IK_7_02_00_01, BP2016BW_ALLG_GYM_INF7_IK_7_02_00_05
Verweise auf inhaltsbezogene Kompetenzen |
(2)
Logische Verknüpfungen (UND, ODER, NICHT) in Bedingungen von Schleifen und Verzweigungen verwenden |
BP2016BW_ALLG_GYM_INFWFO_IK_11-12_03_00_07
Verweise auf inhaltsbezogene Kompetenzen
|
(3)
die Begriffe Variable, Bezeichner, Datentyp, Wert, Deklaration, Initialisierung, Wertzuweisung und Gültigkeitsbereich erläutern |
BP2016BW_ALLG_GYM_INFWFO_PK_01_02, BP2016BW_ALLG_GYM_INF_IK_11-12-BF_02_01_01
Verweise auf inhaltsbezogene Kompetenzen |
(4)
primitive Datentypen für ganzzahlige Werte, Gleitkommawerte und boolesche Werte unter Beachtung ihres Wertebereichs verwenden |
BP2016BW_ALLG_GYM_INFWFO_PK_01_02, BP2016BW_ALLG_GYM_INFWFO_IK_11-12_01_00_01, BP2016BW_ALLG_GYM_INF_IK_11-12-BF_02_01_02
Verweise auf inhaltsbezogene Kompetenzen
Verweise auf inhaltsbezogene Kompetenzen |
(5)
implizite und explizite Typumwandlungen (type casts) zur Konvertierung von Werten unterschiedlicher Datentypen ineinander verwenden und dabei auftretende Probleme beschreiben |
BP2016BW_ALLG_GYM_INF_IK_11-12-BF_02_01_03, BP2016BW_ALLG_GYM_INF_IK_11-12-LF_02_01_03
Verweise auf inhaltsbezogene Kompetenzen |
(6)
Operationen auf Zeichenketten durchführen (unter anderem Verketten) |
BP2016BW_ALLG_GYM_INF_IK_11-12-BF_02_01_04
Verweise auf inhaltsbezogene Kompetenzen |
(7)
Zufallszahlen in eigenen Programmen verwenden |
BP2016BW_ALLG_GYM_IMP_IK_9_01_02_03, BP2016BW_ALLG_GYM_INF_IK_01_02_00_04, BP2016BW_ALLG_GYM_M_IK_9-10_05_00
|
(8)
Unterprogramme – auch mit Parametern und Rückgabewerten – sinnvoll verwenden |
BP2016BW_ALLG_GYM_INFWFO_PK_01_02, BP2016BW_ALLG_GYM_INFWFO_PK_01_07, PG_02, BP2016BW_ALLG_GYM_INFWFO_PK_01_06, BP2016BW_ALLG_GYM_IMP_IK_9_01_02_06, BP2016BW_ALLG_GYM_INF_IK_01_02_00_05, BP2016BW_ALLG_GYM_INFWFO_PK_02_06
Verweise auf inhaltsbezogene Kompetenzen |
(9)
den Unterschied zwischen verschiedenen Fehlerarten (Compilerfehler/Laufzeitfehler und syntaktisch/semantisch) erläutern |
BP2016BW_ALLG_GYM_D_IK_9-10_02_01, BP2016BW_ALLG_GYM_IMP_IK_9_01_02_08, BP2016BW_ALLG_GYM_IMP_IK_9_01_02_09, BP2016BW_ALLG_GYM_INF_IK_01_02_00_06
Verweise auf inhaltsbezogene Kompetenzen |
(10)
vorgegebenen Code auf seine Funktionsweise hin analysieren und dessen Wirkung beschreiben |
BP2016BW_ALLG_GYM_INFWFO_PK_01_03, MB_02, BP2016BW_ALLG_GYM_INFWFO_PK_02_04, BP2016BW_ALLG_GYM_INFWFO_PK_04_01, BP2016BW_ALLG_GYM_IMP_IK_9_01_02_11, BP2016BW_ALLG_GYM_INF_IK_01_02_00_07, BP2016BW_ALLG_GYM_INFWFO_PK_03_04
Verweise auf inhaltsbezogene Kompetenzen |
(11)
Algorithmen in den Notationsformen Nassi-Shneiderman-Diagramm und Pseudocode darstellen und interpretieren |
BP2016BW_ALLG_GYM_INF_IK_11-12-BF_02_01_19, BP2016BW_ALLG_GYM_INFWFO_PK_01_05, BP2016BW_ALLG_GYM_INFWFO_PK_03_02, BP2016BW_ALLG_GYM_INFWFO_PK_03_03, BP2016BW_ALLG_GYM_INFWFO_PK_03_01, BP2016BW_ALLG_GYM_INFWFO_PK_02_07, BP2016BW_ALLG_GYM_INFWFO_PK_02_05, BP2016BW_ALLG_GYM_INFWFO_PK_01_08
Verweise auf inhaltsbezogene Kompetenzen |
(12)
Anpassungen zu vorgegebenem Code implementieren |
BP2016BW_ALLG_GYM_IMP_IK_9_01_02_12, BP2016BW_ALLG_GYM_INF_IK_01_02_00_08, BP2016BW_ALLG_GYM_INFWFO_PK_01_03, BP2016BW_ALLG_GYM_INFWFO_PK_04_04, BP2016BW_ALLG_GYM_INFWFO_PK_02_09, BP2016BW_ALLG_GYM_INFWFO_PK_02_04, BP2016BW_ALLG_GYM_INFWFO_PK_02_10, BP2016BW_ALLG_GYM_INFWFO_PK_02_06, BP2016BW_ALLG_GYM_INFWFO_PK_03_04
|
(13)
vorgegebene Programmbibliotheken für eigene Programme sinnvoll verwenden |
PG_02, BP2016BW_ALLG_GYM_INF_IK_01_02_00_09, BP2016BW_ALLG_GYM_INFWFO_PK_03_04
Verweise auf inhaltsbezogene Kompetenzen |
(14)
Algorithmen entwerfen und implementieren, die Benutzereingaben anfordern und auswerten |
BP2016BW_ALLG_GYM_IMP_IK_9_01_02_16, BP2016BW_ALLG_GYM_INF_IK_01_02_00_10, BP2016BW_ALLG_GYM_INFWFO_PK_01_05, BP2016BW_ALLG_GYM_INFWFO_PK_01_07, BP2016BW_ALLG_GYM_INFWFO_PK_02_09
Verweise auf inhaltsbezogene Kompetenzen |
(15)
Programmcode implementieren, der Daten aus Dateien einliest, verarbeitet und in Dateien schreibt (mittels geeigneter Bibliotheken) |
BP2016BW_ALLG_GYM_IMP_IK_9_01_02_17, BP2016BW_ALLG_GYM_INF_IK_01_02_00_11, BP2016BW_ALLG_GYM_INFWFO_PK_01_07, BP2016BW_ALLG_GYM_INFWFO_PK_03_04
Verweise auf inhaltsbezogene Kompetenzen |
(16)
Arrays zur Speicherung und Verarbeitung von Daten verwenden |
BP2016BW_ALLG_GYM_IMP_IK_9_01_02_04, BP2016BW_ALLG_GYM_INF_IK_01_02_00_12
|
(17)
grundlegende Algorithmen auf Arrays (zum Beispiel Füllen mit Werten, Maximumsuche, Summenbildung, Bubblesort) erläutern und implementieren |
BP2016BW_ALLG_GYM_IMP_IK_9_01_02_05, BP2016BW_ALLG_GYM_INF_IK_01_02_00_13
Verweise auf inhaltsbezogene Kompetenzen |
(18)
elementare vergleichsbasierte Sortierverfahren (Bubblesort, Selectionsort, Insertionsort) beschreiben, händisch durchführen und eines davon implementieren |
BP2016BW_ALLG_GYM_INFWFO_PK_02_11, BP2016BW_ALLG_GYM_INFWFO_PK_02_09, BP2016BW_ALLG_GYM_INF_IK_11-12-BF_02_02_05, BP2016BW_ALLG_GYM_INFWFO_PK_04_03
Verweise auf inhaltsbezogene Kompetenzen |
(19)
Strategien (zum Beispiel Debugger, schrittweise Ausführung, Logging) anwenden, um das Verhalten von Programmcode zur Laufzeit zu beobachten |
BP2016BW_ALLG_GYM_INFWFO_PK_02_12, PG_02, BP2016BW_ALLG_GYM_IMP_IK_9_01_02_14, BP2016BW_ALLG_GYM_INF_IK_01_02_00_14, BP2016BW_ALLG_GYM_INFWFO_PK_04_01
Verweise auf inhaltsbezogene Kompetenzen |
|
Objektorientierte Programmierung |
(20)
eigene Klassendefinitionen mit Attributen und Methoden implementieren |
BP2016BW_ALLG_GYM_INFWFO_PK_01_02, BP2016BW_ALLG_GYM_INFWFO_PK_01_07, BP2016BW_ALLG_GYM_INF_IK_11-12-BF_02_01_05
Verweise auf inhaltsbezogene Kompetenzen |
(21)
Referenzvariablen/Referenztypen mit primitiven Variablen / primitiven Datentypen vergleichen |
BP2016BW_ALLG_GYM_INF_IK_11-12-BF_02_01_06
Verweise auf inhaltsbezogene Kompetenzen |
(22)
Methoden mit und ohne Rückgabewert sowie mit und ohne Parameter implementieren und den Begriff der Methodensignatur erläutern |
BP2016BW_ALLG_GYM_INFWFO_PK_01_02, BP2016BW_ALLG_GYM_INF_IK_11-12-BF_02_01_08, BP2016BW_ALLG_GYM_INFWFO_PK_01_07, BP2016BW_ALLG_GYM_INFWFO_PK_02_09, BP2016BW_ALLG_GYM_INFWFO_PK_03_03, BP2016BW_ALLG_GYM_INFWFO_PK_03_01, BP2016BW_ALLG_GYM_INFWFO_PK_03_04
Verweise auf inhaltsbezogene Kompetenzen |
(23)
die Funktion von Zugriffsmodifikatoren (public, private, protected) erläutern und diese verwenden |
BP2016BW_ALLG_GYM_INF_IK_11-12-BF_02_01_09
Verweise auf inhaltsbezogene Kompetenzen |
(24)
die Kapselung von Attributen und Methoden (Geheimnisprinzip) erläutern und in eigenen Implementierungen verwenden (unter anderem Zugriff auf Attribute über Zugriffsmethoden) |
BP2016BW_ALLG_GYM_INFWFO_PK_01_07, BP2016BW_ALLG_GYM_INF_IK_11-12-BF_02_01_10
Verweise auf inhaltsbezogene Kompetenzen |
(25)
die Rolle von Konstruktoren beim Erzeugen von Instanzen einer Klasse (Objekten) erläutern und diese implementieren |
BP2016BW_ALLG_GYM_INFWFO_PK_01_07, BP2016BW_ALLG_GYM_INF_IK_11-12-BF_02_01_13
Verweise auf inhaltsbezogene Kompetenzen |
(26)
das Konzept der Vererbung erläutern und in Modellierungen und Implementierungen anwenden |
BP2016BW_ALLG_GYM_INFWFO_PK_01_03, BP2016BW_ALLG_GYM_INFWFO_PK_02_09, BP2016BW_ALLG_GYM_INFWFO_PK_02_04, BP2016BW_ALLG_GYM_INF_IK_11-12-BF_02_01_16
Verweise auf inhaltsbezogene Kompetenzen |
(27)
UML-Klassendiagramme mit Vererbung und Assoziation entwerfen und zur Modellierung nutzen |
BP2016BW_ALLG_GYM_INFWFO_IK_11-12_01_00_11, BP2016BW_ALLG_GYM_INFWFO_PK_01_03, BP2016BW_ALLG_GYM_INFWFO_PK_01_07, BP2016BW_ALLG_GYM_INF_IK_11-12-BF_02_01_20, BP2016BW_ALLG_GYM_INFWFO_PK_02_04, BP2016BW_ALLG_GYM_INFWFO_PK_02_01, BP2016BW_ALLG_GYM_INFWFO_PK_03_01, BP2016BW_ALLG_GYM_INFWFO_PK_02_07, BP2016BW_ALLG_GYM_INFWFO_PK_02_05, BP2016BW_ALLG_GYM_INFWFO_PK_01_08
Verweise auf inhaltsbezogene Kompetenzen
Verweise auf inhaltsbezogene Kompetenzen |
(28)
ihren Programmcode nach gängigen Standards kommentieren und dazu vorhandene Hilfsmittel der Entwicklungsumgebung nutzen |
MB_04, PG_02, BP2016BW_ALLG_GYM_INFWFO_PK_03_03, BP2016BW_ALLG_GYM_INFWFO_PK_02_02, BP2016BW_ALLG_GYM_INFWFO_PK_03_01, BP2016BW_ALLG_GYM_INF_IK_11-12-BF_02_01_21
Verweise auf inhaltsbezogene Kompetenzen |
(29)
Dokumentationen zu gegebenem Quellcode und Bibliotheken nutzen |
BP2016BW_ALLG_GYM_INF_IK_11-12-BF_02_01_22, MB_04, PG_02, BP2016BW_ALLG_GYM_INFWFO_PK_02_01, BP2016BW_ALLG_GYM_INFWFO_PK_02_10, BP2016BW_ALLG_GYM_INFWFO_PK_02_06, BP2016BW_ALLG_GYM_INFWFO_PK_03_04
Verweise auf inhaltsbezogene Kompetenzen |
(30)
ein interaktives Programm (zum Beispiel App, Webanwendung, Desktopanwendung) mit einer einfachen grafischen Benutzerschnittstelle (zum Beispiel mit Buttons, Texteingabe und Ausgabe) implementieren, je nach Sprache unter Verwendung geeigneter (didaktischer) Toolkits und/oder GUI-Builder |
BO_03, BO_01, BP2016BW_ALLG_GYM_INFWFO_PK_02_12, MB_05, VB_06, PG_02, BP2016BW_ALLG_GYM_IMP_IK_10_01_02_03, BP2016BW_ALLG_GYM_INF_IK_01_02_00_15, BP2016BW_ALLG_GYM_INFWFO_PK_02_10, BP2016BW_ALLG_GYM_INFWFO_PK_01_09, BP2016BW_ALLG_GYM_INFWFO_PK_02_06
Verweise auf inhaltsbezogene Kompetenzen |
|