Computerprogrammierung in 4 Schritten

Auf der Sekundarstufe werden Konzepte und Praktiken der Kerninformatik (CS) in Kursen vermittelt, die typischerweise im Karrierecluster Information Technology (IT) unter dem Dach von Career and Technical Education (CTE). Diese Konzepte und Praktiken werden jedoch zunehmend auch in die Wissenschaft und auch in die Wahlfächer einbezogen (und von Kunst und Design beeinflusst).

Unabhängig von der Disziplin ist das Erstellen von Rechenartefakten eine der zentralen CS-Praktiken, die Schüler konsequent erleben sollten, um bessere Problemlöser zu werden. Computerartefakte können Bilder, Videos, Präsentationen, Audiodateien und Computerprogramme umfassen.

Präzise und konsistente Praxis in der Computerprogrammierung (CP) wird den Studierenden helfen, lehrplanübergreifendes Wissen im Tandem mit akademischen und CS-Konzepten und -Praktiken zu konstruieren. Da CP der Prozess des Schreibens eines Programms von Anfang bis Ende ist, erhalten die Schüler Exposition in der Verschmelzung von Praktiken 3-6 in der K-12 Informatik Rahmen gefunden.

Wie können wir also Studenten erfolgreich in CP einbinden? Hier ist, wie wir dies in vier großen Schritten tun können.

vier Schritte

Schritt 1: Identifizieren Sie das Problem

Wenn Schüler neu in CP sind, bringen wir ihnen normalerweise das Programmieren und Codieren mithilfe von Tutorials bei. Obwohl daran nichts auszusetzen ist, wollen wir sie nicht dort behalten.

Normalerweise hat der Autor eines Tutorials bereits das Problem und die Lösung des Programms identifiziert. Der beste Weg für Kinder zu lernen ist, ihre eigenen Probleme und Lösungen zu schreiben und ihre eigenen Programme zu erstellen. Andernfalls konzentrieren sie sich mehr auf das Erlernen des Codierens bestimmter Funktionen in einer bestimmten Sprache, was sich im Allgemeinen nicht vom Auswendiglernen unterscheidet, das durch die Entwicklung des Arbeitsgedächtnisses ersetzt werden sollte.

Das Problem zu identifizieren (oder zu definieren) ist der kritischste Teil des CP-Prozesses, da die Schüler einen konkreten Plan für ihr komplettes Programm entwickeln müssen. Dieser Prozess beinhaltet die Identifizierung sowohl der bekannten Eingänge (oder gegebenen Daten) als auch dessen, was über Ausgänge (das Ergebnis) erhalten werden soll. Obwohl CP kein einfacher Prozess ist, wird konsequentes und präzises Üben im Laufe der Zeit das Vertrauen der Schüler in die Artikulation der Details über die Art der Eingabe, Verarbeitung und Ausgabe, die für ihre Programme gewünscht wird, stärken. Um den Schülern den Einstieg in die Programmierung zu erleichtern, lesen Sie diese großartige Einführung in eine Lektion zum Erstellen und Freigeben von Apps von Code.org .

Schritt 2: Lösung finden

Um die Lösung des in Schritt 1 identifizierten Problems zu finden oder zu planen, können die Schüler entweder ein Flussdiagramm erstellen oder Pseudocode schreiben. Erfahrene Programmierer können und werden eine dieser Methoden verwenden, um Kunden, Lehrern usw. die Programmentwicklung zu vermitteln.

Ein Flussdiagramm ist eine schrittweise Lösung eines Problems, das eine bildliche Darstellung der Richtung des Programms verwendet und aus Pfeilen, Kästchen und anderen Symbolen besteht, die Aktionen darstellen (d. H. Eingabe / Ausgabe, Prozess usw.). Pseudocode ähnelt Englisch und wird verwendet, um die Lösung genauer zu vermitteln als in einfachem Englisch — aber mit weniger Akribie, die eine formale Programmiersprache erfordert.

Der Lösungsprozess ermöglicht es dem Programmierer, sich auf den logischen Ablauf des Programms zu konzentrieren, ohne sich an die tatsächliche Syntax halten zu müssen, die von der Programmiersprache für das Projekt verwendet wird. Schauen Sie sich diese unterhaltsame Technovations-Lektion an, um Ihren Schülern bei der Planung ihres Codes zu helfen.

Schritt 3: Code es

Oft codierung ist verwirrt mit programmierung, aber codierung ist nur ein teil der programmierung prozess. Gute Programmierer können Anweisungen aus den Lösungen erstellen (siehe Schritt 2) und sie in Code schreiben, den der Computer verstehen kann. Hier kommen die algorithmischen Designfähigkeiten aus dem Computational Thinking ins Spiel.

