Dr. Volker Jaenisch schrieb am 17.02.2016 um 23:16:
Ich denke mit einem GUI-Editor meinst Du so etwas wie Delphi? Du willst also GUI-Applikationen mit Python bauen?
Nicht ausschließlich. Aber das Separieren von Funktionen auf einzelne Buttons und der klassische Eingabe-Ausgabe-Prozess werden bei diesen Anwendungen noch gut dargestellt.
Ich denke für schulische Ausbildung ist es keine gute Idee eine GUI-Applikation bauen zu wollen. Ich sehe bei meiner Tochter im Gymmi wohin das führt. Da werden Spiele-Editoren genutzt um Bunte Klötzchen-Welten in 3D zu bauen oder Roboter rum fahren zu lassen. Mit Informatik hat das IMHO wenig zu tun. Der Effekt ist zwar toll, der Lehrwert aber minimal.
Je mehr Leute man fragt, um so mehr Antworten erhält man, was nun wirklich etwas mit Informatik zu tun hat, und was nicht. ;) Zumindest hat Seymour Papert in "Mindstorm" (ISBN 9780465046744) damals schon Schildkröten für die Vermittlung von algorithmischen Grundlagen genutzt.
Meine Firma baut so gut wie keine GUI-Applikationen mehr, alles verlagert sich ins Web.
Web-Anwendungen sind auch ein wichtiger Teil, den man ansprechen sollte. Die Komplexität würde ich jedoch nicht unterschätzen und eher in einem späteren Teil der Ausbildung ansiedeln. Der Technologiestack ist schon nicht ohne: HTTP, HTML, Python, Webserver, Netzwerk.
Aber wie gesagt, ich finde GUI Entwicklung egal mit welchem Werkzeug einfach eine Nummer zu hoch für Schüler.
Derzeit setzen wir C# und VisualStudio ein. Eine einfache GUI-Anwendung ist damit schnell erstellt. :)
Um effektiv ein GUI bauen zu können ist das Verständnis von OOP IMHO zwingend nötig und da muss man Schüler erst mal hin bringen.
Das ist mein Ziel - so schnell wie möglich. :) Dafür sind GUI-Anwendungen besonders gut geeignet. Es gibtButtons, Eingabefelder, oder Fenster die sich als Objekte gut diskutieren lassen.
Wenn es etwas Visuelles sein soll, würde ich lieber mit einem minimalen Python-Web-Framework (z.B. flask) eine Webapplikation bauen.
Das ist ein interessanter Punkt. Mit bottle (http://bottlepy.org) habe ich schon ein wenig Erfahrungen gesammelt. Auf einen Versuch käme es an.
Leider ist an den UNIs JAVA die einzige Lehrsprache und dies führt dazu, dass die StudentInnen eigentlich keine wirkliche Vorstellung davon erlangen wie ein Computer funktioniert. Ich bin der Meinung, dass ein guter Programmierer durchaus Assembler, C und auch mal einen Microcontroller programmiert haben sollte, gerade wenn er später in einer Hochsprache arbeitet.
Ich möchte dir das Buch "The Elements of Computing Systems" (http://www.nand2tetris.org/) empfehlen, das einen Ansatz verfolgt, der deinen Vorstellungen entsprechen könnte. Vom Logischen Gatter bis zur Hochsprache mit virtueller Maschine und Garbage Collector wird ein extrem breites/tiefes Spektrum abgebildet.
Wenn sich bei mir ein BA-Student bewirbt wird er im Bewerbungsgespräch gebeten zu erklären wie analoge Festnetz-Telefonie funktioniert. Es ist erschreckend, was da - wenn überhaupt - für Antworten kommen.
Sei nicht zu hart mit ihnen. Es wird heute natürlich zunehmend schwieriger direkte Erfahrungen mit analoger Telefonie zu sammeln. :) Beste Grüße, der Marco.
participants (1)
-
Marco Bakera