Ansatz des intensiven Lernens im STEM-Bereich

In der Welt der Ingenieurausbildung gibt es viele hervorragende Kurse, aber oft hat das darauf basierende Studienprogramm einen ernsthaften Nachteil – es fehlt an guter Zusammenhang zwischen den verschiedenen Themen. Man könnte widersprechen: Wie kann das sein?

Bei der Erstellung des Studienprogramms werden für jeden Kurs die Voraussetzungen und eine klare Reihenfolge angegeben, in der die Fächer studiert werden müssen. Zum Beispiel, um einen einfachen mobilen Roboter zu bauen und zu programmieren, muss man etwas Mechanik zur Erstellung seiner physischen Struktur wissen; Grundlagen der Elektrizität auf der Ebene der Gesetze von Ohm/Kirchhoff; die Darstellung digitaler und analoger Signale; Operationen mit Vektoren und Matrizen, um Koordinatensysteme und die Bewegung des Roboters im Raum zu beschreiben; Grundlagen des Programmierens auf der Ebene der Datenrepräsentation, einfachster Algorithmen und Kontrollstrukturen usw., um das Verhalten zu beschreiben.

Gibt es all das in den Universitätskursen? Natürlich gibt es das. Allerdings im Zusammenhang mit den Gesetzen von Ohm/Kirchhoff werden Thermodynamik und Feldtheorie behandelt; neben den Operationen mit Matrizen und Vektoren muss man sich mit Jordanformen auseinandersetzen; beim Programmieren das Lernen von Polymorphismus — Themen, die nicht immer notwendig sind, um eine einfache praktische Aufgabe zu lösen.

Universitäres Lernen ist extensiv – die Lernenden gehen in breiter Front vor und sehen oft keinen Sinn oder praktische Bedeutung in dem Wissen, das sie erwerben. Wir haben beschlossen, die Paradigmen der universitären STEM-Ausbildung (von Science, Technology, Engineering, Math) umzukehren und ein Programm zu entwickeln, das auf der Kohärenz des Wissens basiert und eine spätere Vertiefung ermöglicht, das heißt, es wird eine intensive Beherrschung der Fächer подразумевается.

Das Erlernen eines neuen Fachgebiets kann mit dem Erforschen einer bestimmten Gegend verglichen werden. Hier gibt es zwei Optionen: entweder liegt uns eine sehr detaillierte Karte mit einer Vielzahl von Details vor, die es zu erlernen gilt (was viel Zeit in Anspruch nimmt), um zu verstehen, wo sich die wichtigsten Orientierungspunkte befinden und wie sie zueinander in Beziehung stehen; oder man kann einen einfachen Plan verwenden, auf dem nur die wichtigsten Punkte und ihre gegenseitige Anordnung gekennzeichnet sind — eine solche Karte reicht aus, um sofort in die richtige Richtung zu gehen und die Einzelheiten während des Fortgangs zu klären.

Den Ansatz des intensiven Lernens im Bereich STEM haben wir an einer Winterakademie erprobt, die wir gemeinsam mit Studierenden des MIT mit Unterstützung von JetBrains Research durchgeführt haben.

Materialvorbereitung


Der erste Teil des Programms bestand aus einer Woche Unterricht zu den Hauptfächern, die Algebra, elektrische Schaltungen, Computerarchitektur, Programmierung in Python und eine Einführung in ROS (Robot Operating System) umfassten.

Die Themen wurden nicht zufällig gewählt: Sie sollten sich gegenseitig ergänzen und den Studierenden helfen, Verbindungen zwischen auf den ersten Blick unterschiedlichen Bereichen — Mathematik, Elektronik und Programmierung — zu erkennen.

Natürlich war das Hauptziel nicht, viele Vorlesungen zu halten, sondern den Studierenden die Möglichkeit zu geben, das neu erworbene Wissen selbst praktisch anzuwenden.

Im Bereich Algebra konnten die Studierenden ihre Fähigkeiten im Umgang mit Matrizen und der Lösung von Gleichungssystemen trainieren, die beim Lernen von elektrischen Schaltungen hilfreich waren. Nachdem sie den Aufbau eines Transistors und der auf dessen Basis aufgebauten Logikelemente kennengelernt hatten, konnten die Lernenden deren Anwendung im Aufbau eines Prozessors sehen, und nach dem Studium der Grundlagen der Programmiersprache Python eine Programmierung für einen echten Roboter schreiben.

Ansatz des intensiven Lernens im STEM-Bereich

Duckietown