Es hilft, wenn Sie Ihr Problem als mathematisches Problem betrachten, nicht weil Sie beim Programmieren immer viel rechnen, sondern weil der Denkprozess derselbe ist. In der Mathematik verwenden wir häufig algorithmische Befehlssätze, denen wir in einer Abfolge von Schritten folgen, um ein Ziel zu erreichen. Dieser Prozess wird sowohl mit einem detaillierten Flussdiagramm als auch mit Code (in einer bestimmten Programmiersprache) verglichen.

Das Üben des Codierens hilft den Schülern zu verstehen, dass das Codieren nicht kompliziert ist, wenn sie lernen, logisch und schrittweise zu denken. Wenn die Schüler mit dem Schreiben einfacher Programme beginnen, lernen sie, wie man Computern Anweisungen gibt, wie Computer tatsächlich funktionieren und dass gute Programmierer nicht vage sind und keine Schritte überspringen. Sie werden auch verstehen, dass der Code, den sie schreiben, von einem Compiler zur Ausführung in Maschinensprache verarbeitet (übersetzt) wird.

Für Kinder, die neu in der Programmierung sind, empfehle ich, mit einer visuellen Programmiersprache (VPL) zu beginnen, die es Kindern ermöglicht, ihre Algorithmen anhand von Illustrationen zu beschreiben und den Prozess in für sie sinnvollen Begriffen zu beschreiben.

Hier sind einige beliebte VPLs:

  • Scratch, ScratchJr
  • Blockly
  • Ardublock (block programmierung sprache für Arduino)
  • ROBOLAB (programmierung sprache für LEGO Robotik)
  • ROBOTC (grafische für VEX Robotik)
  • LabVIEW (National Instruments)

Obwohl es mehrere Möglichkeiten gibt, die Schüler mit dem Programmieren zu beginnen, empfehle ich dringend, dass Ihre gesamte Schule an einer Stunde Code teilnimmt und Kindern das Programmieren im Rahmen einer STEM / STEAM-Design-Herausforderung beibringt.

Schritt 4: Testen Sie es

Das Testen in CP ist ein kritischer Prozess, um die Qualität eines Programms zu bestimmen und Fehler (Probleme) zu finden. Als College-Praktikant wurde ich zum ersten Mal in das Testen und Debuggen von ActiveX-Steuerelementen in der Programmiersprache Visual Basic eingeführt. Obwohl das Testen verschiedene Ebenen hat und bestimmen wird, ob Programme funktionieren oder nicht — die Arbeit, Fehler zu finden, die die Softwareentwickler korrigieren können, hat mir sehr geholfen, die Qualität der Programme zu verstehen, die ich jeden Tag verwendet habe, und auch die Wichtigkeit, sie regelmäßig zu aktualisieren.

Die Verpflichtung der Studierenden, ihre Arbeit öffentlich zu präsentieren, ist eine hervorragende Technik, um ihnen die Bedeutung des Testprozesses für die Diskussion und Präsentation hochwertiger CS-Arbeiten zu vermitteln. Auch hier ist das App Lab (in Schritt 1) eine großartige Lektion und ein großartiges Projekt, um Kindern zu helfen, CP von Anfang bis Ende zu lernen.

CP für verschiedene Klassenstufen

Computerprogrammierung kann in allen Klassenstufen unterrichtet werden. Hier sind einige Tools, die Sie für verschiedene Altersgruppen und Lernstufen verwenden können.

Klasse 3-8: littleBits-Code-Kit. Die code kit kommt ausgestattet mit elektronische bausteine und eine app mit codierung tutorials, und ist eine hervorragende gerüst für lehre studenten die konzepte der codierung, licht, sound und motion in die kontext von eine design herausforderung oder erfindung.

Was ich am Code Kit am stärksten finde, ist die App, da sie den Benutzern hilft, sich auf grundlegende Codierungsprinzipien zu stützen. Ein guter Programmierer, unabhängig von der Sprache oder der Programmiererfahrung, muss die Grundlagen verstehen — wie Eingabe / Ausgabe, Schleifen, Funktionen, Variablen und auch Logik. Erfolg bezieht sich immer auf die Entwicklung der internen Selbstbeherrschung der Grundlagen. Wie Dr. Stephen R. Covey, Autor von The 7 Habits of Highly Effective People, einmal sagte: „Das Wichtigste zuerst.“

