Ich bin mir nicht sicher, ob es der richtige Ort für diese Frage ist. Tut mir leid, wenn ich etwas vom Thema abweiche.
Die Auswahl einer geeigneten Sprache für den ersten Programmierkurs ist eines der wichtigsten Dinge, die jeder verwandte Lehrer / Dozent berücksichtigen sollte. vor allem, wenn die Schüler jung sind oder nur begrenzte mathematische Kenntnisse haben.
Ich unterrichte derzeit eine Gruppe hochbegeisterter junger Leute (ungefähr 16 bis 17 Jahre alt) mit mittleren Mathematikkenntnissen . Sie besuchen gerade die High School in der 10. Klasse . Ich werde für das kommende Semester anfangen, eine Programmiersprache zu unterrichten.
Sie sind eine Gruppe handverlesener Studenten in der ganzen Stadt mit einem außergewöhnlichen Maß an Kreativität und Fleiß, daher sehe ich, dass die Arbeit mit einer echten Programmiersprache für sie keine schwere Aufgabe sein würde. Die Auswahl einfacher grafischer und Drag'n'Drop-Lösungen wie Turtle Art, Scratch und Tynker wird daher nicht als Option betrachtet.
Es gibt einige Faktoren, die überprüft werden sollten, bevor Sie eine Auswahl treffen:
- Einfachheit : Die meisten von ihnen haben wahrscheinlich noch nie eine echte Codierungsaktion erlebt.
- Wieder Einfachheit : Eine der Hauptideen ist es, zu lehren, wie man algorithmisch denkt . Eine ausgefeilte oder kaum syntaxierte Sprache wird sie vom Weg ablenken.
- Allgemeines : Es ist besser, die Sprache nicht für spezielle Entwicklungsfälle zu entwickeln. Nehmen Sie als Beispiele PHP und MATLAB, die jeweils für die Webentwicklung und Berechnung / Modellierung entwickelt wurden.
- Minimum Objective Zeug : Keine erzwungene OO-Programmierung (wie Java). Oder zumindest mit der minimalen Abhängigkeit von OO-Konzepten.
- Plattform : Es ist wichtig, Windows als unterstützte Entwicklungsumgebung zu haben, da fast alle unter Windows ausgeführt werden.
- Einfach einzurichten : Es ist besser, die Entwicklungsumgebung auf einfache Weise einzurichten.
- Branchenpräferenz : Kein ernstes Problem. Aber es sollte zumindest eine derzeit aktive Sprache sein, die es den Schülern ermöglicht, nahezu reale Entwicklererfahrungen zu machen.
- Hardware-Portabilität : Es ist wichtig (aber nicht erforderlich), dass die Sprache flexibel genug ist, um für die Hardware-Programmierung verwendet zu werden. (Ich spreche nicht von Hardwarebeschreibungssprachen wie Verilog und VHDL.) Ziel ist die Programmierung für einfachere prozessorbasierte Hardware wie AVR-Mikroprozessoren oder Raspberry Pi GPIO-Schnittstelle .
ich will das wissen
- Gibt es noch andere Faktoren, die mir fehlen?
- Und welche Sprachen schlagen Sie als Auswahl vor?