Eine der Aufgaben der Akademie war es, die Arbeit mit Simulatoren dort zu minimieren, wo dies möglich ist. Daher wurde ein umfangreicher Satz von elektrischen Schaltungen vorbereitet, den die Studierenden auf einer Lochplatte aus echten Komponenten zusammenbauen und in der Praxis testen sollten, wobei Duckietown als Grundlage für die Projekte gewählt wurde.

Duckietown ist ein offenes Projekt, das kleine autonome Roboter namens Duckiebot und ein Netzwerk von Straßen umfasst, über die sie sich bewegen. Duckiebot ist eine Rollplattform, die mit einem Raspberry Pi-Mikrocomputer und einer Kamera ausgestattet ist.

Auf dieser Basis haben wir eine Reihe möglicher Aufgaben vorbereitet, wie zum Beispiel das Erstellen von Straßenkarten, das Finden von Objekten und das Anhalten in deren Nähe sowie eine Reihe weiterer. Auch konnten die Studenten ein eigenes Problem vorschlagen und nicht nur ein Programm zu dessen Lösung schreiben, sondern es auch sofort auf einem echten Roboter ausführen.

Unterricht


Während der Vorlesung präsentierten die Dozenten die Inhalte mithilfe von vorbereiteten Präsentationen. Einige Sitzungen wurden aufgezeichnet, sodass die Studenten die Möglichkeit hatten, sie zu Hause anzusehen. Während der Vorlesungen nutzten die Studenten Materialien auf ihren Computern, stellten Fragen, lösten Aufgaben gemeinsam und selbstständig, manchmal auch an der Tafel. Nach den Ergebnissen der Arbeiten wurde ein Ranking für jeden Studenten in verschiedenen Fächern erstellt.

Ansatz des intensiven Lernens im STEM-Bereich

Betrachten wir die Durchführung des Unterrichts in jedem Fach detaillierter. Das erste Fach war lineare Algebra. Die Studenten beschäftigten sich einen Tag lang mit Vektoren und Matrizen, Systemen linearer Gleichungen usw. Die praktischen Aufgaben wurden interaktiv gestaltet: Die vorgeschlagenen Probleme wurden individuell gelöst, während der Dozent und andere Studenten Kommentare und Tipps gaben.

Ansatz des intensiven Lernens im STEM-Bereich

Das zweite Fach war Elektrizität und einfache Schaltungen. Die Studenten lernten die Grundlagen der Elektrodynamik: Spannung, Strom, Widerstand, das Ohm'sche Gesetz und die Kirchhoff'schen Gesetze. Die praktischen Aufgaben wurden teilweise im Simulator durchgeführt oder an der Tafel gelöst, jedoch wurde mehr Zeit für den Bau realer Schaltungen wie Logikschaltungen, Schwingkreise usw. aufgewendet.

Ansatz des intensiven Lernens im STEM-Bereich

Das nächste Thema ist die Architektur der Computer, die in gewisser Weise eine Brücke zwischen Physik und Programmierung schlägt. Die Studenten erlernten die grundlegenden Konzepte, deren Bedeutung eher theoretisch als praktisch ist. Im Rahmen der Praxis entwarfen die Studenten eigenständig arithmetisch-logische Schaltungen im Simulator und erhielten Punkte für die erledigten Aufgaben.

Der vierte Tag – der erste Tag des Programmierens. Als Programmiersprache wurde Python 2 gewählt, da dieser in der Programmierung unter ROS verwendet wird. Dieser Tag gestaltete sich wie folgt: Die Dozenten erklärten den Stoff, gaben Beispiele zur Lösung von Aufgaben, während die Studenten am Computer saßen und das Geschriebene des Dozenten an der Tafel oder auf der Folie wiederholten. Danach lösten die Lernenden ähnliche Aufgaben selbstständig, deren Lösungen von den Dozenten bewertet wurden.

Der fünfte Tag war ROS gewidmet: Die Teilnehmer machten sich mit der Programmierung von Robotern vertraut. Den ganzen Unterrichtstag über saßen die Studenten am Computer und führten den Programmcode aus, über den der Dozent sprach. Sie konnten die grundlegenden Einheiten von ROS selbstständig starten und lernten auch das Projekt Duckietown kennen. Am Ende dieses Tages waren die Studenten bereit, mit dem praktischen Teil der Schule – der Lösung von praktischen Aufgaben – zu beginnen.

Ansatz des intensiven Lernens im STEM-Bereich

Beschreibung der ausgewählten Projekte

Den Studenten wurde vorgeschlagen, sich in Teams von drei Personen zusammenzufinden und ein Projektthema auszuwählen. Am Ende wurden folgende Projekte akzeptiert:

1. Farbkallibrierung. Der Duckiebot benötigt eine Kalibrierung der Kamera bei wechselnden Lichtbedingungen, daher gibt es die Aufgabe der automatischen Kalibrierung. Das Problem ist, dass die Farbwerte sehr empfindlich auf die Beleuchtung reagieren. Die Teilnehmer entwickelten ein Werkzeug, das die erforderlichen Farben (rot, weiß und gelb) im Bild erkennt und Farbbereiche für jede Farbe im HSV-Format erstellt.

2. Duck Taxi. Die Idee dieses Projekts ist, dass der Duckiebot an einem bestimmten Objekt anhalten, es aufnehmen und einem bestimmten Kurs folgen kann. Als Objekt wurde eine auffällige gelbe Ente ausgewählt.

Ansatz des intensiven Lernens im STEM-Bereich

3. Erstellung eines Straßennetzwerks. Die Aufgabe besteht darin, ein Straßennetz und Kreuzungen zu erstellen. Ziel dieses Projekts ist es, ein Straßennetz zu bauen, ohne Vorabdaten über die Umgebung für den Duckiebot bereitzustellen, und sich lediglich auf die Daten der Kamera zu stützen.

4. Polizeiauto. Dieses Projekt wurde von den Studenten selbst entwickelt. Sie schlugen vor, einen Duckiebot, den "Polizisten", zu trainieren, um einen anderen – den "Übeltäter" – zu verfolgen. Dazu wurde ein Zielerkennungssystem mit einem ArUco-Marker verwendet. Sobald die Erkennung abgeschlossen ist, wird dem "Übeltäter" ein Signal gesendet, dass die Arbeit beendet ist.

Ansatz des intensiven Lernens im STEM-Bereich

Farbkalibrierung

Ziel des Projekts Color Calibration war die Anpassung des Spektrums der erkennbaren Farben der Markierung an die neuen Lichtverhältnisse. Ohne solche Anpassungen wurde die Erkennung von Haltelinien, Fahrbahnmarkierungen und Straßenrändern ungenau. Die Teilnehmer schlugen eine Lösung vor, die auf der Vorverarbeitung von Farbvorlagen beruhte: rot, gelb und weiß.

Für jede dieser Farben wurde ein vorher festgelegter Bereich von HSV- oder RGB-Werten definiert. Mithilfe dieses Bereichs werden auf dem Bild alle Bereiche gesucht, die geeignete Farben enthalten, und aus diesen wird der größte ausgewählt. Dieser Bereich wird als die Farbe akzeptiert, die gespeichert werden muss. Anschließend werden statistische Formeln wie die Berechnung des Mittelwerts und der Standardabweichung verwendet, um den neuen Farbbereich zu bewerten.

Dieser Bereich wird in die Konfigurationsdateien der Kamera des Duckiebots geschrieben und kann später verwendet werden. Der beschriebene Ansatz wurde auf alle drei Farben angewendet, wodurch letztendlich Bereiche für jede der Markierungsfarben gebildet wurden.

Die Tests zeigten nahezu perfekte Erkennung von Markierungslinien, es sei denn, es wurden glänzende Bänder als Markierungsmaterial verwendet, die Lichtquellen so stark reflektierten, dass die Markierung aus dem Blickwinkel der Kamera weiß erschien, unabhängig von ihrer ursprünglichen Farbe.

Ansatz des intensiven Lernens im STEM-Bereich

Duck Taxi

Das Projekt Duck Taxi sah die Entwicklung eines Algorithmus vor, um im Stadtgebiet eine Passagierente zu finden und sie dann an den gewünschten Ort zu transportieren. Die Teilnehmer unterteilten diese Aufgabe in zwei: Erkennung und Navigation im Graphen.

Die Studenten führten die Erkennung der Ente durch, wobei sie davon ausgingen, dass eine Ente als jeder Bereich im Bild verstanden wird, der als gelb mit einem roten Dreieck (Schnabel) darauf erkannt werden kann. Sobald ein solcher Bereich im nächsten Bild entdeckt wird, sollte der Roboter sich ihm nähern und dann einige Sekunden anhalten, um die Landung des Passagiers zu simulieren.

Anschließend, mit dem im Vorfeld in den Speicher eingegebenen Straßennetz von Duckietown und der Position des Roboters sowie dem vorgestellten Zielpunkt, setzen die Teilnehmer den Dijkstra-Algorithmus ein, um den Weg vom Start- zum Zielpunkt im Graphen zu finden. Die Ausgaben werden in Form einer Reihe von Anweisungen in Form von Abbiegevorgängen an jeder der folgenden Kreuzungen präsentiert.