Das Code-Kit funktioniert auch in Verbindung mit allen Bildungsressourcen, die ein Pädagoge benötigen würde, einschließlich Unterrichtsplänen, Handouts für Schüler und Ausrichtung auf die wissenschaftlichen Standards der nächsten Generation. Viele der Ressourcen wurden von der littleBits Lead Educator Cohort von 2017 getestet und entwickelt und als stolzes Mitglied hatte ich das große Glück, mit einer so talentierten Gruppe von Pädagogen zusammengearbeitet und gelernt zu haben!

Klasse 6-8: Robotik. Kinder in die Programmierung zu bringen ist ziemlich einfach. In meiner vorherigen Rolle als Lehrplanspezialist haben wir den Lego Mindstorms-Roboter als Intro verwendet. Dies waren die Schritte, die wir unternommen haben, um Kindern zu helfen, Schlüsselkonzepte zu verstehen, sowie Programmierung:

  1. Bauen Sie ihre Roboter. Praktisch jedes Kind liebte diesen Teil.
  2. Lernen Sie die Grundlagen. Durch das Erkunden von Tutorials lernten sie Motoren, Sensoren, Getriebe und andere Komponenten kennen.
  3. Programmieren lernen. Der Baustein hatte sechs eingebaute Missionen, die es den Schülern ermöglichten, zu sehen, wie sich der Roboter mit Motoren bewegt und auf Berührungen oder Bewegungen mit Sensoren reagiert. Als sie sich an die eingebauten Programme gewöhnten, begannen sie, ihre eigenen Programme mit ROBOLAB-Programmierblöcken zu erstellen.
  4. An CS und VORBAU anschließen. Wir fanden heraus, dass dies dazu beitrug, die Konzepte und Praktiken sowohl der Mustererkennung als auch des algorithmischen Designs erheblich aufzuklären. Und dann natürlich Unterricht in CS und STEM, einschließlich Codierung, Kraft und Bewegung sowie Design und Technologie. Wir fanden auch, dass das VEX IQ Kit für ähnliche Zwecke großartig war, und wir verwendeten sowohl VEX als auch Lego, basierend auf den verschiedenen Wettbewerbsveranstaltungen, an denen unsere Schüler teilnahmen.

Klassen 8-12: Fortgeschrittene Robotik. Für Schüler, die bereits das Codieren mit einer VPL geübt haben und grundlegende Programmierprinzipien beherrschen oder beherrschen, besteht der nächste Schritt darin, sie in einer in der Branche gefragten Programmiersprache wie JavaScript, Python, Pearl oder C ++ zu codieren. Glücklicherweise gibt die Programmierung eines Roboters wie des VEX EDR Gymnasiasten eine Einführung in diese wertvolle Lernerfahrung. Studenten, die den VEX EDR programmieren, lernen, die ROBOTC C-basierte Programmiersprache zu verwenden, und können die Auswirkungen des Codes, den sie schreiben, in Echtzeit sehen, indem sie Probleme mithilfe des Konstruktionsprozesses lösen.

Ich habe vor kurzem angefangen zu lernen, wie man den VEX EDR programmiert, als ich an einem Engineering Design Course Training mit der International Technology and Engineering Educator’s Association teilnahm. Dort traf ich Tim Oltman — den Martha Layne Collins Highschool-Lehrer des Jahres – und war mit ihm zusammen. Er und sein Lehrerkollege Shane Ware haben beträchtliche Erfahrung darin, Kindern beizubringen, Roboter für verschiedene VEX Robotics-Wettbewerbsveranstaltungen zu programmieren, und haben in Kentucky zahlreiche Preise gewonnen.

Ich fragte Tim nach seinen Gedanken, wie Lehrer vorgehen sollten, wenn sie Kinder von der Programmierung in einer VPL zu einem C-basierten Programm wie for VEX bewegen, und er sagte: „Bauen Sie zuerst Beziehungen zu Ihren Schülern auf und lernen Sie dann mit ihnen. Lassen Sie sie sehen, wie Sie versuchen und scheitern, und sie werden es genießen, mit Ihnen durch den Prozess zu kämpfen. Schließlich werden sie dich übertreffen und die Lehrer werden.“

Jorge Valenzuela ist pädagogischer Coach und Lehrassistent an der Old Dominion University. Er ist auch der leitende Coach für lebenslanges Lernen definiert, Inc., eine nationale Fakultät des Buck Institute for Education, ein nationaler Teacher Effectiveness Coach bei der International Technology and Engineering Educators Association (ITEEA) und Teil des Lead Educator Program für littleBits. Sie können sich mit Jorge auf Twitter @JorgeDoesPBL verbinden, um das Gespräch fortzusetzen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.