Ansatz des intensiven Lernens im STEM-Bereich

Graph der Straßen

Ziel dieses Projekts war der Aufbau eines Graphen – eines Straßennetzes in Duckietown. Die Knoten des resultierenden Graphen sind die Kreuzungen, und die Kanten sind die Straßen. Dafür muss der Duckiebot die Stadt erkunden und seine Route analysieren.

Im Laufe der Arbeit an dem Projekt wurde die Idee, einen gewichteten Graphen zu erstellen, bei dem die Kosten der Kante durch die Entfernung (und die benötigte Zeit dafür) zwischen den Kreuzungen bestimmt werden, zwar in Betracht gezogen, jedoch später verworfen. Die Umsetzung dieser Idee stellte sich als zu aufwendig heraus, und es wäre nicht genug Zeit dafür im Rahmen der Schulung geblieben.

Wenn der Duckiebot eine Kreuzung erreicht, wählt er die Straße, die von dieser Kreuzung ausgeht, und auf der er noch nicht gefahren ist. Sobald alle Straßen an allen Kreuzungen befahren wurden, bleibt in den Speicher des Bots eine gebildete Nachbarschaftsliste der Kreuzungen zurück, die mithilfe der Bibliothek Graphviz in ein Bild umgewandelt wird.

Der von den Teilnehmern vorgeschlagene Algorithmus eignet sich nicht für beliebiges Duckietown, funktionierte jedoch gut in einer kleinen Stadt mit vier Kreuzungen, die im Rahmen der Schulung verwendet wurde. Die Idee war, jede Kreuzung mit einem ArUco-Marker auszustatten, der die ID der Kreuzung enthält, um die Reihenfolge der Durchfahrt zu verfolgen.
Das Funktionsschema des von den Teilnehmern entwickelten Algorithmus ist in der Abbildung dargestellt.

Ansatz des intensiven Lernens im STEM-Bereich

Patrouillenwagen

Ziel dieses Projekts ist es, den Bot, der gegen die Regeln verstößt, in der Stadt Duckietown zu finden, zu verfolgen und festzunehmen. Der Patrouillenbot soll dem äußeren Straßenneingang der Stadt folgen, um nach dem zuvor bekannten Regelbrecher-Bot zu suchen. Nach der Entdeckung des Regelbrechers muss der Patrouillenbot ihm folgen und ihn zum Anhalten bringen.

Die Arbeit begann mit der Suche nach einer Idee zur Erkennung eines Bots im Bild und dessen Identifizierung als Übeltäter. Das Team schlug vor, jeden Bot in der Stadt von hinten mit einem einzigartigen Marker auszustatten – ähnlich, wie echte Fahrzeuge außerhalb mit Kennzeichen ausgestattet sind. Dafür wurden ArUco-Marker gewählt. Diese wurden bereits zuvor in Duckietown verwendet, da sie einfach zu verwenden sind und die Orientierung des Markers im Raum und die Entfernung zu ihm bestimmen können.

Als Nächstes war es erforderlich, sicherzustellen, dass der Patrolbot strikt auf dem äußeren Kreis ohne Stopps an Kreuzungen fährt. Standardmäßig bewegt sich der Duckiebot in der Spur und stoppt an der Stopplinie. Dann bestimmt er mithilfe von Verkehrszeichen die Konfiguration der Kreuzung und trifft eine Entscheidung über die Durchfahrt der Kreuzung. Für jede der beschriebenen Phasen ist ein Zustand des Zustandautomaten des Roboters verantwortlich. Um die Stopps an der Kreuzung zu vermeiden, hat das Team den Zustandautomaten so geändert, dass der Bot beim Annähern an die Stopplinie sofort in den Zustand der Durchfahrt übergeht.

Der nächste Schritt bestand darin, das Problem des Stopps des regelwidrigen Bots zu lösen. Das Team stellte die Annahme auf, dass der Patrouillenbot über SSH auf jeden Bot in der Stadt zugreifen kann, das heißt, er hat einige Informationen darüber, welche Authentifizierungsdaten und welche ID jeder Bot hat. Somit begann der Patrouillenbot, sich nach der Entdeckung des Regelbrechers via SSH mit dem regelwidrigen Bot zu verbinden und dessen System abzuschalten.

Nachdem bestätigt wurde, dass der Abschaltsbefehl ausgeführt wurde, hielt auch der Patrouillenbot an.
Der Arbeitsalgorithmus des Patrouillenrobots lässt sich in der folgenden Grafik darstellen:

Ansatz des intensiven Lernens im STEM-Bereich

Arbeiten an Projekten

Die Arbeit wurde in einem Format organisiert, das dem Scrum-ähnlich war: Jeden Morgen planten die Studenten die Aufgaben für den aktuellen Tag und berichteten am Abend über ihre geleistete Arbeit.

An den ersten und letzten Tagen bereiteten die Studenten Präsentationen vor, die das gesetzte Ziel und die Lösungsansätze beschrieben. Um den Studenten zu helfen, ihren gewählten Plänen zu folgen, waren in den Räumen, in denen an Projekten gearbeitet wurde, ständig Dozenten aus Russland und Amerika anwesend, die Fragen beantworteten. Die Kommunikation fand überwiegend auf Englisch statt.

Ergebnisse und deren Präsentation

Die Arbeit an den Projekten dauerte eine Woche, nach deren Ablauf die Studenten ihre Ergebnisse präsentierten. Alle bereiteten Präsentationen vor, in denen sie darüber berichteten, was sie in dieser Schule gelernt haben, welche wichtigen Lektionen sie mitgenommen haben, was ihnen gefallen oder nicht gefallen hat. Danach stellte jedes Team sein Projekt vor. Alle Teams haben die gestellten Aufgaben erfolgreich erfüllt.

Das Team, das für die Kalibrierung von Farben zuständig ist, hat das Projekt schneller als die anderen abgeschlossen, daher konnten sie auch die Dokumentation für ihr Programm vorbereiten. Das Team, das sich mit dem Grafen der Straßen beschäftigt hat, versuchte sogar am letzten Tag vor der Projektdemonstration, seine Algorithmen zu überarbeiten und zu verbessern.

Ansatz des intensiven Lernens im STEM-Bereich

Fazit

Nach dem Ende der Schule baten wir die Schüler, die vergangenen Aktivitäten zu bewerten und Fragen dazu zu beantworten, inwieweit die Schule ihren Erwartungen entsprach, welche Fähigkeiten sie erworben haben usw. Alle Schüler bemerkten, dass sie gelernt hatten, im Team zu arbeiten, Aufgaben zu verteilen und ihre Zeit zu planen.

Die Studenten wurden auch gebeten, die Nützlichkeit und Komplexität der absolvierten Kurse zu bewerten. Dabei bildeten sich zwei Bewertungsgruppen: für die einen waren die Kurse nicht besonders herausfordernd, während andere sie als extrem schwierig einschätzten.

Das bedeutet, dass die Schule die richtige Position eingenommen hat, indem sie sowohl für Anfänger in einem bestimmten Bereich zugänglich bleibt, als auch Materialien zum Wiederholen und Festigen für erfahrene Studenten bereitstellt. Es sollte angemerkt werden, dass der Kurs über Programmierung (Python) von fast allen als einfach, jedoch nützlich eingestuft wurde. Am schwierigsten erschien den Studenten der Kurs „Computerarchitektur“.

Als die Studenten nach den Vor- und Nachteilen der Schule gefragt wurden, antworteten viele, dass ihnen der gewählte Lehrstil gefiel, bei dem die Lehrer schnell und individuell Hilfe leisteten und Fragen beantworteten.

Die Schüler hoben auch hervor, dass sie es mochten, im Rahmen ihrer täglichen Aufgabenplanung zu arbeiten und selbst Fristen festzulegen. Als Nachteil merkten die Studenten einen Mangel an Wissen an, das bei der Arbeit mit dem Bot benötigt wurde: beim Anschluss, Verständnis der Grundlagen und Prinzipien seiner Funktionsweise.

Fast alle Studenten stellten fest, dass die Schule ihre Erwartungen übertroffen hat, und das spricht für die richtig gewählte Richtung der Organisation der Schule. So sollten die allgemeinen Grundlagen bei der Organisation der nächsten Schule beibehalten werden, wobei die von den Studenten und Lehrern genannten Mängel berücksichtigt und wenn möglich beseitigt werden sollten, möglicherweise durch Änderung des Kursangebots oder der Unterrichtszeiten.

Autoren des Artikels: das Team des Labors für Algorithmen mobiler Roboter in JetBrains Research durchgeführt haben.

P.S. Unserem Unternehmensblog wurde ein neuer Name gegeben. Er wird jetzt den Bildungsprojekten der Firma JetBrains gewidmet sein.

Quelle: habr.com

60GB SSD 8Gb DDR4