Forum: Ausbildung, Studium & Beruf Welcher Controller für Unterrichtszwecke?


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Fritz G. (fritz65)


Lesenswert?

Ich habe einen Lehrauftrag im Fach Mikrocontrollertechnik an einer 
Hochschule. Das Modul besteht aus einer theoretischen Vorlesung und 
einem praktischen Labor. Die Studenten stammen aus den Fachrichtungen 
Mechatronik, Maschinenbau und Medizintechnik und haben i.a. keine 
Vorkenntnisse in Mikrocontroller-Vorkenntnisse. Im Grundstudium haben 
sie ein wenig mit Python und Java bzw. C# programmiert.
In der Vorlesung habe ich den Schwerpunkt auf die Hardware gelegt: 
Schematischer Aufbau eines Controllers, IO-Ports, Timer/Counter/PWM 
sowie Kommunikation über UART, SPI, I2C und CAN. Wichtig ist mir dabei 
die Fähigkeit, ein Datenblatt lesen und verstehen zu können. Der 
Softwareteil besteht aus einem C-Programmierkurs mit besonderem 
Augenmerk auf μC-spezifisches, z.B. Variablenaustausch mit Interrupts.
Im Labor arbeite ich mit einem PIC18 unter MPLAB. Ich fange dort mit 
ganz einfachen Übungen an, wie Binärwerte über LEDs auszugeben, einen 
Taster zu entprellen oder einen Ultraschall-Entfernungsmesser mittels 
capture-unit zu realisieren.

Nun traten Studentenvertreter auf mich zu, und beklagten, dass die 
Laboraufgaben zu praxisfern und langweilig seien. Sie wünschen sich 
interessantere Projekte mit KI oder Anbindung an eine Smartphone-App 
statt eines schnöden alphanumerischen Displays. Sie schlugen vor, statt 
in C in μPython zu programmieren. Andere wollten ein Arduino als Basis, 
weil der einfacher zu verstehen sei. Ich entgegnete, dass sowohl Python 
als auch Arduino die Komplexität nur verstecken und ein tieferes 
Verständnis der Interaktion zwischen Hard- und Software eher verhindert.
Ich vermutete, dass es sich die Studenten eigentlich nur leichter machen 
wollten; Python hatten sie schon und beim Arduino hoffen sie womöglich, 
zumindest einen Teil der Lösung im WWW bereits fertig vorzufinden. 
Zugegeben, das Fach ist bei den meisten eher unbeliebt und wird als 
lästige Pflicht angesehen, insbesondere wenn gerade die große 
Mathematik-Zwischenklausur ansteht.

Jetzt in den freien Tagen bin ich einmal in mich gegangen. Vielleicht 
haben die Studenten doch zumindest teilweise recht und ich bin als 
„alter Knacker“ zu sehr in der Vergangenheit verhaftet. Im Studium habe 
ich meine ersten Schritte auf einem Z80 in Assembler gemacht, zu C kamen 
wir erst später.
Beruflich bin ich in einer sehr konservativen Branche (Medizintechnik), 
wo wir schon aus Sicherheitsgründen auf externe Libraries nach 
Möglichkeit verzichten. Andererseits kommen die meisten eingebetteten 
Systeme heutzutage nicht mehr ohne ein Interface über Bluetooth, Wifi 
etc. zu einer App auf Mobilgeräten aus. Da würde man kaum die Hardware 
direkt programmieren sondern ein fertiges Framework nutzen.

Ist es heute noch zeitgemäß, die Studenten mit der Programmierung von 8 
bit- Controllern auf Registerebene zu quälen, wenn sie das später nie 
mehr brauchen? Was meinen die Jüngeren hier im Forum dazu?

von Frank K. (fchk)


Lesenswert?

Mikrocontrollertechnik beinhaltet die Programmierung in C auf 
Registerebene. Sich da durchzubeißen gehört zum Verständnis dazu. Früher 
hatten die Leute das auf ihren C64 und ZX Spectrum gelernt, aber diese 
Zeiten sind ja jetzt vorbei.

Ich hatte mal einen Kollegen (Informatiker) gehabt, der 
Linux-Entwicklung machen sollte. Der kannte Java und C++, aber was ein 
sizeof(char*) ergibt, dafür hatte er absolut kein Verständnis gehabt. 
Die Posix API war ein einziges Rätsel für ihn gewesen. Der gute Mann ist 
dann auch nach nur einen Jahr wieder gegangen.

PIC18 ist auch keine schlechte Wahl. Es ist eine einfache Plattform, die 
gut zu debuggen ist, und so ein PICKIT3 Clone ist billig. Vielleicht 
wäre PIC24 eine Alternative, speziell wenn Du Assemblerprogrammierung 
machen möchtest. Und da Microchip da einen (wenn auch alten) GCC 
einsetzt, könnte das vielleicht im Unterricht auch Vorteile haben. Bei 
PIC24 brauchst Du auch nicht mehr unbedingt High-Voltage Programmierung 
und kannst dann auch MPLAB SNAP als Programmer einsetzen, wenn der 
Support fürs PK3 ausläuft.

Ich selber habe vor 30 Jahren E-Technik studiert. Von dem, was ich im 
Studium gelernt habe, brauche ich jetzt auch nur noch 5-10%. Welches 
diese 5-10% sind, das weiß man aber immer erst hinterher.

Daher: Du macht alles richtig. Weiter so.

fchk

von Sebastian R. (sebastian_r569)


Lesenswert?

Fritz G. schrieb:
> Ich entgegnete, dass sowohl Python
> als auch Arduino die Komplexität nur verstecken und ein tieferes
> Verständnis der Interaktion zwischen Hard- und Software eher verhindert.

Einspruch. Zumindest für das Arduino Ökosystem mitsamt IDE.
Ja, die Libraries und die IDE bieten viele Komfortfunktionen, mit denen 
man keine "Bitpopelei auf Fußpilzebene" mehr benötigt. Dazu kommt eine 
gewisse Abstraktion der Hardware, durch die ich meinen ATMega328P-Code 
ohne Anpassungen für einen STM32 kompilieren kann.

Aber: Im Hintergrund arbeitet immer der entsprechende "Bare 
Metal"-Compiler, wie z.B. der avrgcc.

Um zu verstehen, wie Register funktionieren und was einzelne 
Konfigurationsregister tun, finde ich 8bit-AVRs gar nicht schlecht. Die 
Datenblätter sind verständlich, die Register und die Funktionen dahinter 
überschaubar (allein die Clock-Distribution bei einem STM32 ist auf 
Bitebene kaum noch zu überblicken) und es gibt viele Webseiten, die 
entsprechende Bit-Rechner und Generatoren als "zusätzliches Material" 
liefern.

Du kannst in der Arduino-IDE komplett nativ AVR-Standardbibliotheken und 
Register verwenden. Du kannst deine Timer, ADCs etc. über ihre 
entsprechenden Register konfigurieren und das arduinospezifische Zeug in 
die Arduino-Libraries einfach weglassen.

Fritz G. schrieb:
> Sie wünschen sich
> interessantere Projekte mit KI oder Anbindung an eine Smartphone-App

Ohne das Rad zu erfinden kann man leider nicht zum Mond fliegen. Apps 
und KI mögen der neuste Schrei sein, aber das hat für mich nichts mit 
dem Fach Mikrocontrollertechnik zu tun.

Besonders ohne Vorkenntnisse wird daraus nichts. Und die Vorkenntnisse 
sind leider genau das, was du ihnen bereits vermitteln möchtest. Schnöde 
Hardware und blinkende LEDs.

Fritz G. schrieb:
> Ist es heute noch zeitgemäß, die Studenten mit der Programmierung von 8
> bit- Controllern auf Registerebene zu quälen, wenn sie das später nie
> mehr brauchen? Was meinen die Jüngeren hier im Forum dazu?

Ich weiß nicht, ob ich mit 35 zu den Jüngeren zähle, aber ich hatte in 
der Berufsschule vor 15 Jahren sogar Assembler und C für PICs und fand 
es interessant und lehrreich.

Ja, ich finde es wichtig zu wissen, wie ein Mikrocontroller funktioniert 
und ich finde es wichtig zu wissen, was eine HAL eigentlich macht und 
was im Hintergrund alles passiert.

Meine Mikrocontrollerprojekte mache ich gerne mit der Arduino-IDE, nutze 
aber eben dabei auch die controllereigenen Register, weil es keine 
Bibliotheken gibt oder es auf Geschwindigkeit ankommt.
Ansonsten ist so ein Arduino Uno ein praktisches Board inkl. ISP und die 
IDE deutlich schlanker und angenehmer als Eclipse, AVR Studio oder 
MPLAB.

tl;dr: Meine Empfehlung:
Nimm einen AVR8-Arduino (günstig) mitsamt der Arduino-IDE (funktioniert 
out of the box) und verzichte dabei auf die Arduino-Libraries, sondern 
nehm direkt die Register für Timer, ADCs,...
Denn ohne Konfigurationsregister und dem ganzen Unterbau laufen auch 
keine Apps und keine KI.

von Walter T. (nicolas)


Lesenswert?

Das kommt halt darauf an, ob Du es als "angewandtes Fach" oder als 
"Grundlagenfach" positionierst.

Bei "angewandten" Fächern ist es meist einfacher, sich beliebt zu 
machen: Der Aufwand für die Studierenden ist meistens geringer, weil der 
Aufwand schon in den Schulungsmaterialien oder der verwendeten 
Technologie steckt. Bonuspunkte, wenn das verwendete Material so teuer 
ist, dass man es außerhalb des Seminars eigentlich nur noch bei OEMs 
findet. Der Nutzen ist gering, aber sowohl Hochschule als auch 
Studierende können sich brüsten, mit der neuesten Technologie vertraut 
zu sein.

Grundlagenfächer sind weniger beliebt und eher langfristig nützlich. 
Hier ist es schon nett, nicht etwas, was dem, was man schon kennt 
ähnliches zu lernen, sondern etwas, was im anderen Extrem liegt. Da wäre 
Python (schon bekannt) und bare metal (Grundlagenfach) eine solide Basis 
wegen der riesigen Bandbreite. In der Praxis wird man sich ja eh 
dazwischen aufhalten, also ist es praktisch, beide Extreme zu kennen.

Also: Wo willst Du Dich positionieren?

Wie alt bist Du? Wie siehst Du Deine weitere akademische Laufbahn? Im 
Zeitalter der Quantifizierung der Lehre ist es oft vorteilhafter, gute 
Umfragewerte zu erzielen, als "das Richtige" zu tun.

: Bearbeitet durch User
von Sherlock 🕵🏽‍♂️ (rubbel-die-katz)


Lesenswert?

Fritz G. schrieb:
> Sie wünschen sich
> interessantere Projekte mit KI oder Anbindung an eine Smartphone-App
> statt eines schnöden alphanumerischen Displays.

Zum Spielen geht man aber nicht auf die Uni. Sage den Leuten, dass sie 
sich gerne in ihrer Freizeit in der Arduino und Maker Szene umschauen 
können.

Frank K. schrieb:
> PIC18 ist auch keine schlechte Wahl.

Sehe ich auch so. Er ist preisgünstig, gut verfügbar und nicht extrem 
exotisch.

> Andererseits kommen die meisten eingebetteten
> Systeme heutzutage nicht mehr ohne ein Interface über Bluetooth, Wifi
> etc. zu einer App auf Mobilgeräten aus. Da würde man kaum die Hardware
> direkt programmieren sondern ein fertiges Framework nutzen.

Eben deswegen taugen sie kaum für deinen Unterricht.

Wenn du vom PIC auf den ATmega328 wechselst, hast du einen 
Mikrocontroller, der in der IDE des Hersteller aber auch in der Arduino 
IDE programmierbar ist. Das gefällt deinen Studenten vielleicht besser.

Oder du magst vielleicht auf einen 32 Bit ARM Cortex M0 oder M3 
Controller (z.B. in Form eines Nucleo-F303 Boardes) wechseln. Zur 
Programmierung kann man die Cube IDE des Herstellers oder auch wieder 
die Arduino IDE verwendet werden.

Für deinen Unterricht würde ich aber die IDE aber nur mit direkten 
Registerzugriffen ohne Framework verwenden (was sogar die Arduino IDE 
durchaus unterstützt). Mit den Frameworks können sich die Studenten zu 
hause beschäftigen, wenn sie wollen.

Mehr Infos dazu: http://stefanfrings.de/stm32/stm32f3.html

: Bearbeitet durch User
von Franko S. (frank_s866)


Lesenswert?

Wer sich von Studenten vorschreiben lässt was sie lernen wollen macht 
was falsch.

von Frank K. (fchk)


Lesenswert?

Sherlock 🕵🏽‍♂️ schrieb:

> Wenn du vom PIC auf den ATmega328 wechselst, hast du einen
> Mikrocontroller, der in der IDE des Hersteller aber auch in der Arduino
> IDE programmierbar ist. Das gefällt deinen Studenten vielleicht besser.

Genau den würde ich eben NICHT nehmen. Niemals.

Wenn die Leute per ISP auf das Teil losgelassen werden, dann werden sich 
einige von denen garantiert wegen falscher Fuses aussperren. Das ist im 
Unterricht extrem doof, das willst Du nicht.
Bei PICs kannst Du Dich nicht aussperren. Bei den 8-Bittern ist 
HV-Programmierung sowieso Standard, und damit kommst Du unter ALLEN 
denkbaren Umständen immer wieder auf den Chip. Bei den 16 und 32 Bit 
Teilen wird ein spezielles Codewort reingetaktet, und damit ist das auch 
ohne HV-Programmierung (die gibts z.B. bei dsPIC33C und PIC32 gar nicht 
mehr) idiotensicher.

Zum Anderen ist das Debuggen mit Debugwire und dem Wechsel zwischen ISP 
und dW doof. Das geht anderswo besser, und es kostet Unterrichtszeit, 
die eh knapp bemessen ist. Und auf die Möglichkeit, sich über den 
Debugger RAM und SFRs (Special Function Register) anzeigen zu lassen und 
editieren zu können, würde ich aus didaktischen Gründen nicht verzichten 
wollen. Damit kann man nämlich sehr gut in das, was sonst eine Black Box 
wäre, reinschauen, und das ist eine Lücke bei Arduino.

Wenn schon AVR, dann einen der neueren mit UPDI. Ja, dafür gibts im 
Internet nicht so viele Tutorials, aber das sehe ich auch als Vorteil. 
Die Leute sollen sich selber hinsetzen und nicht ChatGPT die Arbeit 
machen lassen. Ein etwas weniger verbreiteter Prozessor hat also auch 
hier didaktische Vorteile.

Als ich mit dem Studium angefangen habe, wurden die 
Informatik-Frischlinge mit der Programmiersprache Miranda traktiert. 
Warum? Weil damit sichergestellt war, dass alle Studenten bei Null 
anfangen und niemand irgendeinen Vorteil durch Vorkenntnisse hatte. AUch 
wieder so eine didaktische Überlegung.

Ein weiterer Vorteil der PICs für den Unterricht: Nirgendwo sonst gibt 
es so viele Typen in anfänger-lötbaren DIL-Gehäusen, seien es 8, 16 oder 
32 Bit PICs. Wenn man wirklich bei 0 anfangen möchte, dann ist es nicht 
schlecht, wenn man sich alles nacheinander selber zusammenlöten kann und 
dann später auch noch mit dem Tastkopf problemlos überall drankommt.

fchk

: Bearbeitet durch User
von Sherlock 🕵🏽‍♂️ (rubbel-die-katz)


Lesenswert?

Frank K. schrieb:
> Zum Anderen ist das Debuggen mit Debugwire und dem Wechsel zwischen ISP
> und dW doof

Das stimmt wohl, ist mir auch auf die Nerven gegangen. Ziemlich träge 
und fehleranfällig.

Beim vorgeschlagenen Nucleo-F303 Board ist ein schneller 
Programmieradapter/Debugger/UART-Adapter mit drauf. Damit kann man 
sofort loslegen.

: Bearbeitet durch User
von Aleksandar K. (Firma: Mikrocontroller & Software) (aleks_1970)


Lesenswert?

PIC bietet noch den Vorteil, dass in der Microchip IDE eine Simulation 
auf dem PC läuft. Für die Simulation der externen Hardware gibt es eine 
Script-Sprache, nicht besonders bequem, aber nutzbar.
Leider ist MPLab X (basiert auf NetBeans) immer noch etwas unstabil und 
nicht besonders schnell, bietet aber Flashen aus der IDE und Simulation.

von F. (radarange)


Lesenswert?

Sollen die Leute Grundlagen lernen oder coole Anwendungen entwickeln? 
Für die Entwicklung einer coolen Anwendung sind sie nicht erfahren 
genug, da müssen solide Grundlagen vorhanden sein. Gerade Bluetooth ist 
einfach auch konzeptionell nicht wahnsinnig einfach, das würde ich 
niemandem antun, der bisher weder einen Microcontroller noch eine mobile 
App programmiert hat.

Nun also zur Hauptfrage nach der Vorgehensweise: Ich finde es gut, 
Grundlagen zu vermitteln und eigentlich ist es auch toll, wenn gelehrt 
wird, wie ein Datenblatt gelesen und verstanden werden kann. Nur: Die 
Realität sieht mittlerweile leider anders aus, Datenblätter von 
Microcontrollern und Sensorik erwähnen vielleicht noch Register, 
letztendlich soll aber alles über Libraries gemacht werden. Das Wissen 
darüber, wie Datenblätter zu verstehen sind, braucht man also 
tatsächlich nur noch, wenn man solche Libraries schreiben will. Das ist 
außerhalb dessen, was man so im Studium in einer Pflichtveranstaltung 
macht. Die Idee, Arduino und Micropython zu nutzen, ist daher ganz 
reizvoll, wenn man die Probleme natürlich entsprechend anpasst. Das sind 
gute Plattformen fürs schnelle Prototyping und zum Entwickeln von Ideen. 
Der bisherige Ansatz ist ohne Zweifel gut, der PIC18 ist ein guter 
Controller und MPLab eine viel bessere IDE als das Arduino-Zeug, aber 
letztere stellt eben alles an Libraries zur Verfügung, was man sich so 
wünschen kann. Aber heute wird eben sehr viel mit Abstraktionsschichten 
gearbeitet; natürlich ist es sinnvoll, zu wissen, wie das unten drunter 
funktioniert, aber wirklich notwendig ist es meistens nicht.
So ganz groartig ist das aber natürlich auch nicht, der Kurs wird eher 
anspruchsvoller: Wenn weniger Zeit dafür verwendet wird, grundlegende 
Grundlagen zu lernen, dann kannst du einfach davon ausgehen, dass sie 
Probleme gelöst kriegen. Eine kleine C-Einführung haben sie ja schon 
gehabt, man könnte also durchaus schlimme Aufgaben stellen, in denen sie 
Libraries anpassen und sich doch wieder in Datenblätter einarbeiten 
müssen. Viele Libraries verzichten beispielsweise auf die Unterstützung 
von Energiespar-Modi, da könnte man als Aufgabe ja mal stellen, eine 
Funktionalität auf bestehender Hardware umzusetzen und unter einem 
gewissen Energiebudget zu bleiben. Der Anspruch sinkt ja nicht, er 
verlagert sich nur.

Die Hardware-Frage ist meines Erachtens nach zweitrangig, ein System wie 
der Raspberry Pi Pico W (RP2040 + WiFi/Bluetooth-Modul) ist aber 
kostengünstig und bietet alles, was das Herz begehrt, um auch die 
motiviertesten Studierenden zu quälen, lässt sich mit C++, 
Arduino-Libraries und auch Micropython programmieren. Und mal unter uns: 
Sobald du mit GATT anfängst, wünschen die sich alle die 
Siebensegmentanzeige zurück. ;)

von Mi N. (msx)


Lesenswert?

Fritz G. schrieb:
> In der Vorlesung habe ich den Schwerpunkt auf die Hardware gelegt:
> Schematischer Aufbau eines Controllers, IO-Ports, Timer/Counter/PWM
> sowie Kommunikation über UART, SPI, I2C und CAN. Wichtig ist mir dabei
> die Fähigkeit, ein Datenblatt lesen und verstehen zu können. Der
> Softwareteil besteht aus einem C-Programmierkurs mit besonderem
> Augenmerk auf μC-spezifisches, z.B. Variablenaustausch mit Interrupts.

Anstatt KI möchtest Du also NI vermitteln ;-) Das finde zumindest ich 
sehr gut!

PIC-xyz und Co. kenne ich nicht. 8051 zeigt, wie es ganz schlicht gehen 
kann. ATmega-xyz ist auch noch recht einfach aufgebaut. Daß man das Teil 
'verfusen' kann, würde ich nicht als Nachteil ansehen: steckbares 
28-pol. DIL-Gehäuse und den µC im 'Schadensfall' einfach ersetzen.
Nachteilig bei allen Typen finde ich, daß man nicht einfach in die 
Controller blicken kann. Bei einem Simulator wird nur der Kern 
simuliert, extern angeschlossene Peripherie wird nicht beachtet.

Nun kam der Vorschlag mit den neuen ATtiny/mega mit UPDI-Schnitstelle, 
die auch einen Blick auf die 'inneren Werte' zuläßt. Diese finde ich 
aber nicht empfehlenswert, sofern man nicht schon zuvor mit AVRs 
gearbeitet hat und zum Beispiel akzeptiert, daß jeder Timer anders 
gestrickt ist. Einiges geht, anderes nicht, nichts genaues weiß man 
nicht: eine Sackgasse, wie ich finde.

Sofern mit sachkundiger Anleitung gelehrt wird, wäre mein Vorschlag, mit 
einem µC auf M0/M3/M4 Basis zu beginnen. Es gibt diverse Hersteller und 
Typen, selber würde ich namentlich STM32G0xx oder STM32G4xx empfehlen.
Mein Hauptpunkt dabei ist die SWD-Schnittstelle, die den Controller auch 
zur Laufzeit transparent einseh- und auch veränderbar macht. So kann man 
die Arbeitsweise am besten nachvollziehen bzw. verstehen - ob nun 
Registerwerte oder C-Variablen.
Man kann den Programmablauf von Anfang an mit Laden des Stackpointers 
und des PC verfolgen. Hat man bei Programmierung (in C) die 
anschließende Initialisierung verstanden, kann man eine Ebene höher 
ansetzen und die Programme ab main() beobachten.

Datenblätter und Referenz-Handbücher sind ausführlich und beschreiben 
ohne Schwafelei die Funktion der Peripherie: Bit für Bit. Oben wurde 
über die angeblich schwierige Einstellung der Taktsignale 'geklagt'. Was 
soll das? Nach einem Reset laufen die Controller mit (langsamen) 
Voreinstellungen auf jeden Fall los, ohne daß man sich groß darum 
kümmern müßte.
Und auch die Peripherie kommt mit ganz wenigen Grundeinstellungen aus; 
zusätztliche 'Fietschers' kann man erst einmal ignorieren.

Wenn man soweit gekommen ist, mit wenigen Registerzugriffen einen 
IO-Port 'wackeln' zu lassen oder per UART ein Zeichen zu senden, hat man 
den Kern der Controller verstanden. Zudem hat man die Grundlage, mit 
einem zeitgemäßen µC mit transparenter Programmierung und einem riesigen 
Adressraum arbeiten zu können. Anreiz für die Smartiefreaks: in ihren 
Telefonen werkelt (vermutlich) auch ein ARM ;-)

Zur Hardware: hier würde ich einfach Nucleoboards mit lokalem ST-Link 
vorschlagen. Es wird egal sein, ob die nur 10 oder 30 Euro kosten.

Zur Software: vor einigen Jahren hätte ich eine kostenlose 
IAR-Demoversion mit 32 kB Grenze wegen des guten Debuggers empfohlen. 
Die wird leider nicht mehr angeboten. Eine Alternative wäre eine IDE von 
Segger, von der ich weiß, daß man hiermit auch gut debuggen kann. Andere 
Anwender werden andere und/oder auch bessere Vorschläge machen können.
Bei den STMs gibt es in der Regel eine einzige µC-spezifische .h-Datei 
die alle Definitionen von Registern und deren Bits beinhaltet, wie sie 
auch im Referenz-Handbuch benannt sind. Keine lästige Sucherei, wie und 
wo etwas stehen könnte.

Vorschläge in Richtung Arduino - mit welchen Controllern auch immer - 
oder dem RP2040, weil dieser so günstig sei, möchte ich zurückweisen. 
Das kann man als Bastler oder zum schnellen Zeitvertreib gerne machen, 
aber es ist keine Wissensgrundlage. Vorgekautes nur nachzukauen kann 
nicht das Ziel eines Studiums sein.
Meine Meinung.

von F. (radarange)


Lesenswert?

Mi N. schrieb:
> Vorschläge in Richtung Arduino - mit welchen Controllern auch immer -
> oder dem RP2040, weil dieser so günstig sei, möchte ich zurückweisen.
> Das kann man als Bastler oder zum schnellen Zeitvertreib gerne machen,
> aber es ist keine Wissensgrundlage. Vorgekautes nur nachzukauen kann
> nicht das Ziel eines Studiums sein.
> Meine Meinung.

Ich weiß ja nicht, was du studiert hast, aber auch dort wurde nicht das 
Rad neu erfunden. Genauso, wie es Bücher mit Tabellen von Gleichungen 
gibt, gibt es Software-Bibliotheken. Es ist schön, Grundlagen zu 
verstehen, aber man muss sich bei vielen Studiengängen fragen, wo der 
Kompromiss zwischen dem Verständnis der Prinzipien und der 
Praxisrelevanz liegt.
Ziel eines Studiums ist natürlich die Vermittlung gewisser Kompetenzen, 
doch die verändern sich natürlich mit der Zeit. Es ist schön 
illustrativ, mal eine Schaltung aus Logikgattern nur mit Transistoren 
und Dioden aufzubauen, das macht aber natürlich heute niemand mehr. Man 
kann das einmal ansprechen, um ein wenig Verständnis für die Historie zu 
vermitteln, aber dann ist es auch gut. Ähnlich sehe ich es mit 
"einfachen" Microcontrollern: Wenn kein tiefgehendes Verständnis für die 
Grundlagen gefordert ist, warum sollte man sich dann (ggf. nach einem 
kurzen Low-Level-Exkurs) nicht auf Anwendungen für Microcontroller 
konzentieren und entsprechend geeignete Plattformen für Prototyping 
nutzen? Es ist keineswegs so, dass nur "Vorgekautes" gelöst wird, 
sondern eher eine Änderung der Bezugsebene. Meines Erachtens nach werden 
die Probleme eher anspruchsvoller, weil es mehr Möglichkeiten gibt, 
diese zu lösen.

Zu beachten ist natürlich auch der Kontext der Fragestellung: Es handelt 
sich nicht um ein wissenschaftlich ausgerichtetes Studium (da wären 
intensivere Grundlagen wahrscheinlich nicht verkehrt) und auch nicht um 
eine Veranstaltung für Elektrotechnik- oder Informatik-Studiengänge. 
Außerdem können die Studierenden kein C, sondern verwenden modernere 
Hochsprachen:

Fritz G. schrieb:
> Ich habe einen Lehrauftrag im Fach Mikrocontrollertechnik an einer
> Hochschule. Das Modul besteht aus einer theoretischen Vorlesung und
> einem praktischen Labor. Die Studenten stammen aus den Fachrichtungen
> Mechatronik, Maschinenbau und Medizintechnik und haben i.a. keine
> Vorkenntnisse in Mikrocontroller-Vorkenntnisse. Im Grundstudium haben
> sie ein wenig mit Python und Java bzw. C# programmiert.

Ich halte es daher für absolut nicht verkehrt, die 
Hardware/Software-Umgebung zugänglicher zu gestalten und dafür die 
Probleme komplexer zu machen.
Es lassen sich ja weiterhin kleine "Projekte" entwickeln, an denen 
Konzepte illustriert werden, z.B. Servomotor-Controller (Schrittmotor, 
magnetisches Drehencoder-IC, RS485-Beschaltung) [Timer, I2C/SPI, UART], 
PPG/Pulsoximeter [Display, ADC, Signalverarbeitungsalgorithmen], 
kapazitive Taster, etc.; mit ein wenig Kreativität fällt einem da schon 
was ein.
Es ist ja nicht so, dass dein bisheriges Vorgehen schlecht ist, aber 
aufgrund der Vorkenntnisse und Studienrichtungen der Studierenden, die 
deine Veranstaltung besuchen, können deren Ausrichtung und Lehrinhalte 
sicher ein wenig angepasst werden, um etwas mehr Spaß zu machen. Es ist 
ja ein Studium und keine Berufsausbildung; daher ist es meines Erachtens 
nach geschickter, im Rahmen einer solchen Veranstaltung, die zeitlich 
auch stark begrenzt ist, ein Verständnis für Möglichkeiten und Grenzen 
aufzuzeigen, als zu erwarten, danach in Microcontroller-Programmierung 
einsteigen zu können. Diejenigen, die später tatsächlich 
Microcontroller-Software entwickeln müssen, werden sich sowieso zu 
gegebener Zeit in diese Details einarbeiten. Es ist hilfreich, 
Synergieeffekte zu nutzen, wo sie verfügbar sind: Bekannte IDEs, 
bekannte Sprachen, Programm-Upload per USB-Kabel, etc., das sorgt alles 
dafür, dass tatsächlich konzeptionelle Grundlagen besser vermittelt 
werden können, weil der ganze technische Ballast wegfällt.
Daher auch meine Anregung, günstige, vielseitige und gut verfügbare 
Hardware zu nutzen: Erstens ist das in der Beschaffung weniger 
problematisch, zweitens können sich diejenigen, die durch die 
Veranstaltung tatsächlich Interesse daran gefunden haben, auch für 
extrem wenig Geld so ein Ding zur hobbymäßigen Beschäftigung besorgen.

von Scyte R. (scyte)


Lesenswert?

Ich halte gerade im Studium nichts von Abkürzungen. Also gerne mal auf 
Registerebene und mit Datenblatt arbeiten lassen.

Bei uns Informatikern war das so:

Alles war für zweier Teams (Macht das Durchbeißen einfacher, Defizite 
kann man gegenseitig ausgleichen)

Wir hatten damals kleine Roboterplatformen die jeweils Ihre eigene Arena 
hatten. Die IDE lief im Webbrowser dort könnte man sich einen Roboter 
buchen dann könnte man aus dem Browser die Software drauf laden und über 
eine Webcam sehen was der Roboter gemacht hat. Das war sehr cool.

1. Erstes HelloWorld mit LED / Shift-Register mit 7 Segment Display.
Hilfe war grobes Erklären wie das Register funktioniert und eine kleine 
Einführung in Bit Operationen und Datenblatt lesen.

2. Ultraschall Entfernungsmesser und den Abstand auf dem Display aus 1 
anzeigen lassen. Hier gab es den noch mehr Infos über den Schaltplan und 
Hinweise wie man evtl. Linearisieren könnte.

Zwei Wochen Später war dann Abnahme der Lösung mit Rückfragen und 
Erklärung des Code (um Plagiate zu vermeiden)

3. Aufgabe
IMU in Betriebnehmen und den Winkel berechnen und auf dem Display 
ausgeben lassen.

4. Motoren (H-Brücke) ansteuern, mit Timer und PWM und Encoder in 
Betrieb ehmen dann mittels IMU und PID Regler 1m vorwärts fahren drehen 
und wieder zurück auf die Ursprungsposition
(3-4Wochen)

War sehr cool, aber auch anspruchsvolle Lernkurve. Aber das Wesentliche 
ist hängen geblieben. Ohne Informatikbackground würde man evtl. nur bei 
Schritt 3 gehen oder weniger streng sein, wie genau das werden soll.

von Joe G. (feinmechaniker) Benutzerseite


Lesenswert?

Fritz G. schrieb:
> Was meinen die Jüngeren hier im Forum dazu?

Obwohl ich nicht angesprochen bin, möchte ich zur obigen Frage meinen 
Standpunkt kundtun.
Als alter weißer Mann habe ich seit Jahrzehnten genau die Klientel 
welche du ansprichst in Bezug auf Mikrocontrollertechnik in Vorlesungen, 
Übungen und Praktika. Dabei habe ich die folgenden Beobachtungen 
gemacht:
-  das Eingangsniveau / technische Verständnis nimmt kontinuierlich ab
-  die Vorbildung nimmt kontinuierlich ab
-  praktische Erfahrungen zu elementaren Tätigkeiten wie Löten, Messen, 
Steckbrettversuchsaufbauten sind nicht vorhanden
-  ein Verständnis der Digitaltechnik (Zahlensystemen, logische 
Verknüpfungen, digitale Grundbausteine) ist extrem mangelhaft
-  Fähigkeiten zur systematischen Fehlersuche in Hard- und Software sind 
nicht vorhanden oder sehr unterentwickelt
-  Fokus und damit die Motivation liegt durch die extrem kurze 
Aufmerksamkeitsspanne nur auf „coolen“ Projekten.
Aufbau eines Controllers, IO-Ports, Timer, serielle Schnittstellen mit 
ihren entsprechenden Bussystemen waren vor 25 Jahren kein Problem in der 
Ausbildung. Heute wird durch die Studenten absolut kritikfrei eine 3.3V 
UART mit einer echten RS232 zusammengeschaltet, zur Not die 
Strombegrenzung im Netzteil ausgeschaltet weil da eine 3.7 vor dem A 
steht;-)
Erschwerend kommt hinzu, dass die notwendigen Tools und Softwarepakete 
immer umfangreicher werden und die Zeit für die Erklärung der Software 
geopfert werden muss.
Ich persönlich werde ab dem Frühjahrssemester einen neuen Ansatz wählen.
Ein RP2024 mit MicroPython und der Thony IDE.
So ein System ist extrem einfach in Betrieb zu nehmen und kann jedem 
interessierten Studenten auch leihweise mitgegeben werden.
Damit können zunächst einfache Dinge wie IO-Ports, Taster, Timer, PWM 
usw. an der Konsole erarbeitet werden. Der Student kann sofort durch die 
Konsolen Ein- und Ausgabe sehen was passiert. Nach und nach lassen sich 
diese einfachen Befehle dann in kleine Programabschnitte integrieren, 
welche wiederum später zu Modulen erweitert werden können.
Ob dieses Konzept besser ankommet weiß ich leider auch erst nach einem 
Semester. Ein Versuch ist es jedoch wert, da die derzeitige 
Wissensvermittlung keinen wirklichen Effekt hat.

von Mi N. (msx)


Lesenswert?

Letztlich hat der TO die Qual der Wahl. Wenn es nur um die 
(Spiel-)Wünsche der Studies geht, wäre mir meine Arbeit dafür zu schade.

Dann weiß ich auch nicht, wie groß die Gruppe ist. Bei 4 - 5 Personen 
könnte man genug Interesse wach halten und die Grundlagen in rel. kurzer 
Zeit vermitteln. Bei => 10 wird immer einer anfangen zu gähnen, egal, 
wie man es angeht.
Basierend auf meinem Vorschlag kann man in der Folge zu HAL oder 
Arduino-Lib aufsteigen/erweitern und die passenden Pakete dazuklicken. 
Anfangen würde ich damit aber nicht.

von Bruno V. (bruno_v)


Lesenswert?

Fritz G. schrieb:
> Jetzt in den freien Tagen bin ich einmal in mich gegangen.

Hut ab, Fritz! Ich finde es toll, wie sehr Du Notwendigkeiten mit 
Bequemlichkeit der Studenten unter einen Hut bringen willst. Ich 
vermute, Du machst das nur Nebenbei und steckst weit mehr Arbeit als 
viele Kollegen da rein.

Entschuldige daher, wenn ich Dir noch mehr Arbeit aufbürden möchte: Ich 
denke, einige Basics (wie Entprellen, Variablen im Interrupt) braucht 
man nur anzureißen (also wirklich nur in einem Satz oder einem Link). 
Die meisten haben damit nie wieder was zu tun, die Hälfte nimmt es gar 
nicht auf (weil es "praktisch" kein Problem löst sondern nur mehr 
Aufwand ist) und die anderen lernen es schneller, wenn sie mal darauf 
reinfallen.

"Von Beginn an richtig" funktioniert für Newbees nirgendwo. Am Anfang 
müssen Neugier und Erfolge stehen.

Zu meiner Zeit war SW-I2C-Master eine verbreitete Aufgabe. Meistens ohne 
Clock-Stretching und stattdessen mit "vodoo-NOPs". Falsch. Ja und? Das 
System läuft und dann ist es viel einfacher, den nächsten Schritt zu 
gehen.

Ausgewogen wäre heute vielleicht, ein LED mit µC-Pin zu steuern und das 
dann direkt auf Bluetooth und GUI zu erweitern. Und falls es eine 
Studienarbeit gibt, 3-er Teams, wo jeder einen Bereich ausbaut (Gyro 
auslesen oder Funkuhr oder sowas, mit Visualisierung).

von Volker S. (vloki)


Lesenswert?

Fritz G. schrieb:
> und beim Arduino hoffen sie womöglich,
> zumindest einen Teil der Lösung im WWW bereits fertig vorzufinden

Leider absolut typisch. Nicht die geringste Ahnung was abgeht.
Hauptsache es sieht so aus als ob irgendwas funktioniert.

Blöd nur, wenn's halt irgendwie doch nicht so einfach funzt.
Irgendwie gar keine Motivation mehr dann weiter zu helfen ;-)

: Bearbeitet durch User
von Marx (marx_t)


Lesenswert?

Ich bin schon seit über 10 Jahren Entwickler.

In der Hochschule sollte man im Bereich Controller (µController) 
natürlich, für die erste Vorlesung einen 8 biter wählen, asm, dann C.

Dann sollte man aber ganz schnell 32 bit nehmen und dann ideal einen 
stm32. Dann sollte man erstmal bare mental alles durcharbeiten und dann 
auch bitte RTOS (in C/C++).

In Digitaltechnik ist es doch auch normal, FPGAs zu nutzen?

Wenn man das in der Hochschule nicht macht, warum und wieso?

von Sherlock 🕵🏽‍♂️ (rubbel-die-katz)


Lesenswert?

Marx schrieb:
> für die erste Vorlesung einen 8 biter wählen
> Dann sollte man aber ganz schnell 32 bit nehmen

Ich verstehe nicht, was an der Anzahl der Bits so wichtig sein soll.

Wenn ich 8 Bit Rechner verstehe, dann verstehe ich auch jede andere 
Anzahl von Bits. Viele Berechnungen sind (für den Menschen) mit 32 Bit 
sogar deutlich einfacher, als sie in mehrere 8 Bit Operationen zerlegen 
zu müssen.

Ich denke, es geht um die im 32 Bit Umfeld üblicherweise komplexere 
Peripherie und Entwicklungstools. Aber auch dort geht es einfach. Der 
STM32L010 (um nur ein Beispiel zu nennen) ist nur wenig komplexer, als 
ein ATmega328. Er kann problemlos bare-metal programmiert werden, seine 
Dokumentation und Entwicklungsumgebung unterstützen das. Auch auf diesem 
Mikrocontroller lernt man, mit wenig (Leistung, RAM, Flash) aus zu 
kommen.

Die jungen Leute wollen für ihre Zukunft lernen, also nicht den alten 
Kram von Opa, sondern den heißen Scheiß von morgen. Mit Grundlagen hat 
das nichts zu tun, wohl aber mit Motivation, und die ist beim Lernen 
enorm wichtig.

: Bearbeitet durch User
von Joe G. (feinmechaniker) Benutzerseite


Lesenswert?

Kleine Anekdote aus meiner letzten Vorlesung im Dezember dieses Jahres.

Ich habe vorgeschlagen eine fakultative Veranstaltung fachgebiets- und 
semesterübergreifend anzubieten, wo über einfache (SMD) Lötübungen, über 
Schaltungs- und Layoutdesign bis hin zu einfachen 
Mikrocontrolleranwendungen referiert und geübt werden kann.

Querschnittsantwort der Studenten: Ja, klingt ganz nett – ABER wenn es 
nicht über Leistungspunkte anerkannt wird und zusätzlich ist, lieber 
nicht – wir haben schon sooooo viel zu tun. Mein Einwand es einfach für 
ihre persönliche Weiterbildung zu tun, verpuffte ganz schnell.

soviel zur Motivation …

von Sherlock 🕵🏽‍♂️ (rubbel-die-katz)


Lesenswert?

Joe G. schrieb:
> soviel zur Motivation …

Ja das ist traurig. Das Studium war mal für die Menschen gedacht, die 
darauf brennen, mehr zu lernen und besser zu werden, als der 
Durchschnitt.

Diese Leute nehmen heute privat-Unterricht.

von Marx (marx_t)


Lesenswert?

Ob man jetzt ein alten 8 Bit herauswerft und gleich mit 32 bit anfängt, 
naja klar kann ein einfacher 32 Bit genauso leicht sein.

Das ist nicht die Frage, aber geht ihr in der Hochschule weiter als die 
einfachen Grundlagen?

Tja, diese Skills, die freiwillig sind, da glauben die, das macht in 
Zukunft eh der Elektroniklabortechniker.
Die Ingenieure arbeiten dann die Vorschriften durch, und prüfen, ob alle 
erfüllt sind, dazu werden dann endlose Exceltabellen ausgefüllt.
Dann werden dafür Techniker dirigiert, evtl. gehen die Studenten damit 
ins Studium.

Dass man evtl. in ein Start-up landet, wo jeder alles können muss, das 
wird dann sich "bezahlt" machen, wenn man selber etwas mehr Hand 
angelegt hat.
Naja die jungen Leute wollen sowieso alle BWL studiere hört man, und das 
sie lieber gleich das große Geld und die großen Leiter sein wollen.

Ich glaube im Modul sollte man die Grundlagen klein halten und gleich 
langfristig komplexere Controller nehmen, die man mit einem 
Semesterprojekt im Team löst.
Würde ich in die Lehre gehen, hätte ich auf Basis meiner Berufserfahrung 
genug Ideen.

Meistens kommen die frischen Absolventen mit den Grundlagen sehr breit 
aufgestellt. Und dann müssen die sich erstmal in ein langjähriges 
komplexes (altes) Projekt einarbeiten. Dann müssen die auch erstmal 
ausgebildet werden, manche machen das selber, andere brauchen etwas 
support, und andere können nach 2 Jahren zurück zur Uni.

von Stephan S. (uxdx)


Lesenswert?

> Ich habe einen Lehrauftrag im Fach Mikrocontrollertechnik an
> einer Hochschule.

> Sie wünschen sich interessantere Projekte mit KI oder Anbindung an
> eine Smartphone-App statt eines schnöden alphanumerischen Displays.

Das widerspricht sich doch.

Das Leben besteht nicht nur aus Libraries, wenn man mal ein 
zeitkritisches Problem hat, muss man evtl. direkt ran an die Register 
und Ports.

So wie Du es schreibst, liegst Du m.E. völlig richtig. Und der PIC18 ist 
ideal dafür.

von G. K. (zumsel)


Lesenswert?

Joe G. schrieb:
> Kleine Anekdote aus meiner letzten Vorlesung im Dezember dieses Jahres.
>
> Ich habe vorgeschlagen eine fakultative Veranstaltung fachgebiets- und
> semesterübergreifend anzubieten, wo über einfache (SMD) Lötübungen, über
> Schaltungs- und Layoutdesign bis hin zu einfachen
> Mikrocontrolleranwendungen referiert und geübt werden kann.
>
> Querschnittsantwort der Studenten: Ja, klingt ganz nett – ABER wenn es
> nicht über Leistungspunkte anerkannt wird und zusätzlich ist, lieber
> nicht – wir haben schon sooooo viel zu tun. Mein Einwand es einfach für
> ihre persönliche Weiterbildung zu tun, verpuffte ganz schnell.
>
> soviel zur Motivation …

Der Elon macht es vor, verspricht seit 15 Jahren selbstfahrende Autos 
die es bis heute nicht gibt.

von Marx (marx_t)


Lesenswert?

G. K. schrieb:
> Der Elon macht es vor, verspricht seit 15 Jahren selbstfahrende Autos
> die es bis heute nicht gibt.

Dass mit MUSK zu vergleichen finde ich doch etwas weit aus der Welt 
gegriffen, aber passt schon.
Aber ich habe heute nochmal mit einem Kollegen gesprochen, ja irgendwie 
muss man ja auch die Absolventenschwemme "nachsieben", wer nur stupide 
nach Lehrplan gelernt hat, und keine "aufregende" Abschlussarbeit hat, 
die zur Firmenaufgabe passt, der ist raus.

Stell Dir vor, die Jünglinge könnten Dein "know-how" und die Erfahrung 
im Studium bekommen und machen Deine Arbeit genauso gut, dann wären ja 
die alten schneller in Rente, als man bis drei zählen kann.

Gab mal die Serie "das Amt", wenn Dienst nach Vorschrift in der 
staatlichen Uni angesagt ist, dann darf der 8 Bit Controller nicht aus 
dem Lehrplan entfernt werden!

von F. (radarange)


Lesenswert?

Joe G. schrieb:
> Kleine Anekdote aus meiner letzten Vorlesung im Dezember dieses Jahres.
>
> Ich habe vorgeschlagen eine fakultative Veranstaltung fachgebiets- und
> semesterübergreifend anzubieten, wo über einfache (SMD) Lötübungen, über
> Schaltungs- und Layoutdesign bis hin zu einfachen
> Mikrocontrolleranwendungen referiert und geübt werden kann.
>
> Querschnittsantwort der Studenten: Ja, klingt ganz nett – ABER wenn es
> nicht über Leistungspunkte anerkannt wird und zusätzlich ist, lieber
> nicht – wir haben schon sooooo viel zu tun. Mein Einwand es einfach für
> ihre persönliche Weiterbildung zu tun, verpuffte ganz schnell.
>
> soviel zur Motivation …

Ich kann deine Frustration verstehen, das Problem ist aber nicht bei den 
Studierenden zu suchen, sondern bei eurer Uni. Das modularisierte 
Studium besteht nun mal aus Veranstaltungen, die alle einzeln geprüft 
werden, eine Veranstaltung ohne Prüfung ist also im Studienkontext 
nichts wert. Da heute auch immer weniger geduldet wird, "zu lange" zu 
studieren, muss alles, was besucht wird, auch irgendwas bringen. Es ist 
prinzipiell überhaupt kein Problem, so eine Veranstaltung als Seminar 
o.ä. anzubieten und somit den interessierten Studierenden die 
Möglichkeit zu geben, für ihren Zeitaufwand zumindest ein paar Credits 
mitzunehmen.

von Joe G. (feinmechaniker) Benutzerseite


Lesenswert?

F. schrieb:
> Das modularisierte
> Studium besteht nun mal aus Veranstaltungen, die alle einzeln geprüft
> werden, eine Veranstaltung ohne Prüfung ist also im Studienkontext
> nichts wert.

Hier bin ich anderer Meinung. Ich verfolge den Ansatz der humanistischen 
Bildung. Bei diesem Ansatz läßt ein Lehrer die Schüler aus eigenem 
Willen und Wissensdrang lernen. Dieser Anspruch des humboldtschen 
Bildungsideals sollte für alle Hochschulen gelten.

Unbestritten erleben wir mit dem Bologna-Prozess eine Aufweichung des 
humboldtschen Ideals, hin zu einer extrem ausgeprägten Spezialisierung 
verbunden mit hohen wirtschaftlichen Interessen. Nur leider bringt die 
Ökonomisierung des Bildungssystems genau die Schüler und Studenten 
heraus, welche ich oben beschrieben habe.

Der Leitspruch der technischen Hochschulen sollte also weiterhin, „Hier 
werden nicht Menschen zu Ingenieuren, sondern Ingenieure zu Menschen 
gebildet“ lauten.

von Til S. (Firma: SEGGER) (til_s)


Lesenswert?

Fritz G. schrieb:
> Ist es heute noch zeitgemäß, die Studenten mit der Programmierung von 8
> bit- Controllern auf Registerebene zu quälen, wenn sie das später nie
> mehr brauchen? Was meinen die Jüngeren hier im Forum dazu?

Ja, auf jeden Fall. Wir unterstützen unzählige vergleichbare 
Veranstaltungen und können sicherlich helfen:
https://www.segger.com/segger-educational-partnership-program/

Als Hardware würde ich einen Cortex-M/STM32 mit SEGGER Embedded Studio 
empfehlen. SEGGER Embedded Studio kann kostenlos für die Lehre 
eingesetzt werden. STM32 Discovery/Nucleo Boards gibt es schon für ein 
paar Euro. Wenn es komplexer werden soll, kann auch unsere komplette 
Embedded Software (RTOS, TCP/IP Stack, ...) in der Lehre kostenlos 
eingesetzt werden.

Damit kann man beides erreichen: Grundlagen auf Bit Ebene vermitteln 
aber auch komplexere und für Studenten interessante Applikation 
entwickeln. Die Studenten arbeiten dabei mit den gleichen Tools, die sie 
später auch in der Industrie einsetzen.

von Carsten R. (carsten_r140)


Lesenswert?

Fritz G. schrieb:
> Ist es heute noch zeitgemäß, die Studenten mit der Programmierung von 8
> bit- Controllern auf Registerebene zu quälen, wenn sie das später nie
> mehr brauchen? Was meinen die Jüngeren hier im Forum dazu?

Hallo, Ich bin seit einem halben Jahr mit meinem Techniker in 
Mechatronik Technik fertig. Bin selbst Anfang 30 und kann dir sagen: Ich 
fand das ganze Thema µC sehr anstrengend...
Wir haben Interrupts et. an einem ATMEGA16 gelernt und ich bin froh zu 
wissen wie das ganze funktioniert.
Datenblätter lesen lernen und verstehen, finde ich, sind die wichtigsten 
Punkte bei diesem Thema.
"Wie finde ich das passende Bauteil für meine Anwendung" habe ich 
wirklich vermisst.

Zeitgemäß fände ich die Verwendung von AVR und PIC nur in Verbindung von 
MPLAB X IDE. Ich finde das arbeiten hier angenehm, weil hier schon 
einige Treiber und Bibliotheken durch die IDE gestellt werden können, 
was das ganze von der Handhabung, näher an µPython etc. bringt.

Ich brauche nicht x mal einen IIC oder UART initialisieren lernen...
Das reicht einmal...
Verstehen was dahinter steckt muss sein, nicht aber das x mal machen 
nicht. Hier gibt es fertige Treiber die das ermöglichen, welche von den 
IDE gestellt werden.

Das einrichten der IDE für einen ESP32 oder ähnliche finde ich wichtig.
Wenn das funktioniert, dann kann Programmiert und gemacht werden.
Am besten auch mithilfe des Datenblattes des Controllers.
PWM am ESP32 einrichten ist anders als bei AVR und Konsorten.
Zeigen wo und wie man was im Datenblatt findet und bedient sollte, 
meiner Meinung nach, im Fokus stehen.

Es gibt heute fast kein Lernprojekt mehr, das man nicht im Netz finden 
kann, oder bei dem ChatGPT nicht helfen kann...
das gehört inzwischen dazu. Da kann man sich nicht mehr dagegen 
wehren...

mit dem ESP hatte ich mit PWM angefangen, um mich dann ans "Internet" 
ranzutasten.
Ich habe mit eine Zeitschaltuhr gebaut, die im Netz die Uhrzeit gezogen 
hat, die Verbindung beendet hat, um dann einen Zugangspunkt zur 
Verfügung zu stellen, wo man im Browser Ein- und Ausschaltzeiten 
einstellen kann.
Aus der UID habe ich die SSID und PW generiert, sodass ich per QR-Code 
mich mit dem Gerät verbinden konnte.

Im groben Ganzen habe ich vermisst Zeitgemäß zu arbeiten.
Aktuelle IDE und Datenblätter haben mir gefehlt.

von Mi N. (msx)


Lesenswert?

Carsten R. schrieb:
> Aktuelle IDE und Datenblätter haben mir gefehlt.

Bezieht sich das jetzt auf den von Dir angesprochenen ESP32? Da fehlt 
mir eigentlich auch jegliche substanzielle Information, sodaß ich das 
Teil nie angefasst habe. Was es gibt sind irgendwelche LIBs für Arduino 
& Co., die wohl das Spielen leicht machen aber auf die ich mich nie 
verlassen würde.

Vielleicht suchst Du mal nach dem Datenblatt eines STM32G431 und nach 
dessen Referenzhandbuch: Da steht alles drin, was das Herz und auch das 
Hirn begehren!

Til S. schrieb:
> Die Studenten arbeiten dabei mit den gleichen Tools, die sie
> später auch in der Industrie einsetzen.

Schön, daß Du meinen obigen Vorschlag wiederholst und es Deinem 
Arbeitgeber ermöglichst, Dir genug Taschengeld für die Brötchen zu geben 
;-)

Um noch einmal auf 8 Bit vs. 32 Bit zu kommen: Ein 8 Bitter ist 
historisch bedingt einfacher und transparenter aufgebaut und daher 
anfangs deutlich einfacher zu verstehen. Man kann den Code mit 
Befehlstabelle, Bleistift und Papier erzeugen.
Dagegen sind Befehle mit bis zu drei Operanden mit diversen 
Adressierungsarten, mehreren lokalen Bussen, Pipeline bei der 
Abarbeitung deutlich komplexer. Hier würde ich nicht mehr erwarten, zum 
Beispiel Cortex M Controller in Assembler programmieren zu können. Was 
meines Erachtens reichen würde, den von einem C-Compiler ohne 
Optimierungen erzeugten Code nachzuvollziehen und verstehen zu können. 
Man kann kontrollieren, ob das Programm wunschgemäß umgesetzt wird. Das 
reicht für die praktische Anwendung voll aus.
Auf der anderen Seite würde ich RTOS nicht als Ziel formulieren, weil 
auch das schon zu speziell wird.

Das Feine beispielsweise bei den Cortex M Controllern ist, daß sich 
jeder nach eigenen Interessen austoben kann - beim Füttern von Pipelines 
oder Synchronisieren von Tasks. Ob man einen Controller mit Uhrentakt 
extrem sparsam betreibt oder Taktfrequenzen bis in den GHz Bereich für 
hohe Leistung benötigt - auch das kann sich jeder nach Gutdünken 
umsetzen.
Das finde ich zeitgemäß.

von Til S. (Firma: SEGGER) (til_s)


Lesenswert?

Mi N. schrieb:
> Schön, dass Du meinen obigen Vorschlag wiederholst und es Deinem
> Arbeitgeber ermöglichst, Dir genug Taschengeld für die Brötchen zu geben
> ;-)

Sorry, ich hatte nicht alles komplett gelesen. Ja, natürlich ist es auch 
die Idee, dass Studenten unsere Tools jetzt kostenlos nutzen und später 
im Job kaufen :-).

von Gerd E. (robberknight)


Lesenswert?

Grundsätzlich finde ich die Idee gut dass die Studenten sich mal die 
Register selbst anschauen müssen und nicht nur irgendeine fertige 
High-Level-Library auf das Problem werfen. Denn in der Praxis kommt es 
oft genug vor dass der Fehler genau dort liegt und man dann der Sache 
auf den Grund gehen können muss.

Allerdings mag ich die PIC18 nicht. Und zwar weil die Cores nicht 
wirklich für kompilierten C-Code gemacht sind und es daher nur wenig 
Auswahl bei Compilern gibt. Das schränkt einen sehr in den Möglichkeiten 
ein.

Z.B. unterstützt der MPLAB-C18 nur C89, was nun wirklich nicht mehr 
zeitgemäß ist. Klar, man kann sich damit zurechtfinden. Aber wenn man 
parallel ne Veranstaltung zu Design-Patterns in C/C++ hört dann ist das 
alles eher ein Negativbeispiel, also wie man es nicht machen soll. Das 
lässt den ganzen Kurs nicht im besten Licht erscheinen. Auch wenn im 
Kurs kein Fokus auf diesen Aspekt gelegt wird, sollte das doch 
einigermaßen zeitgemäß sein.

Worauf ich Wert legen würde ist dass der Controller nur schwer zu 
verflashen ist. Also keine Fuses die, einmal falsch gesetzt, das Ding 
nur schwer wiederbelebbar machen. Integrierter Bootloader um die 
Schwierigkeiten mit der Toolchain so gering wie möglich zu machen.

Von daher würde ich für den RasPi Pico (mit RP2040) plädieren. Der ist 
gut verfügbar und mit dem USB-Bootloader sehr einfach zu flashen. 
Softwareentwicklung mit allen gängigen Umgebungen, modernes C, C++ oder 
Rust wenn die Studenten wollen.

Der Nachfolger RP2350 hat dagegen wieder OTP-Fuses mit dem man ihn 
durcheinanderbringen kann. Genauso wie modernere STM32C- und 
STM32G-Serien, bei denen der BOOT0-Pin optional geworden und erst 
aktiviert werden muss.

: Bearbeitet durch User
von Mi N. (msx)


Lesenswert?

Gerd E. schrieb:
> Von daher würde ich für den RasPi Pico (mit RP2040) plädieren. Der ist
> gut verfügbar und mit dem USB-Bootloader sehr einfach zu flashen.

Mein Vorschlag war ja, per SWD in den Controller zu sehen. Der 
USB-Bootloader des RP2040 ist schön für fertig entwickelte Programme, da 
selbst Laien beim Aufspielen nicht viel verkehrt machen können. Beim 
Debuggen per SWD ist der Bootloader immer unumgänglich im Weg!

Auch ist der RP2040 - abgesehen von PIO - recht einfach aufgebaut und 
handzuhaben. Einen Timer wie vom TO angesprochen (einen 
Ultraschall-Entfernungsmesser mittels capture-unit zu realisieren), der 
Capture-Signale direkt verarbeiten kann, hat das Teil aber nicht.

Der RP2040 ist gut, wenn man mit seinen Eigenarten umgehen kann und/oder 
für wenig Geld eine fertige Schaltung aufbauen möchte. Er ist aber schon 
vom Konzept her eine Sackgasse, wenn man etwas in 'klein' - ohne Quarz 
mit geringer Stromaufnahme - oder etwas in 'groß' mit viel IO, externem 
Businterface, TFT-Controller usw. aufbauen will.
Ein ausführliches Datenblatt gibt es nicht. Da sind schon die 
AVR-Datenblätter informativer.

Wenn man nichts anderes kennt, mag das Pico-SDK zur Programmentwicklung 
ja ganz nett sein. Ich empfinde es als intransparenten Irrgarten, in dem 
man erst einmal klar kommen muß, kann aber auch Wege aufzeigen, wie man 
den RP2040 mehr oder minder 'normal' handhaben kann - auch mit Segger 
IDE :-)

von Gerhard O. (gerhard_)


Lesenswert?

Moin,

Für Lehrzwecke würde ich den MSP430 vorschlagen, weil er eine saubere 
Architektur hat und sehr vielseitig einsetzbar is, billig und eine 
angenehme Entwicklungsumgebung mit JTAG SWD Debugging hat. Mit ihm lässt 
sich genauso komfortabel arbeiten als mit der STM32 SW.

Pluspunkte:

Launchpad Bords mit Programmier- und Debug-Schnittstelle sehr billig und 
minimal beschaltet, so dass fast alle IO Pins für den Anwender 
zugänglich sind

CCS IDE mit JTAG Debugger frei und unbeschränkt erhältlich, C und C++ 
fähig
(Das IDE ist Ecclipse und der Debugger ist dem des STM32 sehr ähnlich)

Peripherie Komplexität nicht so extrem wie bei STM32 und leichter 
verständlich für Einsteiger. Dokumentation ist ausführlich.

Zahlreiche Beispiele für den Gebrauch der Peripherie.

Es gibt unter den Launchpads Bords viele Varianten, teils mit FRAM. 
Speicherplätze sind bei vielen uC dort sehr großzügig angelegt.

Auch eignet sich der MSP430 sehr gut für stromsparende Anwendungen. Das 
Programmier/Debug Interface kann auch extern zum Programmieren/Debugging 
eigener Schaltung mit verwendet werden.

Was mich betrifft, ist es der MSP430 wert, nicht übergangen zu werden.

SRM32 ist ja gut und schön, aber zum Einsteigen m.A.n. weniger geeignet.

Ich habe damit ein paar Firmen und Hobby projekte durchgezogen und es 
war immer eine angenehme "Experience".

Alles in allem, hat man damit eine relativ moderne und effektive 
Entwicklungsumgebung. Doku ist auch sehr gut.

Das wäre halt mein Einwurf zur Frage.

Gerhard

von Volker S. (vloki)


Lesenswert?

Gerd E. schrieb:
> Z.B. unterstützt der MPLAB-C18 nur C89, was nun wirklich nicht mehr
> zeitgemäß ist.

Der C18? Der ist schon 10+ Jahre obsolet ;-)

Ansonsten für die Grundlagen ein eher überschaubarer Controller,
und vor allem eine brauchbare und günstige Möglichkeit zum Debuggen!
(bei PICs inzwischen nicht mehr sooooo günstig)

Mit einem  Bootloader ohne HW-Debugging käme ich persönlich nicht klar.

von Gerd E. (robberknight)


Lesenswert?

Mi N. schrieb:
> Mein Vorschlag war ja, per SWD in den Controller zu sehen. Der
> USB-Bootloader des RP2040 ist schön für fertig entwickelte Programme, da
> selbst Laien beim Aufspielen nicht viel verkehrt machen können. Beim
> Debuggen per SWD ist der Bootloader immer unumgänglich im Weg!

Es geht um den Einstieg. Also erst mal ein Minimal-Programm schreiben, 
compilieren und dann per Bootloader flashen. Darauf dann aufbauen. Wenn 
Du beim Thema Debugger angekommen bist dann erst SWD und die 
dazugehörigen Tools und Arbeitsschritte erklären.

Wenn Du dagegen gleich schon mit SWD etc. anfängst musst Du viel 
erklären bevor Du mit dem ersten Programm anfangen kannst. Schritt für 
Schritt aufbauen halte ich für besser geeignet.

Ich sehe bei unseren Praktikanten im Job wie schwer die sich mit dem 
Thema Embedded-Toolchains tun. Reines Programmieren ist für die kein 
Problem, aber ein einfaches Problem im Zusammenspiel von CMake, Make, 
Compiler, Linker, OpenOCD und Debug-Probe zu finden kann die Tage 
kosten. Daher würde ich das nicht alles auf einmal einführen wollen.

> Auch ist der RP2040 - abgesehen von PIO - recht einfach aufgebaut und
> handzuhaben. Einen Timer wie vom TO angesprochen (einen
> Ultraschall-Entfernungsmesser mittels capture-unit zu realisieren), der
> Capture-Signale direkt verarbeiten kann, hat das Teil aber nicht.

So ein Capture-Timer ist mit den PIO-Einheiten aber schnell gemacht. 
Schau Dir mal die Doku zu den Timern z.B. von STM32 in deren Reference 
Manual an. Das ist wegen der vielen Möglichkeiten und Varianten sehr 
komplex. Die PIO sind natürlich ein komplett anderes Konzept. Aber ich 
denke für so eine Aufgabe ähnlich komplex wie die Timer von modernen 
STM32 zu verstehen.

> Ein ausführliches Datenblatt gibt es nicht. Da sind schon die
> AVR-Datenblätter informativer.

???

https://datasheets.raspberrypi.com/rp2040/rp2040-datasheet.pdf

Halte ich für ziemlich umfassend und schlägt sich im Vergleich zur 
Konkurrenz meiner Meinung nach recht gut.

von Volker S. (vloki)


Lesenswert?

Gerd E. schrieb:
> Reines Programmieren ist für die kein
> Problem, aber ein einfaches Problem im Zusammenspiel von CMake, Make,
> Compiler, Linker, OpenOCD und Debug-Probe zu finden kann die Tage
> kosten. Daher würde ich das nicht alles auf einmal einführen wollen.

Muss echt nicht sein. Das soll erst mal alles eine IDE übernehmen!

von Gerd E. (robberknight)


Lesenswert?

Volker S. schrieb:
> Gerd E. schrieb:
>> Reines Programmieren ist für die kein
>> Problem, aber ein einfaches Problem im Zusammenspiel von CMake, Make,
>> Compiler, Linker, OpenOCD und Debug-Probe zu finden kann die Tage
>> kosten. Daher würde ich das nicht alles auf einmal einführen wollen.
>
> Muss echt nicht sein. Das soll erst mal alles eine IDE übernehmen!

Die IDE musst Du aber korrekt konfigurieren. In den meisten Fällen 
funktioniert sie in der Standardkonfiguration. Wenn Du da aber irgendwo 
was verstellt hast oder die Standardkonfiguration nicht passt, musst Du 
rausfinden können wo und es korrigieren.

Besser ist es dagegen wenn Du die Komplexität erst mal reduzierst und 
das meiste davon weglässt. Also nur Texteditor, Compiler und Linker, 
flashen per Bootloader.

Wenn das dann funktioniert kannst Du Schritt für Schritt die anderen 
Teile hinzufügen. So lernen die was die Tools machen, was sie bringen 
und wie sie zusammenspielen.

von Volker S. (vloki)


Lesenswert?

Gerd E. schrieb:
> Die IDE musst Du aber korrekt konfigurieren.

Die IDE, die der Hersteller des Controllers zur Verfügung stellt,
sollte da recht unkompliziert sein. Meiner Erfahrung nach gibt es mehr 
Probleme, nacher noch zu wissen, wo das Projekt abgespeichert wurde ;-)

Gerd E. schrieb:
> Besser ist es dagegen wenn Du die Komplexität erst mal reduzierst und
> das meiste davon weglässt. Also nur Texteditor, Compiler und Linker,
> flashen per Bootloader.

Ein Button in der IDE macht das gewöhnlich alles automatisch, ohne dass 
man vorher schon wissen muss, welche Funktion Compiler oder Linker im 
Detail haben. Die ersten Programme werden meist aus einer einzigen Datei 
bestehen, da ist das Konzept des Linkers anfangs evtl. noch nicht 
zwingend schlüssig.

Ich finde es persönlich im ersten Schritt wichtiger, zu wissen, was in 
den Code muss, damit der uC dann das tut, was ich will, als im Detail zu 
wissen, wie das geschriebene Programm in den Controller kommt und 
ausgeführt wird.

Falls das Programm doch nicht das macht was man dachte (Normalfall?),
dann frühestmöglich, wie mit Hilfe eines Debuggers analysiert werden 
kann was es eigentlich tut.

von Joe G. (feinmechaniker) Benutzerseite


Lesenswert?

Ich glaube bei der ganzen Diskussion ist manchmal ein Perspektivwechsel 
hilfreich. Der Wurm muß dem Fisch schmecken und nicht dem Angler ;-)

Was meint ihr, was man den Studenten in einem Semester (15 Wochen, a 
1.5h) beibringen kann? Umgerechnet ist das eine halbe Arbeitswoche! 
Legen wir nochmal die doppelte Zeit für Übungen drauf, dann haben wir 
eine Arbeitswoche. Auf dieser Basis muß so eine Veranstaltung aufgebaut 
sein.

von Frank K. (fchk)


Lesenswert?

Gerd E. schrieb:

> Z.B. unterstützt der MPLAB-C18 nur C89, was nun wirklich nicht mehr
> zeitgemäß ist.

Zeitgemäß ist MPLAB auch nicht mehr. Heutzutage benutzt man MPLABX (nur 
echt mit dem X) und den XC8, zu dem es, wie Du schon gesagt hast, 
aktuell keine Alternative gibt. Und der kann C99, und das reicht für 
diese Teile.

Was hier auch festzustellen wäre: Inhalt einer Lehrveranstaltung kann es 
nicht sein, Produktwissen zu vermitteln. Das ist eh in kürzester Zeit 
obsolet. Fürs Verständnis wichtig sind die Funktionsprinzipien, und wenn 
die klar sind, dann ist das wie Autofahren. Und um die 
Funktionsprinzipien zu vermitteln, möchte man möglichst wenig drumherum 
haben. Das ganze soll so primitiv wie möglich sein, und ob das dann 
PIC16, 6502 oder 8051 ist, ist dann auch egal.

Was vielleicht für die Lehre auch interessant wäre, sind so Retro-Kisten 
wie David Murrays Commander X16 (http://www.commanderx16.com/), quasi 
eine Art moderner C64 mit mehr oder weniger der gleichen Technik. Direkt 
auf der Maschine arbeiten zu können, ist noch mal etwas ganz anderes, 
und die Möglichkeit, wie früher auch mal Töne und bunte Bilder ohne viel 
Aufwand herzaubern zu können, hat auch was.

fchk

von Mi N. (msx)


Lesenswert?

Joe G. schrieb:
> Was meint ihr, was man den Studenten in einem Semester (15 Wochen, a
> 1.5h) beibringen kann? Umgerechnet ist das eine halbe Arbeitswoche!

Wenn das so ist, kann man kaum etwas beibringen sondern nur zeigen.

Volker S. schrieb:
> Ein Button in der IDE macht das gewöhnlich alles automatisch, ohne dass
> man vorher schon wissen muss, welche Funktion Compiler oder Linker im
> Detail haben. Die ersten Programme werden meist aus einer einzigen Datei
> bestehen, da ist das Konzept des Linkers anfangs evtl. noch nicht
> zwingend schlüssig.

Und als Basis für den Einstieg kann man ein mini-Projekt zur Verfügung 
stellen, das die notwendigen .h-, .s- und projektspezifischen Dateien 
enthält.
In main.c wird anfangs nur eine Variable hochgezählt, sodaß man im 
Einzelschritt verfolgen kann, welche Befehle mit welchem Maschinencode 
welche Register im µC verändern. Ohne Hardware reicht dafür auch ein 
Simulator.

Ich beneide den TO nicht um seine Aufgabe ;-)

von Falk B. (falk)


Lesenswert?

Frank K. schrieb:

> Fürs Verständnis wichtig sind die Funktionsprinzipien, und wenn
> die klar sind, dann ist das wie Autofahren. Und um die
> Funktionsprinzipien zu vermitteln, möchte man möglichst wenig drumherum
> haben.

Ja, aber

> Das ganze soll so primitiv wie möglich sein, und ob das dann
> PIC16, 6502 oder 8051 ist, ist dann auch egal.

NEIN! Diese ollen Dinger gehören in den Müll oder BESTENFALLS in den 
Retro-Bastelkeller! Es sollte schon was ansatzweise modernes sein, 
natürlich immer unter der Maßgabe, daß die Komplexität der Plattform den 
Lernwerfolg nicht behindert!

> Was vielleicht für die Lehre auch interessant wäre, sind so Retro-Kisten
> wie David Murrays Commander X16 (http://www.commanderx16.com/), quasi
> eine Art moderner C64 mit mehr oder weniger der gleichen Technik.

NO WAY! Das ist was für Liebhaber und Spezis! Die ALLERMEISTEN Leute in 
diesen Veranstalungen sind das nicht und werden es nie sein!
Deshalb ist Assembler in solchen Veranstaltungen fehl am Platz! 
Grundlagen ja, aber bitte kein Urschleim!

> Direkt
> auf der Maschine arbeiten zu können, ist noch mal etwas ganz anderes,
> und die Möglichkeit, wie früher auch mal Töne und bunte Bilder ohne viel
> Aufwand herzaubern zu können, hat auch was.

Aber nicht für diese Zielgruppe in dieser Lehrveranstaltung!

von Falk B. (falk)


Lesenswert?

Fritz G. schrieb:
> Ist es heute noch zeitgemäß, die Studenten mit der Programmierung von 8
> bit- Controllern auf Registerebene zu quälen, wenn sie das später nie
> mehr brauchen? Was meinen die Jüngeren hier im Forum dazu?

Kommt drauf an. Grundlagen braucht es, aber bitte keinen Urschleim! Kein 
Assembler, kein ewiges Rumreiten auf Krümelkram. Ob ein Controller 8, 16 
oder 32 Bit hat, ist bei höheren Programmiersprachen egal! Und auch wenn 
es natürlich fragwürdig ist, daß "diese Jugend von heute" nur schnelle 
Hipsterergebnisse haben will, ist das dennoch nicht vollkommen falsch. 
Welcher Weg ist für die MEISTEN wohl erfolgreicher?

a) Anfangen mit Assembler, alles durchexerzieren bis zum geht nicht 
mehr, irgendwann mal langsam auf Hochspachen und Bibliotheken 
umschwenken und mehr machen, als nur LEDs blinken lassen

b) Anfangen mit Hochsprachen wie C++ (Arduino), uPython oder ähnliches, 
viele Bibliotheken und fertige Module mit Copy & Paste anpassen

Weg b) ist schneller, wenn gleich NATÜRLICH oberflächlicher! Aber so hat 
man zumindest eine deutlich höhere Chance, daß deutlich mehr Leute 
erstmal anbeißen und ne Weile dabei bleiben. Dann kann man denen auch 
vercklickern, daß das, was sie da tun, nur "Staub wischen" ist, und sie, 
wenn die deutlich mehr Leistung und Funktionen aus ihren Projekten 
raushohen wollen, tiefer gehen müssen. Sei es mit C(++) und eigenen 
Funktionen/Klassen, mehr selbstgeschriebener Code etc. Bei ASM wird nur 
ein Bruchteil eines Bruchteil jemals landen! Zu Recht!

Ich meine, der Top-Down Ansatz mit einer vernünftigen Prise grundlagen 
(Programmlogik etc.) ist hier deutlich besser! Daß dabei natürlich auch 
nicht so ganz wenige leute entstehen, die glauben Programmierer zu sein, 
es aber nicht wirklich sind, ist ein anderes Thema. Aber deine 
Zielgruppe sind so oder so KEINE Vollprofis und werden es zu 99% nie 
sein! Es sind Anwender, die "mal schnell" was zusammenbraten wollen! Das 
ist OK! Hardware kostet heute fast nix, also können es die meisten auch 
"verschwenden", erst recht für Einzelanwendungen von Fachleuten. Die 
hochoptimierten Anwendungen für minimierte Hardwarekosten machen so oder 
so nur ein Bruchteil der Vollprofis! Das sagt ein Hardwerker! ;-)

Wie oben schon geschrieben, nimm eine moderne, nicht zu komplexe 
Plattform, die leicht verfügbar ist und viel Bibliotheken bietet. Sei es 
ein 32 Bit Arduino ala ESP32, RP2040 oder sonstwas. Selber ein kleiner 
Raspi 3 oder Zero wäre OK, wenn man nicht zu hardwarenah was machen 
will. Bissel IOs klimpern, PWM und Relais schalten kann der auch mit 
Python. Man muss nur aufpassen, daß man nicht zuviel Zeit mit der IDE 
und deren Bedienung verschwendet, denn man will ja Grundlagen 
vermitteln. Du willst nicht das ASM Marine Corps ausbilden!

von Falk B. (falk)


Lesenswert?

Joe G. schrieb:
> Ich glaube bei der ganzen Diskussion ist manchmal ein Perspektivwechsel
> hilfreich. Der Wurm muß dem Fisch schmecken und nicht dem Angler ;-)

Das stimmt. Aber wenn man Fische oder junge Menschen immer nur das essen 
läßt, was bunt, süß und extrem "lecker" ist, landet man bei 
amerikanischen Verhälnissen was Bildung und BMI angeht . . .
Aber nur Wasser und trocken Brot wie beim alten Fritz ist es heute auch 
nicht.

> Was meint ihr, was man den Studenten in einem Semester (15 Wochen, a
> 1.5h) beibringen kann? Umgerechnet ist das eine halbe Arbeitswoche!
> Legen wir nochmal die doppelte Zeit für Übungen drauf, dann haben wir
> eine Arbeitswoche. Auf dieser Basis muß so eine Veranstaltung aufgebaut
> sein.

Hmmm. Da es keine Vollprofis werden sollen, muss man wohl eher die 
pragmatische Anwenderebene angehen, ohne die Grundlagen total zu 
vergessen. Die Leute wollen und brauchen schon ein paar 
Erfolgserlebnisse. Wenn das mit vielen Bibliotheken erkauft wird, ist 
das OK! Ich muss kein Mechaniker sein, um Auto zu fahren!

Einwurf. Ich hab mal irgendwo gelesen, die Oma von Chris Hülsbeck war 
Musiklehrerin für klassische Musik und hat versucht ihrem Enkel das 
beizubiegen. ERFOLGLOS! Erst mit irgendwas um die 12 ging es bei ihm 
los!

"Mit 12 Jahren bekam Hülsbeck sein erstes Instrument (eine Heim-Orgel), 
ein Jahr später ein Schlagzeug und mit 15 Jahren seinen ersten 
MIDI-Synthesizer. Etwa zur gleichen Zeit begann sein Interesse für den 
Heimcomputer. "

Meilenweit weg vom Werdegang klassischer Musikbildung! Er ist auch kein 
ausgebildeter, klassischer Musiker. Wohl aber sehr erfolgreich!

Ergo. Kein oller Schrott! Kein Urschleim. Pragmatisch, minimale 
Grundlagen.
Anwenderorientierung! Die Leute, die dann WIRKLICH mehr wollen, werden 
sich schon kümmern, den Rest interessiert es so oder so nicht.

von Falk B. (falk)


Lesenswert?

Mi N. schrieb:
> In main.c wird anfangs nur eine Variable hochgezählt, sodaß man im
> Einzelschritt verfolgen kann, welche Befehle mit welchem Maschinencode
> welche Register im µC verändern. Ohne Hardware reicht dafür auch ein
> Simulator.

NO WAY!

von Gerhard O. (gerhard_)


Lesenswert?

Moin,

War mein MSP430 Vorschlag wirklich so schlimm, daß keiner von Euch dazu 
Stellung nahm? Bin nur neugierig, weil sie mir sehr gefallen und (für 
mich wenigstens) wunderschön funktionieren.

Ansonsten guten Rutsch ins Neue Jahr!

Gerhard

von Falk B. (falk)


Lesenswert?

Gerhard O. schrieb:
> War mein MSP430 Vorschlag wirklich so schlimm, daß keiner von Euch dazu
> Stellung nahm? Bin nur neugierig, weil sie mir sehr gefallen und (für
> mich wenigstens) wunderschön funktionieren.

Naja, MSP430 ist schon OK. Nicht mehr ganz taufrisch, aber OK. Ein 
Debugger ist gut und wichtig, aber wie sieht's mit Softwareumgebung aus? 
Ähnlich wie Arduino, Raspberry PI? Wenn nein, ist man auf Low Level Kram 
festgenagelt, und das ist eher nicht so doll. Eine Siebensegmentanzeige 
ist wahrlich tiefste 80er! Auch wenn man das Prinzip mal verstanden 
haben muss!

von Gerhard O. (gerhard_)


Lesenswert?

Falk B. schrieb:
> Gerhard O. schrieb:
>> War mein MSP430 Vorschlag wirklich so schlimm, daß keiner von Euch dazu
>> Stellung nahm? Bin nur neugierig, weil sie mir sehr gefallen und (für
>> mich wenigstens) wunderschön funktionieren.
>
> Naja, MSP430 ist schon OK. Nicht mehr ganz taufrisch, aber OK. Ein
> Debugger ist gut und wichtig, aber wie sieht's mit Softwareumgebung aus?
> Ähnlich wie Arduino, Raspberry PI? Wenn nein, ist man auf Low Level Kram
> festgenagelt, und das ist eher nicht so doll. Eine Siebensegmentanzeige
> ist wahrlich tiefste 80er! Auch wenn man das Prinzip mal verstanden
> haben muss!

Hallo Falk,

CCS ist Eclipse mit SWD JTAG Debugger und Compiler ist GCC.

Der CCS fühlt sich genauso an wie das STM32 IDE. Debugger ist auch sehr 
ähnlich mit dem des STM32 IDEs.

Ich fühl mich damit sauwohl.

Hier ist ein Überblick:

https://www.ti.com/tool/CCSTUDIO?
https://www.ti.com/lit/ug/slau132y/slau132y.pdf?
https://software-dl.ti.com/ccs/esd/documents/users_guide/ccs_debug-main.html

Gruß,
Gerhard

Nachtrag:

Ein jüngerer Arbeitskollege arbeitete sich in ur ein paar Tagen danit 
ein und entwickelte für seine Kinder einen Zahnputztimer, den er in 3D 
druckte und hat einen MSP430 drin. Es war ein 100%er Erfolg. Er hatte 
vorher nur Ahnung mit Arduino.

: Bearbeitet durch User
von Rudi R. (rudi_r)


Lesenswert?

Joe G. schrieb:
> F. schrieb:
>> Das modularisierte
>> Studium besteht nun mal aus Veranstaltungen, die alle einzeln geprüft
>> werden, eine Veranstaltung ohne Prüfung ist also im Studienkontext
>> nichts wert.
>
> Hier bin ich anderer Meinung. Ich verfolge den Ansatz der humanistischen
> Bildung. Bei diesem Ansatz läßt ein Lehrer die Schüler aus eigenem
> Willen und Wissensdrang lernen. Dieser Anspruch des humboldtschen
> Bildungsideals sollte für alle Hochschulen gelten.

Ich interpretiere Fs Aussage so, dass die Veranstaltung für den 
Abschluss nichts wert ist. Die Veranstaltung taugt nirgends auf, 
eventuelle Benotung fließt nirgends ein... Die Leute werden darauf 
konditioniert, nur das zu machen, was dann auch Noten bringt. Mich 
beispielsweise hat das nie interessiert und ich habe auch 
Veranstaltungen besucht, ohne eine Prüfung abzulegen. Ich hatte im 
Hauptstudium fast das Doppelte des Soll. Für mich hatte Bildung immer 
einen Wert an sich, weshalb ich nach dem Abschluss auch nie aufgehört 
habe, mich weiter zu bilden. Etliche Fachbücher zeugen davon.

Joe G. schrieb:
> Unbestritten erleben wir mit dem Bologna-Prozess eine Aufweichung des
> humboldtschen Ideals, hin zu einer extrem ausgeprägten Spezialisierung
> verbunden mit hohen wirtschaftlichen Interessen. Nur leider bringt die
> Ökonomisierung des Bildungssystems genau die Schüler und Studenten
> heraus, welche ich oben beschrieben habe.

Ich habe noch Diplom gemacht, aber 2005 wurde an meiner TU dieses 
Bachelor-Master-Zeugs eingeführt. Vorher gab es 
Spezialisierungsrichtungen wie praktische Informatik, theoretische 
Informatik, technische Informatik, künstliche Intelligenz usw. Plötzlich 
gab es einen Master-Studiengang "Automotive". Ich sehe heute, dass von 
sieben Master-Programmen zwei etwas mit Automotive zu tun haben, also wo 
der Zweck eindeutig bestimmt ist. Das mag vielleicht für die Industrie 
ganz toll sein, wenn für sie die Einarbeitung geringer ausfällt, aber 
langfristig ist es doch besser, die machen in der Uni hartes Zeug wie 
beispielsweise Compilerbau. Das Praxiszeug muss man sowieso in der 
späteren Anstellung vertiefen.

Ich habe beispielsweise nie den OR-Mapper Hibernate an der Uni 
verwendet, aber sowohl Vorlesungen über relationale Datenbanken 
(Pflicht) als auch über objektorientierte Datenbanken (optional) 
besucht, die mir vor allem die Objektorientierung näher brachte, dass 
ich sie endgültig verstand. (An der Uni lernte ich was mit "Relation 
Model/Tasmania".) Beides half mir, mich sofort in Hibernate 
zurechtzufinden. Auch das Konzept der objektreleationalen Datenbanken 
erschloss sich mir sofort. Ich habe es in Postgres ausgeprobiert. Mein 
Bachelor-Kollege verstand es nicht, weil er die Objektorientierung nicht 
verstand. (Genutzt haben wir es nicht; ich weiß gar nicht, ob Hibernate 
damit umgehen kann.) Und ich merke heute noch, wie viel Mischmasch im 
Kopf bei manchen Leuten ist, was Modellierung in diesen beiden Welten 
angeht.

Daher finde ich ein Studium sehr nützliches, welches  sich eben nicht 
auf die vermeintlich nutzlosen Dinge konzentriert.

von Gerhard O. (gerhard_)


Lesenswert?


von Falk B. (falk)


Lesenswert?

Gerhard O. schrieb:
> Hallo Falk,
>
> CCS ist Eclipse mit SWD JTAG Debugger und Compiler ist GCC.
>
> Der CCS fühlt sich genauso an wie das STM32 IDE. Debugger ist auch sehr
> ähnlich mit dem des STM32 IDEs.
>
> Ich fühl mich damit sauwohl.

Ich kenn CCS6, damit arbeite ich seit 8 Jahren (ufff, lange Zeit, an nur 
einem Controller, PICCOLO). Ist OK.

> Ein jüngerer Arbeitskollege arbeitete sich in ur ein paar Tagen danit
> ein und entwickelte für seine Kinder einen Zahnputztimer, den er in 3D
> druckte und hat einen MSP430 drin. Es war ein 100%er Erfolg. Er hatte
> vorher nur Ahnung mit Arduino.

Naja. MSP430 oder Arduino ist Jacke wie Hose. Ok, nicht ganz, der 
Arduino hat keinen Debugger, nur Printf-Debugging wie in den 70ern! Und 
für nen Zahnputztimer hätte es auch ein NE555 getan! ;-)

Guten Rutsch ins 2025, aber rutsch nicht beim Schnee schippen aus! Hier 
ist alles grau bei 0-5Grad im Flachland . . . 8-(

P S lass dich nicht vom Elch beißen! ;-)

https://www.youtube.com/shorts/WiHR2Rg6b9k

: Bearbeitet durch User
von Gerhard O. (gerhard_)


Lesenswert?

Falk B. schrieb:
> Gerhard O. schrieb:
>> Hallo Falk,
>>
>> CCS ist Eclipse mit SWD JTAG Debugger und Compiler ist GCC.
>>
>> Der CCS fühlt sich genauso an wie das STM32 IDE. Debugger ist auch sehr
>> ähnlich mit dem des STM32 IDEs.
>>
>> Ich fühl mich damit sauwohl.
>
> Ich kenn CCS6, damit arbeite ich seit 8 Jahren (ufff, lange Zeit, an nur
> einem Controller, PICCOLO). Ist OK.
Meine installierte Version ist neuer, müsste aber auch erst nachschauen. 
Den CCS6 hatte ich früher.
>
>> Ein jüngerer Arbeitskollege arbeitete sich in ur ein paar Tagen danit
>> ein und entwickelte für seine Kinder einen Zahnputztimer, den er in 3D
>> druckte und hat einen MSP430 drin. Es war ein 100%er Erfolg. Er hatte
>> vorher nur Ahnung mit Arduino.
>
> Naja. MSP430 oder Arduino ist Jacke wie Hose. Ok, nicht ganz, der
> Arduino hat keinen Debugger, nur Printf-Debugging wie in den 70ern! Und
> für nen Zahnputztimer hätte es auch ein NE555 getan! ;-)
Naja, der hat jetzt schon ein paar Smarts um alle Zahnputz-Zonen 
durchzugehen.
Der Debugger arbeitet genauso gut wie beim STM32. Allerdings etwas 
langsamer. Es arbeitet sich eigentlich in CCS angenehm. Ich finde ihn 
zeitgemäß und mehr als ausreichend. Jedenfalls ist es eine interessante 
Ausweichmöglichkeit von Arduino, sollte dies zweckmässig sein.
>
> Guten Rutsch ins 2025, aber rutsch nicht beim Schnee schippen aus! Hier
> ist alles grau bei 0-5Grad im Flachland . . . 8-(
Danke und Gleichfalls! Bei uns fängt gerade eine neue Kälteperiode an, 
Courtesy Polar Vortex. Mehr Schnee ist in ein paar Tagen auch angesagt. 
Wir hatten bis jetzt 30cm.
>
> P S lass dich nicht vom Elch beißen! ;-)
Ich werde aufpassen...
>
> https://www.youtube.com/shorts/WiHR2Rg6b9k
Toll!

Gerhard

: Bearbeitet durch User
von Sherlock 🕵🏽‍♂️ (rubbel-die-katz)


Lesenswert?

Gerhard O. schrieb:
> War mein MSP430 Vorschlag wirklich so schlimm, daß keiner von Euch dazu
> Stellung nahm?

Ich fand den Vorschlag OK.

von Mi N. (msx)


Lesenswert?

Der TO hatte klare Vorgaben formuliert, die mittlerweile ganz ignoriert 
werden. Das zuletzt aufgetretende 'Gerede' hilft ihm in keiner Weise.

von Walter T. (nicolas)


Lesenswert?

Gerhard O. schrieb:
> War mein MSP430 Vorschlag wirklich so schlimm, daß keiner von Euch dazu
> Stellung nahm?

Kommt halt darauf an, wie sich der TO positionieren will.

Für Grundlagenorientierung ist der MSP430 prima. Für 
"Anwendungsorientierung" würde ich eher TriCore oder V850 sehen.

von Franko S. (frank_s866)


Lesenswert?

Macht den Thread dicht, das dumme Gequatsche ist ja nicht zum aushalten.

von Hans (ths23)


Lesenswert?

Fritz G. schrieb:
> Wichtig ist mir dabei
> die Fähigkeit, ein Datenblatt lesen und verstehen zu können.
Das wird wohl für den genannten Personenkreis eher unwichtig sein. Für 
die dürfte es ausreichend sein zu wissen wie so ein µC im Prinzip 
aufgebaut ist und was man damit machen kann. Für diese Leute ist das 
halt nur ein Pflichtfach, welches man mit abhaken muß um durchs 
Studium/Ausbildung zu kommen. Unter den Mechatronikern gibt es 
vielleicht ein paar Leute die da mehr Interesse haben und die 
Zusammenhänge verstehen wollen, aber das wird wohl am Endfe eine ganz 
kleine Minderheit sein.

Fritz G. schrieb:
> Nun traten Studentenvertreter auf mich zu, und beklagten, dass die
> Laboraufgaben zu praxisfern und langweilig seien. Sie wünschen sich
> interessantere Projekte mit KI oder Anbindung an eine Smartphone-App
> statt eines schnöden alphanumerischen Displays.
Ja das was die da vortragen ist ja auch gerade hipp - sie haben halt mal 
davon gehört, hätten gern die Früchte dieser Dinge aber wirklich 
verstehen tun sie es nicht - wollen sie wahrscheinlich auch gar nicht.

Die Krux an der Sache ist, Du kannst Dir Mühe geben wie Du willst, aber 
wirklich erreichen wirst Du diesen Personenkreis nicht. Tiefschüfrende 
Kenntnisse auf dem µC-Gebiet wollen die gar nicht, maximal klug daher 
reden was sie doch für schlaue Bürschen sind.
Sorry wenn sich das für Dich alles sehr düster anhört, aber es wird 
vermutlich so wie beschrieben ausgehen - eigene bittere Erfahrung.

von Sherlock 🕵🏽‍♂️ (rubbel-die-katz)


Lesenswert?

Wenn mir der Prof die Wahl lässt, zwischen

a) einen Ferrari 296 fahren lernen, oder

b) eine Seifenkiste bauen

dann würde ich ganz ehrlich a wählen.

von Christian (dragony)


Lesenswert?

Man darf nicht vergessen, dass das Ziel eines Lehrers ist (bzw. sein 
sollte) die Schüler auf das Leben vorzubereiten.

1. Die persönlichen Vorlieben des Lehrers sind (leider) zweitrangig. Ich 
finde KI schrecklich, aber man kann es nicht einfach skippen, nur weil 
man es persönlich hasst.

2. Die Ausbildung muss lange halten. Modeerscheinungen gilt es zu 
erkennen und nur nebenbei mal anzusprechen. Tiefes Verständnis muss bei 
grundsätzlichen Dingen aufgebaut werden. Dinge, die sich wahrscheinlich 
auch in 50 Jahren nicht ändern werden. Z.B. wie eine ALU funktioniert.

Ich würde deshalb bei einem 8-Bitter anfangen und wenn dir jeder 
erklären kann, was eine ALU ist, wie und warum sie Flags setzt, wie 
Interrupts funktionieren und warum es davon gerne mehrere hundert gibt, 
dann kann man auf die Grossen wechseln. Die haben nämlich all das 
ebenfalls drin, nur noch n bissl mehr oben drauf.

Wenn man noch nie mit Hardware gearbeitet hat, ist ein 8-Bitter komplex 
genug. Die Daten"blätter" haben auch da schon tausende Seiten. (xmega)

: Bearbeitet durch User
von Falk B. (falk)


Lesenswert?

Christian schrieb:
> 2. Die Ausbildung muss lange halten. Modeerscheinungen gilt es zu
> erkennen und nur nebenbei mal anzusprechen. Tiefes Verständnis muss bei
> grundsätzlichen Dingen aufgebaut werden.

Ja, aber.

 Dinge, die sich wahrscheinlich
> auch in 50 Jahren nicht ändern werden. Z.B. wie eine ALU funktioniert.

NEIN! Assembler oder gar Registerebene brauchen die allermeisten Leute 
KEINE SEKUNDE! Du studierst doch auch keine Biochemie, wenn du nen 
Kochkurs machst!

> Ich würde deshalb bei einem 8-Bitter anfangen und wenn dir jeder
> erklären kann, was eine ALU ist, wie und warum sie Flags setzt, wie
> Interrupts funktionieren und warum es davon gerne mehrere hundert gibt,
> dann kann man auf die Grossen wechseln. Die haben nämlich all das
> ebenfalls drin, nur noch n bissl mehr oben drauf.

Und was macht man mit diesem Urschleim? Wie weit ist es dann bis zur 
Ansteuerung eines Displays, Tasten etc?

von Christian (dragony)


Lesenswert?

Es gibt auch Positionen zwischen "Ich habe nie davon gehört" und "Ich 
reite wochenlang drauf rum".

von Gerhard O. (gerhard_)


Lesenswert?

Moin,

Wer mit uC HW entwickelt muß sich überall, was die gewählte HW betrifft 
auskennen und muß mit den Dokus arbeiten. Auch bei den APIs kommt man 
nicht darum herum. Aus meiner Praxis unumgänglich.

Wenn die Studenten das wollen, worüber sie sich beklagt hatten, dann 
erwarten sie mit schon entwickelter HW und App Frameworks zu arbeiten. 
Da war natürlich mein Vorschlag missplaziert. Ich sehe das leider zu 
sehr aus meiner Sicht, weil ich in meinem Umfeld(Arbeit und Hobby), 
immer die ganze Anwendungs-Hardware und FW von ground up selber 
entwickle. Das wollen aber die Studenten in diesen Thread hier nicht 
wirklich.

Die wollen auf fertige SW App-Legobausteine zugreifen und zweckmässig 
zusammenfügen und sinngemäß Apps daraus zu destillieren. Das ist in 
krassen Unterschied zu meinen bisherigen Tätigkeiten, die praktisch 100% 
Industrie MSR sind. Kein Wunder dann, daß man mich mißversteht. Ich 
kenne es nicht anders. Meine Projekte beziehen sich auf Datenblatt Ebene 
und Hersteller Dokus.

Aber tolle Sachen wie sie z.B. Smartphones darstellen, sind auch nicht 
gerade trivial und laufen auf extrem leistungsfähiger HW und extremer 
komplexer SW. Da frage ich mich schon, ob Grundlagen im zu erwarteten 
Zeitraum und Studium Pensum nicht vernünftiger wären.

Die Arduino Anwender waren ja ursprünglich auch nur an SW Lego 
interessiert ( Ich meine das überhaupt nicht abfällig ). Diese 
Zielgruppe wollte sich auf das Resultat hinarbeiten und zu konzentrieren 
ohne ingenieurmässig vorgehen zu müssen und alles auf Register und HW 
Ebene genau wissen zu müssen.

Da ist man mittlerweile so ein Fossil geworden, wenn man berücksichtigt, 
wie anders heute im Mainstream vorgegangen wird, wo nur noch Layer auf 
Layer an SW App Framework draufgelegt werden, die auf mächtigen und 
schneller uC HW laufen und tolle GUIs aufweisen.

Jedenfalls ist mir jetzt bewußt wie sehr ich den Intent dieses Threads 
mißverstanden hatte. Aus dieser Sicht ist Euer Pushback und abfällige 
Meinungskundgebungen bezüglich eines traditionellen Grundlagen Studiums 
nur zu verständlich. Wie man sieht, herrschen gewaltige Kluften in den 
hier publizierten Ansichten.


Gerhard

von Lotta  . (mercedes)


Lesenswert?

Quatsch, Gerhard.
Du bist kein Fossil, sondern ein Spezialist geworden.

Das ist ein Vorteil und ein Nachteil.
Der Vorteil ist Dein Wissen.  Jeder gute Cryptograf muss
wissen, wie die Zahlenelse funst, damit er darauf aufbauen kann.

Der Nachteil ist Deine Spezialisierung. Du bist einfach zu teuer.
Heut ist der Mensch fast nix mehr wert. Wenn jetzt die KI über-
all einzieht haben wir "normalen" nix mehr zu melden.
Deshalb ist jeder gezwungen, sein Wissen möglichst zu Geld zu
machen, da dies "morgen" wertlos wird. Nur Wert wird wichtig,
Wissen ist zweitrangig.

Ein Beispiel:
Zwei Brüder.  Die Ellis vererben einem das Anwesen.
Dem Zweiten wird ein Studium als Ingenieur in der Photochemie
finanziert.

Nun kommt die Digitalisierung.

Wenn der zweite also nicht schnellgenug sen Wissen versilbert hat,
wer hat den besseren Schnitt gemacht?

mfg

: Bearbeitet durch User
von Clemens S. (zoggl)


Lesenswert?

Beides.

Setz einen Arduino auf, lass einen Beschleunigungssensor über SPI 
auslesen und die Daten über USB an den PC senden.

Wie schnell sind die Daten, wie hoch ist der Jitter der Messpunkte.

Nimm das gleiche Board, lass sie den Interrupt konfigurieren, die Daten 
damit getriggert über DMA auslesen und per DMA und Interrupt über den 
USB ausgeben.

Das wichtig sollte sein den UNTERSCHIED zu lernen. Beides hat seine 
Berechtigung.

Und dann lass sie in jedem Projekt ordentlich Planen was wofür 
eingesetzt werden soll.

Es wird immer Aufgaben geben, bei denen ein  Send(read_SPI()); und 
wait_ms(10); absolut ausreichend sind und Aufgaben, bei denen das nicht 
ausreichend ist.

Sg und guten Rutsch

von Gerhard O. (gerhard_)


Lesenswert?

(Markierten Text zitieren funktioniert in Safari auf dem iPad nicht)
"Quatsch, Gerhard.
Du bist kein Fossil, sondern ein Spezialist geworden."

Ich fürchte, Du hast recht. Aber dafür können die Fachleute nichts.

Mir kommt vor, angesichts all der raschen Entwicklungen, daß wir die 
Hauptpersonen auf einem "Race to the bottom" sind.

Wenn die Macher systematisch den "Mittelmensch" ausklammern und so weit 
wie möglich durch KI ersetzen wollen, wo das technisch Sinn hat, dann 
ist für den Großteil der Einwohner nicht mehr viel vom Kuchen übrig. 
Jeder kann kein Genie sein, der vielleicht noch für die Elon Musks 
dieser Welt von Interesse sind. Auch "mittelmässiges" Fachpersonal kann 
für Betriebe noch von Nutzen sein.

Wer nicht gerade an "Leading Edge" Entwicklung arbeitet und eher 
"Gebrauchstechnik" entwickelt sollte nicht automatisch als "Klepper" 
bewertet werden und bald im Schlachthof landen. Da ist Verlässlichkeit, 
Gewissenhaftigkeit und Konsistenz, auch als wertvoll bewertet. Da ist 
ein Gemisch von Aktuellem Wissen und Erfahrung zusammen als Team 
wahrscheinlich auch keine schlechte Kombination.

Mir kommt vor, wir leben zunehmend im Zeitalter von Extremen, wo nur 
noch Platz für die Besten der Welt erlaubt ist. Was mich betrifft, bin 
ich froh am Ende des Rennens zu sein. Die Jungen haben wahrlich wenig 
zum Lachen in unserer Zeit.

Für mich steht fest, daß die KI-Walze uns neben nützlichen Resultaten 
auch viel Ungelegenheiten erweisen wird. Es gibt kaum eine andere 
Innovation, die in Bezug auf Nutz- und Mißbrauchspotenzial der 
KI-Produkte gleich kommt. Ich habe nicht den Eindruck, daß wir fähig 
sind die Exzesse des KI-Missbrauchs eindämmen zu können und KI wird eher 
wie ein Unkraut die Wiesen der Welt überwuchern und Vieles unbarmherzig 
ersticken was eigentlich wert zu erhalten wäre. Time will tell. Die 
Frage ist halt, wem diese zu zu erwartenden und schon angekommenen 
Disruptionen mehr nützen werden, und ob die Vorteile und Nutzen gerecht 
verteilt werden können. Der Zyniker weiß wahrscheinlich schon jetzt wie 
der Hase läuft.

: Bearbeitet durch User
Beitrag #7802481 wurde vom Autor gelöscht.
von Gerhard O. (gerhard_)


Lesenswert?

Beides.

Setz einen Arduino auf, lass einen Beschleunigungssensor über SPI
auslesen und die Daten über USB an den PC senden.
...

Ja. Du sagst es. Hier liegt der Unterschied. Wenn Performanz gewünscht 
wird, dann ist tieferes Wissen und auch Erfahrung notwendig. Dann kommt 
man nicht herum, sich tief einzuarbeiten.

von Lotta  . (mercedes)


Lesenswert?

Ein feiner Thread auf nem erstklassigen Board!

Hoffentlich hält unsere Demokratie noch ne Weile.
Der Weltzar Putin braucht nur ne Sekunde für den Druck
auf den "Roten Knopf".
Wie lang braucht die sich zankende USA Administration
für den gleichen Vorgang? :-O

Prost Neujahr, OM's!

Lotta.

von Marx (marx_t)


Lesenswert?

Nochmals, wenn man in einer Hochschule die Verantwortung für die Lehre 
trägt, sollte man genau beobachten, was die Industrie für "Trends" 
einsetzt, wenn man da nicht zusammen geht, sondern einen Weg, der toll 
wirkt, dann wird man die Studenten sicherlich nicht dort sehen.

Es wäre durchaus klug, mit Segger zu kooperieren!
Und ein Controller ohne RTOS System einsetzen ist nicht mehr zeitgemäß!
Sicherlich gibt es Anwendungen, die das nicht benötigen, aber das sind 
wohl weniger die wichtigsten.

von Lotta  . (mercedes)


Lesenswert?

Marx meinte:
> Es wäre durchaus klug, mit Segger zu kooperieren!
> Und ein Controller ohne RTOS System einsetzen ist nicht mehr zeitgemäß!
> Sicherlich gibt es Anwendungen, die das nicht benötigen, aber das sind
> wohl weniger die wichtigsten.

Ne Anwendung mit RTOS läßt sich auch viel einfacher
reversen, wie ich bei Boses "Fernsehlautsprecher" erfahren durfte.

Was macht nur der "gemeine Kunde", wenn die kleinsten Geräte
ohne Know-Hoff nicht mehr reparierbar sind? :-O

Wir werden immer mehr ne Wegwerfgesellschaft...

mfg

von Klaus R. (klausro)


Lesenswert?

Sorry, aber wenn es um Mikrocontroller geht, dann muss man sich einfach 
mal mit den elementaren Dingen eines uC beschäftigen, Datenblätter, Boot 
und Baremetal, da werden auch so Sachen wie GPIOs, SPI, UART, Timer, DMA 
usw. behandelt. Das ganze auf einer (halbwegs) aktuellen Architektur. 
Das (später) auch mal Dinge wie Semaphoren und Tasks eine Rolle spielen 
und man evtl. auch ein RTOS bespricht, kann man ja machen und ist 
sinnvoll. Themen wie KI („der heiße Scheiß“) usw. sollten (im Studium) 
auch behandelt werden, aber dass muss man ja nicht in der uC 
Vorlesung/Übung machen. Da kann man sich dann ja mal Gedanken machen, 
wie tief man in die theoretische E-Technik einsteigen muss oder ob die 
Mathevorlesung in Funktionentheorie unbedingt sein muss… so, Prost 
Neujahr!

von Uli D. (megi)


Lesenswert?

Wir haben im Studium einen ARM Cortex mit C (Register Ebene) 
programmiert (Maschinenbau). Ich würde mindestens einen 16-Bit MCU 
erwarten, von Arduino und Python großer Abstand - es ist doch ein 
Ingenieursstudiengang?!

Wie sollen deine Studenten im späteren Leben klarkommen, wenn Sie nur 
auf Bibliotheken und vorgefertigte Routinen hoffen?

: Bearbeitet durch User
von Marx (marx_t)


Lesenswert?

Uli D. schrieb:
> Wir haben im Studium einen ARM Cortex mit C (Register Ebene)
> programmiert (Maschinenbau). Ich würde mindestens einen 16-Bit MCU
> erwarten, von Arduino und Python großer Abstand - es ist doch ein
> Ingenieursstudiengang?!
>
> Wie sollen deine Studenten im späteren Leben klarkommen, wenn Sie nur
> auf Bibliotheken und vorgefertigte Routinen hoffen?

Wenn man etwas schnell testen möchte, mag das ok sein, aber wenn man das 
"vorgekaute" Zeug nicht richtig versteht, dann ist auch nicht so toll.

Aber ja, wir hatte im Studium Arduino ich bin jetzt der Alleskönner 
E-Techniker, oh je...
Ich hoffe nicht, für die Hobby/Maker mag das feeling passen aber für 
einen Ingenieur?
Damals für den AVR gab es ja auch bascom oder wie das Zeug hieß, naja...

Und ein RTOS kann man auch unter dem Arduino einsetzen ohje...

von Sherlock 🕵🏽‍♂️ (rubbel-die-katz)


Lesenswert?

Gerhard O. schrieb:
> Mir kommt vor, wir leben zunehmend im Zeitalter von Extremen, wo nur
> noch Platz für die Besten der Welt erlaubt ist.

Mache dir da mal keine Sorgen. Noch ist KI dümmer als eine Maus. Daran 
wird sich vorläufig nichts ändern, denn außer Größer/Breiter/Schneller 
haben deren Hersteller noch keinen überzeugenden Plan, wie das Ding 
wenigstens ein bisschen intelligent werden soll. Nicht zu vergessen, 
dass jede KI Generation um ein vielfaches teurer ist als ihr Vorgänger. 
Je teurer die KI wird, umso weniger Leute können sich das leisten und 
umso wahrscheinlicher bleibt, dass fast überall menschliche Intelligenz 
bevorzugt wird.

: Bearbeitet durch User
von Lotta  . (mercedes)


Lesenswert?

hey, wo ich schon mal nen Spezialisten am "Rohr" hab...

@Till, sag mal bitte,
wenn jetzt ne kleinen nordische Hexen-Group sich
jetzt Euer Studio oder auch nRF 2.0 für Visualstudio
kostenlos herunterlädt-

Wie weit kann die Group gehen, ohne mit Euren Eulas zu
zu kollidieren?
Muß unser Werk Opensource sein? Wir interessieren uns für
Kommunikationsprotokolle, Experimente mit Frequenzhopping
u. a.

mfg

: Bearbeitet durch User
von Til S. (Firma: SEGGER) (til_s)


Lesenswert?

Lotta  . schrieb:
> @Till, sag mal bitte,

Ich bin mir nicht ganz sicher, worum es dir geht, und ich bin auch nur 
Entwickler und kein Jurist ;-). Für eine qualifizierte Antwort kannst du 
dich gerne direkt bei uns melden.

Aber wenn du SEGGER Embedded Studio nicht kommerziell einsetzt, wüsste 
ich nicht, wieso du deine Applikation Open Source machen müsstest. 
SEGGER Embedded Studio würdest du unter der SEGGER's Friendly License 
(SFL) benutzen. Die Lizenzbedingungen findest du hier:
https://www.segger.com/purchase/licensing/license-sfl/

von Ralph S. (jjflash)


Lesenswert?

Clemens S. schrieb:
> Nimm das gleiche Board, lass sie den Interrupt konfigurieren, die Daten
> damit getriggert über DMA auslesen und per DMA und Interrupt über den
> USB ausgeben.

Interrupts, DMA und USB innerhalb einer Woche lernen?
Allein USB konfigurieren und in Betrieb nehmen (CDC) sprengt den 
Zeitrahmen komplett und wenn man dort nicht am Stück dran bleibt bis das 
komplett verstanden ist, macht das keinen Sinn.

DMA ist da kein Deut besser und erfordert m.M.n ebenfalls fundierte 
Kenntnisse vom verwendeten Controller.

Falk hat oben geschrieben: Kein ASM oder Urschleim. Gebe ich ihm Recht 
und auch wieder nicht. Kaum ein Mensch (und ich auch nicht) schreibt 
heute noch ein Programm in reiner Maschinensprache, im besten Falle (und 
da auch nur höchst selten) um etwas zu optimieren, was der Compiler 
nicht so gut kann (das letzte mal bei einem PADAUK PFS154 beim Zugriff 
auf den 16-Bit Counter, weil der Compiler nicht High- und Lowbyte 
adressiert hat).

ASM in der Ausbildung verwende ich nur (extrem kurz) am Beispiel der 
Simulation eines 8085 CPU um zu zeigen, wie extrem rudimentär 
Maschinenbefehle sind und wie wenig ein Maschinenbefehl kann. Hier geht 
es dann um Bitmanipulationen und Auswirkungen von arithmetischen 
Befehlen auf das Flag-Register. Mehr zeige ich hier nicht (Zeitaufwand 
ca. 2 Stunden).

Größeren Wert lege ich auf das Zusammenspiel von Präprozessor, Compiler 
und Linker (zuerst auch mit vorgefertigten Makefiles, die abgeändert 
werden können / sollen).

Die Hardware hierfür ist dann tatsächlich ein Arduino Nano (nicht weil 
ich Arduino so sehr mag, sondern weil die Hardware schlichtweg billig 
ist), dieser allerdings nicht mit der Arduino-IDE  programmiert.

Anschließend wird gezeigt, wie ein Portieren bspw. auf (sehr sehr 
billige) STM8S003 oder STM32F030 funktioniert und warum es wichtig ist, 
Funktionen sprechende Namen zu geben.

Die Registerebene ist hier zumindest in sofern wichtig, um zumindest 
GPIO Pins konfigurieren zu können. Anschließend (ebenfalls 
Registerebene) das Aufzeigen der grundsätzlichen Funktion von 
Timer/Counter (evtl. PLL, Clockdivider, compare-match Register, 
Interruptauslösung).

Hier geht es um das grundsätzliche Verständnis wie so etwas 
funktioniert.

Wenn es also um das grundsätzliche Verständnis der Controller geht, 
würde ich nicht nur einen einzigen Controller bei der Ausbildung 
verwenden wollen.

Arduino, STM8-Discovery und STM32-Nucleo Boards sind so preiswert, dass 
man hier zum Aufzeigen alle 3 verwenden kann.

Gemäß des Grundsatzes vom Einfachen zum Komplexen mit AVR anfangen und 
über STM8 zum STM32 kommen.

Wer dann noch mitmacht, ist angetriggert und erarbeitet sich weitere 
Schritte von alleine.

von Frederic S. (frederics)


Lesenswert?

Idee:

Bringe den Studierenden die Basics in C anhand eines 8 Bit 
Mikrocontrollers bei. Lege den Fokus dabei auf Datenblatt lesen und 
verstehen und die Funktionalität entsprechend implementieren. Die 
Erklärung des Grundsätzliche Aufbau eines Mikroprozessors und 
Mikrocontrollers würde ich auf das notwendige Mindestmaß begrenzen. 
(weil man sich dieses Wissen bei Bedarf gut anlegen kann)

In der zweiten Hälfte müssen die Studierenden ein selbstgewähltes 
Projekt (bzw. aus 5 Vorschlägen ausgewähltes Projekt) umsetzen.
Dabei dürfen alle Librarys und wer möchte auch ESP32 Boards genutzt 
werden. Sodass hier komplexe Projekte mit KI und Webanbindung möglich 
sind.

von Marx (marx_t)


Lesenswert?

Frederic S. schrieb:
> Idee:
>
> Bringe den Studierenden die Basics in C anhand eines 8 Bit
> Mikrocontrollers bei. Lege den Fokus dabei auf Datenblatt lesen und
> verstehen und die Funktionalität entsprechend implementieren. Die
> Erklärung des Grundsätzliche Aufbau eines Mikroprozessors und
> Mikrocontrollers würde ich auf das notwendige Mindestmaß begrenzen.
> (weil man sich dieses Wissen bei Bedarf gut anlegen kann)
>
> In der zweiten Hälfte müssen die Studierenden ein selbstgewähltes
> Projekt (bzw. aus 5 Vorschlägen ausgewähltes Projekt) umsetzen.
> Dabei dürfen alle Librarys und wer möchte auch ESP32 Boards genutzt
> werden. Sodass hier komplexe Projekte mit KI und Webanbindung möglich
> sind.

Das ist eine sehr gute Idee, damit sichert man noch bessere 
Arbeitsplätze und steigende Gehälter und fördert den Fachkräftemangel.
Das gefällt mir sehr gut, Danke schön!

In 15 Jahren brauchen wir auch nur noch Bachelor, die ihr Studium 
unterbrochen n (auf unbestimmte Zeit) und nicht abgebrochen haben, aber 
ein Kindergartenbuch verfasst haben, und mir als Opa erklären wollen, 
was ein Arduino alles kann.

Bei der Dummheit, die man heute aus den Schulen produziert, bin ich mir 
ganz sicher, dass wir bald Massenhaft Frührentner um die 30 bekommen.
Mit ihrer woken lifework balance againts the burnouts...

Ich weiß zwar nicht, was für ein Aldi Gas Kreis Krass Grass sie 
gebraucht geraucht haben, aber der Shit auch voll rein, den ich lese.

Das Beste wäre im Studium 5 Jahre lang Grundlagen zu vermitteln, die ü40 
alt sind, und dann nach der Schule in Betrieb zu schicken, dort kommt 
dann der Schock, man muss wieder bei Stunde null anfangen und neu 
lernen.

Sorry, wer so studiert, der kann sich gleich im Museum ausstopfen 
lassen.
Ich glaube eher, dass sie mit diesem woken shit den Leerstuhl 
bekleistern.

Sie sollten sich als Dozent für das Studienfach gendern eintragen, der 
Dekan raucht mit ihnen vorher den geilstensten Schiet...

Sorry aber so assi kann ein Forum nicht sein, das hat hier nichts mehr 
mal mit Unterstufen Fach Technik vom Brettergymansium zu tun.
Als Betreiber davon müsste ich schon ganz viele Alditüten inhalieren um 
das nervlich zu ertragen, wahrscheinlich liegt der Betreiber schon 
mehrfach in der Nervenheilanstalt, weil er sich das durchlesen musste.

von Klaus (feelfree)


Lesenswert?

Marx schrieb:
> Sorry aber so assi kann ein Forum nicht sein

dass Du es mit deinem unterirdischen Niveau nicht mühelos noch weiter 
runterziehen kannst.

von Markus H. (dasrotemopped)


Lesenswert?

der TO hat in diesem Thread genau einen Post gepostet, den ersten.
War der Beitrag ein Trigger für viele Kommentare, ja, offensichtlich.
Hat der TO darauf reagiert ? Nein, bis jetzt nicht.
Da stellt sich mir die Frage, warum ?

Option 1.:
er wollte wissen welcher uController am besten für ein didaktisches 
Konzept geeignet ist.
Kommerziell erhältliche uCs sind entweder Harvard oder vonNeumann 
Architektur, aber vor allen Touring complete. Dies sagt nichts über ihre 
didaktische Eignung aus.
Ebenso sagt die Leistungsfähigkeit der uCs nicht über ihre didaktische 
Eignung aus, ob wohl hier ein 8/16/32/64 bit Diskurs ausgebrochen ist.
Auch die Marke scheint sehr relevant zu sein.

Der Preis scheint ebenfalls wichtig für die didaktische Eignung zu sein.
Wenn die Erschwinglichkeit eine didaktische Rolle spielt muss der 
Arduino Clon von Ali wohl technische Inhalte besser vermitteln als das 
Original von den Arduino Machern.

Option 2.:
Es hat noch niemand einen didaktisch guten Kurs für Anfänger erstellt so 
das die Messlatte ziemlich niedrig liegt.
Der TO wollte sich auch nicht unbedingt die Mühe machen das zu ändern 
und wollte auf ein bestehendes Erfolgsmodell aufsetzen. Schwierigkeiten 
bei der Zielgruppe (die zu dem Kurs "gezwungen" wurde) scheinen sich 
anzubahnen.

Geduld und Einfühlungsvermögen für Einsteiger ist nicht die Stärke eines 
Forums, da ist die Frage wohl an die falsche Zielgruppe gegangen.

Nur mein Senf dazu ...

Was sind wohl die didaktisch relevanten Kriterien um ein Themenfeld zu 
erlernen/vermitteln ??

Vorweg mal die gängigen Fails aus meinem schulischen Erfahrungsfeld:

- In der Uni lernt man das lernen erst richtig.
Klar, damit man nach Ende seiner Lernlaufbahn erst lernen kann.

- Aus Fehlern lernt man am meisten
Klar, ich rechne euch jetzt mal ein paar Matheaufgaben falsch vor, dann 
ist der richtige Lösungsweg ganz offensichtlich.

- Hier lernen alle eine Programmiersprache, die nur an dieser 
Lehranstalt verwendet wird, das ist gerecht, damit auch die Leute mit 
Vorkenntnissen keinen Vorteil haben.
Klar, vermittelte Inhalte sollten keinen Praxisbezug haben, das steigert 
die Motivation und den Wert des gelernten. Nach Abschluss sind wir alle 
gleich unfähig für die Praxis.

- Das erarbeiten sich die Lernenden selbst in Lerngruppen, das ist am 
effektivsten.
Klar, aber nur wenn die Lehrenden keinen Bock auf Ihren Job haben.

- Ich habe das so gelernt, das hat für mich so funktioniert, das müssen 
alle anderen am Besten auch so machen.
Klar, jeder hat deine Startvoraussetzungen, die du heute noch genau 
definieren kannst. Und natürlich war dein Vorgehen intuitiv der beste 
Ansatz ohne Kenntnisse aller Optionen und Lernansätze.

- unter Leistungsdruck lernt es sich am Besten
Klar, man hängt sich ein paar Schnitzel um und geht ins Löwengehege. Man 
darf erst raus wenn man den Stoff verinnerlicht hat. Da freut man sich 
schon auf das nächste Lehrbuch im Piranha Becken.
Wilde Tiere sind dir zu extrem ? Wenn du die Prüfungen nicht schaffst, 
dann ist deine berufliche/finanzielle Zukunft vorbei bevor sie begonnen 
hat. Das schafft Wohlfühlatmosphäre. Ach ja, in diesem Fach ist die 
Durchfallquote (keine Darmkrankheit) 90%. Das liegt an den Lernenden, 
die haben wir spätestens nach 3 Prüfungen gewechselt und es wird nicht 
besser.


genug gelabert, ich hole mir eine Kartoffel als Snack.

von Michael (Firma: HW Entwicklung) (mkn)


Lesenswert?

Markus H. schrieb:
> warum ?

Deppen flitschen!
Ist wie Steine über die Wasseroberfläche flitschen, nur das man hier 
einen Beitrag ins trübe Forenwasser wirft und Deppen zählt die darauf 
anspringen.
Idealerweise mit groben persönlichen Beleidigungen.

Und da ist 'welche MCU ist die Beste' doch ein echter Evergreen.

Also immer schön weitermachen.
Es ist zwar längst alles gesagt, aber noch nicht von allen ;-)

von Volker S. (vloki)


Lesenswert?

Markus H. schrieb:
> Hat der TO darauf reagiert ? Nein, bis jetzt nicht.
> Da stellt sich mir die Frage, warum

Troll, oder hat sich gedacht, dass das Forum einfach noch viel viel viel 
bescheuerter als seine Studies ist ;-)

von Lotta  . (mercedes)


Lesenswert?

Vielleicht hat er durch unsere Disskusion erst
gemerkt, wie kompliziert die Materie ist?

Da für jeden Kontroller ein eigenes Konzept erarbeitet
werden muß, im Gegensatz etwa zum C++ oder Delphi-Lehrgang,
wo es massig Lehrunterlagen, Prüfungsvorlagen u.s.w. gibt,
ist die Materie in meinen Augen für Lehrzwecke schwerer zu
erarbeiten. Alle Unterlagen müssen selbst erarbeitet und dann
erstellt werden. ;-P
Das selbe Problem hab ich ja dann auch, wenn "meine" Mädels
vernünftig lernen sollen.

@Till,
Danke! Ich werd mir das Teil dann mal genauer ansehen,
bis jetzt wars ja nur ne fixe Idee. Registerprogrammierbar
müßte er für unsere Zwecke aber sein, wenn man mit eigenen
Protokollen spielen will.

mfg

von Markus H. (dasrotemopped)


Lesenswert?

>wie kompliziert die Materie ist
ich denke eher komplex als kompliziert.

>für jeden Kontroller ein eigenes Konzept erarbeitet werden muß
ist die Lehraufgabe nicht gerade, ein allgemeingültiges Konzept der 
Microcontroller Programmierung zu vermitteln?
Was macht die uCs so unterschiedlich, das jeder ein eigenes Konzept 
benötigt?

>ist die Materie in meinen Augen für Lehrzwecke schwerer zu erarbeiten
Es ist für die Lehrenden mühevoll den Stoff zu vermitteln wenn die 
eigenen Konzepte und Beispiele bei den Lernenden in der Praxis nicht 
funktionieren.

Man braucht eine klar definierte Programmierumgebung, damit man keine 
Zeit mit IT Support statt Programmieren verbringt. Wenn man z.B. aus 
Kostengründen BYOD lebt ist man im Kampf mit Windmühlen.

Segger bietet einige gute HW/SW Tools an, aber didaktisch aufgebaut ist 
deren GUI nicht so sehr, mehr Expertentool für Experten mit hoher 
Bereitschaft zum Leiden. Damit holt man keine Einsteiger ab. Der 
Debugger heist EDU weil er günstiger angeboten wird, nicht weil die Doku 
ohne Vorkenntnisse zu verstehen ist.
Da mein allgemeines Leid beim Debuggen mit den Tools von Segger 
gemildert wird setze ich sie ein. Einem Einsteiger würe ich sie niemals 
empfehlen, einem Fortgeschrittenem schon eher, Profis haben sie 
warscheinlch eh schon.

>Alle Unterlagen müssen selbst erarbeitet und dann erstellt werden
wie wäre es mit Kollaboration von Fachabteilungen/Schulen/Unis, damit 
nicht jeder das Rad neu erfinden muss ? Was wäre die Konsequenz wenn der 
Programmierunterricht in der Mittelstufe/Berufsschule/Uni/FH auf gleiche 
Konzepte aufbauen?
Informatikinteressierte Mittelstufenschüler wählen Informatik ab weil 
sie die Katze Scratch nicht fordert oder nicht interessiert (O-Ton 
2024.: Ich war in meiner Klasse die einzige, die die 
Informatikhausaufgaben überhaupt gemacht hat.)

Embedded Programmierung vermischt Hardwarekenntnisse und 
Programmierkenntnisse. Erst wenn man beide Bereiche beherrscht kann man 
sie kombinieren. Noobs beides gleichzeitig beizubringen ist eine 
Herkulesaufgabe, selbst wenn sie motiviert in den Unterricht 
hereinkommen.

: Bearbeitet durch User
von Markus H. (dasrotemopped)


Lesenswert?

PS: Ich verwende übrigens Lernende und Lehrende nicht wegen der 
geschlechtsneutralen Verwendung sondern weil ich keinen Unterschied 
zwischen Schüler/Berufsschulschüler/UniStudenten und FHstudenten machen 
will. Alle Menschen lernen gleich, darum muss der 
Unterricht/Unterrichtsinhalt  auch nicht anders aussehen.

Informatikunterricht in der 5. Klasse und Informatik an der Uni kann 
gleich aussehen wenn die Einstiegsvorraussetzung (Noob) gleich ist. Die 
5. Klasse wird ebenso häufig unterschätzt wie die Menschen im 
Vorlesungssaal überschätzt werden. Unsere digital Natives in den 20ern 
sind oft überfordert wenn sie zum ersten Mal mit einem Computer (Marke 
egal) nach Abschluss der Ausbildung arbeiten müssen. Auch die 5. Klasse 
ist überfordert wenn die GUI nicht aussieht wie bei der Switch. Die 5. 
Klasse fängt aber an, auszuprobieren, die Studies haben mehr Anst was 
falsch zu machen und holen Kaffee und prokrastinieren.

von Mi N. (msx)


Lesenswert?

Markus H. schrieb:
> Segger bietet einige gute HW/SW Tools an, aber didaktisch aufgebaut ist
> deren GUI nicht so sehr, mehr Expertentool für Experten mit hoher
> Bereitschaft zum Leiden.

Aha! Welche GUI?
Mach Deinen eigenen Vorschlag, dann können wir ihn zerreden ;-)

von Markus H. (dasrotemopped)


Lesenswert?

final cartridge III+, seit Jahren ausgereift und immer noch aktuell
8bit Programmierung, Register Zugriff, populäre Plattform die viele 
kennen.

von Mi N. (msx)


Lesenswert?

Lass mich raten, Du kommst aus Dödel- oder Meckersdorf im Landkreis 
Schwatzhausen.

von Lotta  . (mercedes)


Lesenswert?

Markus H. schrieb:
> final cartridge III+, seit Jahren ausgereift und immer noch aktuell
> 8bit Programmierung, Register Zugriff, populäre Plattform die viele
> kennen.

Absolut genial! Mein Opa hat auf das Teil geschwört,
als er nach der "Wende" zugriff darauf bekam.
Leider gibts jetzt ein paar Hardwareschwierigkeiten
bei uns:

Wie bekomme ich das Teil an unsere Workstations,
32 Kern Threadripper pro, 20 TB SSD- Array und
256 Gb Ram? ;-O ;-P

Wir benutzen übrigens Virtuale Maschinen, die
die entsprechende Plattform, etwa den C++ Builder
von Embarcadero eingerichtet haben.
So kann frau ne Maschine benutzen, auf der etwa Keil
+ Zubehör, wie git fest eingerichtet ist.
Inzwischen ist ja vmware Workstation frei,
was die Sache absolut vereinfacht.

mfg

: Bearbeitet durch User
von Lotta  . (mercedes)


Lesenswert?

Mi N. schrieb:
> Lass mich raten, Du kommst aus Dödel- oder Meckersdorf im Landkreis
> Schwatzhausen.

Wir sind auf dem Mikrocontroller-Board!!! ;-P
Ich find Markus' Ansichten schon in Ordnung.

Mein Respekt gilt aber allen OM's hier.

mfg

von Markus H. (dasrotemopped)


Lesenswert?

>Lass mich raten, Du kommst aus Dödel- oder Meckersdorf im Landkreis 
Schwatzhausen.
Ich stelle die Fehler der aktuellen Ausbildung im IT Bereich dar als 
Negativabdruck für die positive Lösung.
Beispiel Klassengröße. Schulklassen werden auf Grund von Lehrermangel 
größer, Vorlesungssäle sind überfüllt.
Welche private Eliteschule wirbt mit maxinal großen Klassen ? Keine ? 
Warum wohl ?
Ableitung für die bessere Lösung: kleinere Klassen, mehr Lehrer.

>Ich find Markus' Ansichten schon in Ordnung.
vielen Dank.

>Wie bekomme ich das Teil an unsere Workstations, 32 Kern Threadripper pro, 20 TB 
SSD- Array und 256 Gb Ram? ;-O ;-P

Auf Linux läuft der Vice C64 Emulator, das ROM von der Final Cartridge 
kann man einbinden, Problem gelöst.
Oder Linux oder RTOS Programmierung, vielleicht zukunftssicherer.

das ist die Ausstattung der Azubis in der Ausbildung ? Respekt, da fange 
ich auch noch mal ne Lehre an.

Oder besser:
Schritt 1.: Linux auf den Threadripper PC installieren
Schritt 2.: lesen
Brian Kernighan, Dennis Ritchie / C Programming Language
https://www.rheinwerk-verlag.de/einstieg-in-c/
Der Author Thomas Theis ist für mich generell sehr empfehlenswert er war 
für mich ein sehr guter Lehrer, didaktisch sehr ausgereifte Bücher mit 
Fokus auf das wesendliche beim Lernen.
https://man7.org/training/index.html
https://www.rheinwerk-verlag.de/systemnahe-programmierung-mit-c-und-linux/
usw...

Schritt 3.: Video schauen
Ob Threadripper oder Raspberry ist egal zum Lernen, beide können das 
selbe, einer nur schneller.
https://youtu.be/pm5F1qyXAOI?si=UPQnbpBs1q-tzNM1
Alle Kommandos in der Videobeschreibung.
Gibts auch als Download für Linux Mint PCs:
https://dasrotemopped.de/dateien/LinuxMint.zip

Bock auf Arduino:
https://dasrotemopped.de/dateien/Arduino.zip
Damit kannst du dich vor Boardauswahl nicht mehr retten.
Einfach unter >File>Preferences die URLs hinzufügen und anschliessend 
unter
>Tools>Board>Board Manager> gewünschte Boards/CPUs nachinstallieren.
Anschliessend unter >Tools>Manage Libraries> das ganze noch etwas 
garnieren mit extra Library Code für Peripherie und fertig ist die 
Lernumgebung.

Bock auf Arduino mit ESP32/RTOS und Task Kommunikation:
https://dasrotemopped.de/dateien/myTWatch2020V1_20240108.zip

Labern ist nicht mein Ding, ich liefere!

Ich habe auch keine didaktisch einwandfreie Lösung vorbereitet, aber 
besser als nix. Wenn man den Anweisungen beim Raspberry Video folgt hat 
man anschliessend das erste GUI Programm unter Linux erfolgreich 
kompiliert und gestartet in unter einer Stunde Arbeit.
Wenn ein Tutor assistieren kann, dann werden auch kleine Fallstricke 
nicht zum Demotivator für Noobs.
Vielleicht ist das ja noch eine späte Anregung für den TO.

von Lotta  . (mercedes)


Lesenswert?

Markus H. schrieb:

>>Lass mich raten, Du kommst aus Dödel- oder Meckersdorf im Landkreis
> Schwatzhausen.
Boahh, ein absolut geiler Thread!
Mein Opa, der mich damals hier aufs Board "geschleppt" hat,
hatte Recht:
Unter der Teerung und Federung mancher OM's hier ist ein Körper
aus reinem Gold! :-P

> Ich stelle die Fehler der aktuellen Ausbildung im IT Bereich dar als
> Negativabdruck für die positive Lösung.
> Beispiel Klassengröße. Schulklassen werden auf Grund von Lehrermangel
> größer, Vorlesungssäle sind überfüllt.
Was man manchmal in Vorlesungen, gerad im medizinischen Bereich
nicht sagen kann.

> Welche private Eliteschule wirbt mit maxinal großen Klassen ? Keine ?
> Warum wohl ?
Weils ne Menge Geld kostet. Meine logopädische Ausbildung
kostet zum Beispiel 2000 EUR im Monat, was ne normale Arbeiterfamilie
nicht aufbringen kann. So ist Bildung in Deutschland eine Klassenfrage
im doppelten Sinne! ;-O

> Ableitung für die bessere Lösung: kleinere Klassen, mehr Lehrer.
Das wird sich unsere Gesellschaft nicht leisten wollen, solange die 
Bombardierung von Schulen und Kindergärten mehr Profit verspricht. :-((

>>Ich find Markus' Ansichten schon in Ordnung.
> vielen Dank.
Du bist gut, das hab ich im Gefühl! Vor Allem weisst Du, vovon Du
redest.

>>Wie bekomme ich das Teil an unsere Workstations, 32 Kern Threadripper pro, 20 TB
> SSD- Array und 256 Gb Ram? ;-O ;-P
>
> Auf Linux läuft der Vice C64 Emulator, das ROM von der Final Cartridge
> kann man einbinden, Problem gelöst.
> Oder Linux oder RTOS Programmierung, vielleicht zukunftssicherer.
>
> das ist die Ausstattung der Azubis in der Ausbildung ? Respekt, da fange
> ich auch noch mal ne Lehre an.
Naja, Vater ist der Meinung, das wir von "der Pieke" an lernen müssen,
wie oben schon diskutiert, an modernen Geräten und moderner Soft.
Immerhin ist man ja in ner KMU "Mädchen für Alles", das wissen
muss, was die Kollegen so den ganzen Tag tun. Das schließt sogar
Stunden  Arbeit in der Kantine ein!

> Oder besser:
> Schritt 1.: Linux auf den Threadripper PC installieren
Nö.;-P  Ubuntu oder Pfefferminz in ne VM installieren.
Diese dann auf dem Threadripper ausführen.
Mit dem RAM und SSD-Stripe-Array gibt es keinen Unterschied mehr
zu "bare metal", und Du hast so schöne Helfer wie Snapshots,
die das Experimentieren gemütlicher machen.

> Schritt 2.: lesen
> Brian Kernighan, Dennis Ritchie / C Programming Language
> https://www.rheinwerk-verlag.de/einstieg-in-c/
> Der Author Thomas Theis ist für mich generell sehr empfehlenswert er war
> für mich ein sehr guter Lehrer, didaktisch sehr ausgereifte Bücher mit
> Fokus auf das wesendliche beim Lernen.
> https://man7.org/training/index.html
> https://www.rheinwerk-verlag.de/systemnahe-programmierung-mit-c-und-linux/
> usw...
Stroustrup's "Die C++ Programmiersprache" ist quasi meine
Bibel, ich hab Zugriff auf Programmierlitheratur von den 90'iger
Jahren an.
>
> Schritt 3.: Video schauen
> Ob Threadripper oder Raspberry ist egal zum Lernen, beide können das
> selbe, einer nur schneller.
Genau. Ich schätze mal, der Raspi ist schneller. ;-D

> https://youtu.be/pm5F1qyXAOI?si=UPQnbpBs1q-tzNM1
> Alle Kommandos in der Videobeschreibung.
> Gibts auch als Download für Linux Mint PCs:
> https://dasrotemopped.de/dateien/LinuxMint.zip
Das schau' ich mir mal an.

> Bock auf Arduino:
> https://dasrotemopped.de/dateien/Arduino.zip
> Damit kannst du dich vor Boardauswahl nicht mehr retten.
> Einfach unter >File>Preferences die URLs hinzufügen und anschliessend
> unter
>>Tools>Board>Board Manager> gewünschte Boards/CPUs nachinstallieren.
> Anschliessend unter >Tools>Manage Libraries> das ganze noch etwas
> garnieren mit extra Library Code für Peripherie und fertig ist die
> Lernumgebung.
>
> Bock auf Arduino mit ESP32/RTOS und Task Kommunikation:
> https://dasrotemopped.de/dateien/myTWatch2020V1_20240108.zip
Hey! Ist Dein Moped FreeRtos-gesteuert mit echtem Multitasking?!

> Labern ist nicht mein Ding, ich liefere!
Boah, das merke ich gerade! Wenns Muttern wieder besser geht,
zur Zeit übernehm ich ne Menge ihrer Aufgaben, schau ich mir
Deine Seite mal an.

> Ich habe auch keine didaktisch einwandfreie Lösung vorbereitet, aber
> besser als nix. Wenn man den Anweisungen beim Raspberry Video folgt hat
> man anschliessend das erste GUI Programm unter Linux erfolgreich
> kompiliert und gestartet in unter einer Stunde Arbeit.
> Wenn ein Tutor assistieren kann, dann werden auch kleine Fallstricke
> nicht zum Demotivator für Noobs.
> Vielleicht ist das ja noch eine späte Anregung für den TO.
Was machst Du beruflich? Bist Du Lehrer / Professor?

Respekt!!!

Mercy.

von Markus H. (dasrotemopped)


Lesenswert?

>>https://dasrotemopped.de/dateien/myTWatch2020V1_20240108.zip
>Hey! Ist Dein Moped FreeRtos-gesteuert mit echtem Multitasking?!
der ESP32 ist dual core und das Beispiel arbeitet mit RTOS Tasks, also 
ja.
Funktioniert aber genau so gut auf anderen uCs mit freeRTOS oder Linux. 
Aber mit nem Threadripper weisst du das ja schon.

>Ubuntu oder Pfefferminz in ne VM installieren.
>gibt es keinen Unterschied mehr zu "bare metal"
hat bei mir in der Praxis immer zu Problemen geführt wenn man einen 
Debugger/Programmer über USB in die VM durchgereicht hat. Darum mache 
ich das nicht mehr mit VMs.

>Was machst Du beruflich? Bist Du Lehrer / Professor?
Ich habe keinen akademischen Abschluss.
Ich bin nur Entwickler mit zu vielen Hobbies.

>Meine logopädische Ausbildung kostet zum Beispiel 2000 EUR im Monat.
LLMs als Fachgebiet ?

von Lotta  . (mercedes)


Lesenswert?

Markus H. schrieb:
>>>https://dasrotemopped.de/dateien/myTWatch2020V1_20240108.zip
>>Hey! Ist Dein Moped FreeRtos-gesteuert mit echtem Multitasking?!
> der ESP32 ist dual core und das Beispiel arbeitet mit RTOS Tasks, also
> ja.
Boahh! Soweit mir die Umstände in meiner Family wieder etwas mehr Zeit
lassen, werd ich mich mal durch deine Seite wühlen.

> Funktioniert aber genau so gut auf anderen uCs mit freeRTOS oder Linux.
> Aber mit nem Threadripper weisst du das ja schon.
>
Ts... ;-P

>>Ubuntu oder Pfefferminz in ne VM installieren.
>>gibt es keinen Unterschied mehr zu "bare metal"
> hat bei mir in der Praxis immer zu Problemen geführt wenn man einen
> Debugger/Programmer über USB in die VM durchgereicht hat. Darum mache
> ich das nicht mehr mit VMs.
>
Vmware Workstaton ist in diesem Falle absolut geil!
Und sie ist inzwischen frei, Du solltest sie mal probieren!
Och! Der Galep5 etwa wird zum Beispiel mühelos durchgereicht und kann
dann mittels open ocd-Anbindung als Debuggerhardware, etwa mittels
jtag verwendet werden.

>>Was machst Du beruflich? Bist Du Lehrer / Professor?
> Ich habe keinen akademischen Abschluss.
> Ich bin nur Entwickler mit zu vielen Hobbies.
>
Und ich bin jetzt baff. ;-O  Absolut.
Was Andy hier auf unserem Board für Leuts zusammengekarrt hat! :-O
Wenn ich so an Edi, Ralph Berres oder Hmmm denke, die ich bereits
"kennenlernen" durfte!

>>Meine logopädische Ausbildung kostet zum Beispiel 2000 EUR im Monat.
> LLMs als Fachgebiet ?
Noch nicht. Da muß ich mich erst einarbeiten. Da ja dort Verfahren
angewendet werden, die auch in der Biologie / Biochemie verwendet
werden, wie etwa matrixbasierte Schätzverfahren ists absolut
interessant, ob wir wirklich langsam erfahren, wie Intelligenz
funktioniert.
Werden uns in Zukunft Silizium Strukturen oder Cyborg Strukturen
versklaven?!? ;-O

Apropro Cyborg.
Ich bin ohne Gehör geboren worden, da Mutter bei meiner Geburt
ne Menigitis hatte. Eine befreundete Firma hat mir die Gelegenheit
gegeben, an ner Studie für ein neues Gerät / Verfahren
teilzunehmen.  Mir blieb die Wahl, ob ich gehörlos bleiben oder
das Risiko eingehen sollte, das bei den mehrfachen neurochirurgioschen
Eingriffen etwas schief geht.
Mann, war die Welt plötzlich schmerzhaft laut! :-O
Das ist jetzt 6 Jahre her, und ich hab immer noch Defizite beim
Sprechen, gerad am Telefon etwa, wenn die Unterstützung durchs
Lippenlesen fehlt.
Deshalb die Logopädie!

mfg

von Mi N. (msx)


Lesenswert?

Mi N. schrieb:
> Der TO hatte klare Vorgaben formuliert, die mittlerweile ganz ignoriert
> werden. Das zuletzt aufgetretende 'Gerede' hilft ihm in keiner Weise.

von Joe G. (feinmechaniker) Benutzerseite


Lesenswert?

Vielleicht ist es ganz nützlich zunächst Randbedingungen für die Lehre 
zu formulieren, bevor jeder meint eine fundierte Antwort zu kennen. Auch 
wenn ich nicht Fritz G. bin, meine Anforderungen sind ähnlich…

Fach: Mikrocontrollertechnik
Zeitrahmen: ein Semester (15 Vorlesungen / 15 Übungen)
Zielgruppe: Studiengang Maschinenbau, Mechatronik
Vorkenntnisse: Mathematik, Physik, Grundlagen ET, Grundlagen Python

Lernziele:
Die Studenten kennen die Funktionsweise, den grundsätzlichen Aufbau und 
die Einsatzmöglichkeiten von Mikrocontrollern. Sie sind in der Lage, 
Mikrocontroller für einfachen Anwendungszwecke zu programmieren und 
verschiedene Bussysteme und Kommunikationsmöglichkeiten (I2c, SPI, 
RS-232) zu nutzen.

Lerninhalte:
Zahlensysteme, Grundlagen der Rechnerarchitektur, Aufbau von 
Mikroprozessoren, Schnittstellen und Bussystemen, Softwarezugriff auf 
die Schnittstellen

übergreifende Handlungskompetenz:
Die Studenten können eigenständig mit den erworbenen Grundkenntnissen 
Lösungsansätze für weiterführende Aufgabenstellungen erarbeiten.

Jetzt kann man die Frage erneut stellen:
Welcher Mikrocontroller / Familie, wäre genau für die obige 
Aufgabenstellung geeignet und in welcher Programmiersprache sollte das 
erfolgen?

Man kann es auch anders formulieren: Die Studenten sollen feilen lernen 
und nicht Spritzgusswerkzeuge an einer 6-Achs-Fräsmaschine fertigen.

: Bearbeitet durch User
von Mi N. (msx)


Lesenswert?

Joe G. schrieb:
> meine Anforderungen sind ähnlich…

Und hast Du für Dich schon eine Idee, wie Du es angehen willst?

Bei Maschinenbau/Mechatronik könnte es schon in Richtung programmierbare 
Steuerung auf µC-Basis gehen.
Bei vom TO oben genannte Medizintechnik habe ich eher Blutdruck bzw. 
EKG/EEG-Signale und geringen Stromverbrauch im Kopf.

Dem TO wünsche ich nach seinem Beinbruch beim Skilaufen alsbaldige 
Genesung und daß er doch noch einmal dazu kommt, sich hier zu seinem 
Ergebnis zu äußern ;-)

von Markus H. (dasrotemopped)


Lesenswert?

m.M.n. ist die Fragestellung "Welcher Controller für Unterrichtszwecke?" 
schon falsch gewählt, da der TO bemerkt, das
> ... die Studentenvertreter ... beklagten, dass die Laboraufgaben zu
> praxisfern und langweilig seien
Nicht an jedem ist ein Harald Lesch verloren gegangen.
Und Edutainment führt in die Tutorial Hölle.
Inhalte werden seicht und wertlos.
Vielleicht ist eine Schulung in Präsentationstechniken wichtiger als den 
uC zu wechseln.

> Lehrauftrag im Fach Mikrocontrollertechnik an einer Hochschule
> Im Labor arbeite ich mit einem PIC18 unter MPLAB
für Embedded zeitgemäß und praxisrelevant, aber Weiterbildung macht 
Arbeit und zwar für beide Seiten.

Wer kann hier mal schnell die 6 verschiedenen Methoden auf einem uC 
aufzählen, um LEDs mit 1Hz blinken zu lassen ?
Nummer 1 kennt jeder , GPIO + Delay, dann kann der uC nix anderes mehr 
machen. Wie waren jetzt die anderen 5 ?

Wenn man selbst Leuten mit Vorkenntnissen das Blinky wieder schmackhaft 
machen kann, dann kann man präsentieren.

@Lotta
>Deshalb die Logopädie!
aha, also nicht Ausbildung zum Logopäden sondern Therapie ?

>ob wir wirklich langsam erfahren, wie Intelligenz funktioniert.
wissen wir schon, einfach
Spitzer, Manfred: Geist und Gehirn DVD Episode 1-9
schauen

Nicht mit Thomas Spitzer verwechseln, der macht Unterhaltungsprogramm.

von Volker S. (vloki)


Lesenswert?

Mi N. schrieb:
> ... Beinbruch beim Skilaufen ...

Kopfkino ;-)

von Volker S. (vloki)


Lesenswert?

Markus H. schrieb:
> Spitzer, Manfred ...

So langsam geht mir das dann doch alles etwas zu nah ;-)

von Lotta  . (mercedes)


Lesenswert?

Markus H. meinte:

>@Lotta
>Deshalb die Logopädie!
> aha, also nicht Ausbildung zum Logopäden sondern Therapie ?

Genau.
Ich werd dann Bioinformatik / Genetik studieren.

Ps:
Om's, bitte entschuldigt meine Abschweifungen.

mfg

von Joe G. (feinmechaniker) Benutzerseite


Lesenswert?

Mi N. schrieb:
> Und hast Du für Dich schon eine Idee, wie Du es angehen willst?

Ja

Aufbau eines generischen Mikrocontrollers

interne Peripherie eines generischen Mikrocontrollers

GPIO, Counter / Timer, UART, I2C, SPI, EEPROM, Watchdog, Clock, 
Interrupt

Beispiele (8 Bit, 32 Bit)

RPi Pico als Modellprozessor für einfache Versuche

einfache Schaltpläne (Fritzing) für GPIO, UART, I2C, SPI, PWM

Programmierübungen mittels Micropython und Thonny als 
Entwicklungsumgebung

von Mi N. (msx)


Lesenswert?

Joe G. schrieb:
> Mi N. schrieb:
>> Und hast Du für Dich schon eine Idee, wie Du es angehen willst?
>
> Ja
>
> Aufbau eines generischen Mikrocontrollers

Das ist gut und viel Erfolg!

von Fritz G. (fritz65)


Lesenswert?

Als TO bitte um Verzeihung für meine durch familiäre Verpflichtungen 
bedingte Sendepause.
Um den inzwischen weit abgedrifteten Thread mal wieder ins Fahrwasser 
zurückzuführen:
Mir geht es nicht um persönliche Karriereambitionen. Dazu müsste ich 
Forschung betreiben und anwendungsorientierte Mikrocontrollertechnik ist 
in dieser Hinsicht ein eher undankbares Gebiet.
Ich möchte den Studenten eine solide Grundlage geben, um später im 
Berufsleben µC-Systeme in Hard- und Software entwicklen zu können. Ziel 
ist nicht, einen bestimmten Controllertyp oder eine Architektur 
vollständig zu beherrschen (das ist bei nicht ganz trivialen Bausteinen 
ohnehin nicht mehr möglich), sondern die Fähigkeit zu erwerben, sich 
noch fehlendes Wissen selbständig zu erarbeiten. Dazu gehört neben einem 
Grundverständnis der Funktion eines µC vor allem, ein Datenblatt lesen 
und verstehen zu können.
Ich habe die Erfahrung gemacht, dass heutige Studenten Meister darin 
sind, zu einer Aufgabenstellung eine fertige Lösung im Netz zu finden, 
aber sich vor einer näheren Beschäftigung mit den Grundlagen scheuen.

Krasses Beispiel: Ein Praktikant hatte eine einfache Programmieraufgabe 
auf einem PIC, dessen Default-Taktfrequenz von 1MHz für die Aufgabe 
jedoch zu langsam war. Ich beauftrage ihn, den Takt auf 16MHz zu 
erhöhen. Dazu musste lediglich ein einzelnes Feld mit 3 bit Breite 
geändert werden. Welches, sollte er im Datenblatt selbst herausfinden. 
Nach einer Woche erfolglosen Herumprobierens meldete er sich wieder mit 
der Standardantwort "Geht nicht". Ein Blick in den Code offenbarte die 
Zeile
1
#define _XTAL_FREQ 16000000
. Anstatt ins Datenblatt zu schauen, hatte er im Netz gesucht und war 
auf eine Arduino-Seite gestoßen.

von Walter T. (nicolas)


Lesenswert?

Ich packe mal Deine Aussagen wild zusammen und reiße sie aus dem 
Zusammenhang:

Fritz G. schrieb:
> Ich möchte den Studenten eine solide Grundlage geben, um später im
> Berufsleben µC-Systeme in Hard- und Software entwicklen zu können.

Fritz G. schrieb:
> Dazu gehört [...] vor allem, ein Datenblatt lesen
> und verstehen zu können.

Fritz G. schrieb:
> Im Labor arbeite ich mit einem PIC18 unter MPLAB.

Fritz G. schrieb:
> Ist es heute noch zeitgemäß, die Studenten mit der Programmierung von 8
> bit- Controllern auf Registerebene zu quälen, wenn sie das später nie
> mehr brauchen?

Wenn es der Zweck ist, den Studierenden die Grundlagen und das Arbeiten 
mit Datenblättern näher zu bringen, wäre am PIC18 nichts verkehrt, denn 
die Datenblätter sind relativ kompakt und ohne zuviel Querverweise auf 
andere Dokumente.

(Dann fielen für mich "modernere" MCUs mit den wichtigen Sachen verteilt 
auf 5 Dokumente mit je 600 Seiten eher weg - und die MSP 430 eigentlich 
auch.)

Wenn es jetzt darum geht, unbedingt etwas zu ändern, um Änderungswillen 
zu demonstrieren, geht natürlich ein Wechsel auf AVR8 oder so, aber dann 
irgendeine Variante, die sich Debuggen lässt.

Fritz G. schrieb:
> Ich habe die Erfahrung gemacht, dass heutige Studenten Meister darin
> sind, zu einer Aufgabenstellung eine fertige Lösung im Netz zu finden,
> aber sich vor einer näheren Beschäftigung mit den Grundlagen scheuen.

Und damit bringst Du das Hauptproblem Deines Anliegens komplett auf den 
Punkt: Es wird hächstens ein Semester lang klappen. Danach sind in den 
Verteilern Musterlösungen unterwegs, dass niemand mehr auch nur einen 
Blick ins Original-Datenblatt wirft - selbst wenn die Musterlösung 
absolut falsch  oder sogar länger und komplizierter als das 
Original-Dokument ist.

Ich kenne keine Lösung.

Fritz G. schrieb:
> Was meinen die Jüngeren hier im Forum dazu?

Achso, eigentlich bin ich ja gar nicht angesprochen. Und vermutlich auch 
sonst niemand hier im Forum.

Nix für Ungut.

von Martin H. (mahi)


Lesenswert?

Fritz G. schrieb:
> Sie wünschen sich
> interessantere Projekte mit KI oder Anbindung an eine Smartphone-App
> statt eines schnöden alphanumerischen Displays.

Das heisst, sie haben nichtmal im Ansatz verstanden, um was es in der 
Vorlesung geht. Wenn ein Fach "Mikrocontrollertechnik" heisst, sollte es 
doch auch genau darum gehen, die Studentenvertreter erwarten scheinbar 
einen "Programmierkurs".


Fritz G. schrieb:
> Im Labor arbeite ich mit einem PIC18 unter MPLAB.

Ich persönlich würde keinen PIC verwenden, das liegt aber daran, dass 
ich mich mit denen und deren Dokumentation einfach nie so recht warm 
wurde. Mir sind die Datenblätter zu unübersichtlich und die Peripherie 
oft unnötig kompliziert, aber das ist Geschmackssache.


In meiner Microcontrollertechnik-Vorlesung (50% Vorlesung, 50% 
Praktikum) war's der C166. Es wurde damals wirklich ganz unten 
angefangen (Befehle bitweise zusammenbasteln, in den RAM schreiben und 
von dort ausführen), erst danach gings über zu den Mnemonics und 
Assembler. Danach die Grundlagen von Compilern, Linkern, etc. und ein 
bisschen C programmieren. Abschließend ein wenig Peripherie.
Den Praxisteil musste man sich im Keller des Instituts an ein paar 
C166-Eval-Boards mit Monitorprogramm selbständig/alleine erarbeiten.

Rückblickend war das eine der wertvollsten Veranstaltungen meines ganzen 
Studiums, da eben wirkliche universelle Grundlagen vermittelt wurden, 
auf denen die ganze Mikrocontrollerei aufbaut und die man tatsächlich 
auch immer wieder braucht.
Dass dabei der (damals schon veraltete) C166 verwendet wurde, war 
zweitrangig, die vermittelten Grundprinzipien gelten einfach für alle 
Controller.

Fritz G. schrieb:
> Ist es heute noch zeitgemäß, die Studenten mit der Programmierung von 8
> bit- Controllern auf Registerebene zu quälen, wenn sie das später nie
> mehr brauchen?

Ob 8, 16 oder 32-bit ist ganz egal, wenn man das Prinzip verstanden hat. 
Wenn man nicht auf Registerebene "gequält" werden will, muss man halt 
einen großen Bogen um Mikrocontroller machen...


Die Prüfung war damals mündlich und jeweils zu zweit. Mein Mit-Prüfling 
hatte sich ganz offensichtlich den Praxisteil gespart, so dass die 
Prüfung für mich nach zwei/drei Fragen mit 1.0 abgeschlossen war, 
während der Kollege für die restliche Prüfungszeit die volle 
Aufmerksamkeit des Dozenten hatte ;)

von Christoph M. (mchris)


Lesenswert?

Fritz G. (fritz65)
>Krasses Beispiel: Ein Praktikant hatte eine einfache Programmieraufgabe
>auf einem PIC, dessen Default-Taktfrequenz von 1MHz für die Aufgabe
>jedoch zu langsam war. Ich beauftrage ihn, den Takt auf 16MHz zu
>erhöhen. Dazu musste lediglich ein einzelnes Feld mit 3 bit Breite
>geändert werden. Welches, sollte er im Datenblatt selbst herausfinden.
>Nach einer Woche erfolglosen Herumprobierens meldete er sich wieder mit
>der Standardantwort "Geht nicht". Ein Blick in den Code offenbarte die
>Zeile

Wichtig ist hier weniger das konkrete Problem als viel mehr die 
Formulierung des didaktischen Ansatzes. Joe G. hat das oben gemacht mit 
der präzisen Formulierung der LERNZIELE.

Das Lernziel könnte hier sein:
"Der Student soll entscheiden können, wann er mit dem Lesen des 
Datenblattes zum Ziel kommt und wann er mit der Anfrage bei modernen 
Suchmaschinen oder KI's schneller ist"

von Mike J. (linuxmint_user)


Lesenswert?

Fritz G. schrieb:
> Nun traten Studentenvertreter auf mich zu, und beklagten, dass die
> Laboraufgaben zu praxisfern und langweilig seien. Sie wünschen sich
> interessantere Projekte mit KI oder Anbindung an eine Smartphone-App
> statt eines schnöden alphanumerischen Displays.

Wir haben in der Uni das Verständnis für die Dinge beigebracht bekommen 
und dass sind im allgemeinen alles Grundlagen.

Später haben wir dann Projektarbeiten, Studienarbeiten, Bachelorarbeit, 
Masterthesis usw. gemacht, wo man vorher (bevor man die Arbeit anfängt, 
in der Freizeit oder bei bestimmten Kursen) mehr Wissen angesammelt, 
praktisch probiert wie es funktioniert.

Da kann man dann OpenCV nutzen um mit einer Kamera Bilder zu erkennen 
oder man nutze einen richtig fetten Mikrocontroller von ST. Das sind 
Dinge die sehr viel Zeit beanspruchen um sich da einzuarbeiten.

Die meisten Studenten haben ihre Master/Bachelor-Arbeit vom Professor 
bekommen, haben sich das angeschaut ob sie die Fähigkeiten erwerben 
können um das zu lösen. Es gibt da teilweise wirklich blöde Probleme, 
zum Beispiel ist der Mikrocontroller noch sehr neu und die Biliotheken 
haben Bugs, so dass man da nicht weiter kommt und massive Probleme 
bekommen kann, was dann nur zu lösen ist wenn man einen anderen 
Mikrocontroller nutzt, was dann aber wieder Einarbeitungszeit 
verursacht.

Sag deinen Studenten dass du ALLEN Studenten in deinem Höhrsaal diese 
Denkweise und Handlungsweise beibringen willst. Das mit Ki ist sicher 
ganz schön, nur sind das eben Spezialisierungen in dem Bereich wo sich 
jeder dann außerhalb der Vorlesungen in seiner Freizeit einarbeiten 
muss.

Die können das vielleicht als Projektarbeit nehmen und es selbst durch 
Literatur erlernen. Weiß nicht ob du das als separaten Kurs anbieten 
könntest.

Wir hatten bei uns an der Uni (Studiengang ELektrotechnik) ein Labor wo 
die Studenten in ihrer Freizeit an Dinge arbeiten konnten. Da hatten wir 
nicht viel, aber ordentliche Arbeitsplätze, Computer oder eigene 
Laptops, Internetzugang. Wir haben Elektroschrott mitgebracht und in so 
einen großen Pappkarton gelegt, damit wir Teile hatten um sie 
auszulöten. Wir haben aber auch eigene Reels mit Bauelementen besorgt, 
eigene Lötkolben, Zinn, Flussmittel.

Man musste etwas aufpassen dass andere unser Zeug nicht mitnehmen, denn 
in dem Labor wurden auch Vorlesungen und Übungen durchgeführt. Dafür 
hatten wir da aber ein Regal und einen Schrank mit einigen, 
abschließbaren Fächern.

Da haben dann teilweise 10 Studenten zeitgleich an ihren Uni-Projekten, 
Hobby-Projekten, Hausaufgaben und Abschlussarbeiten gearbeitet.

Wir hatten so eine RFID-Karte und da musste der Admin uns für den Raum 
freischalten. Wir waren aber eben auch in der Vorlesungsfreien Zeit 
dort, das war ein sinnvoller Treffpunkt und der Professor wusste immer 
wo er uns findet.
Wir haben aber auch die Projekte des Professors voran gebracht, er hatte 
da halt eine Menge Arbeitskraft die er nutzen konnte. So hat er externe 
Förderungen bekommen und sie alle erfolgreich umsetzen können.

> Sie schlugen vor, statt
> in C in μPython zu programmieren. Andere wollten ein Arduino als Basis,
> weil der einfacher zu verstehen sei. Ich entgegnete, dass sowohl Python
> als auch Arduino die Komplexität nur verstecken und ein tieferes
> Verständnis der Interaktion zwischen Hard- und Software eher verhindert.

Wir hatten da das Fach Rechnerarchitektur, da haben wir die Grundlagen 
gelernt und dort mussten wir auch ein Assembler Programm schreiben. Er 
wollte wirklich dass wir alles von der Adressierung des Speichers, die 
ALU, dem Datenbus alles verstehen.

In einem anderen Fach ging es um IoT, aber auch Netzwerke, 
Mikrocontroller. Da hat man dann ein weiteres Verständnis entwickelt und 
komplexere Dinge damit machen können. Bei dem selben Professor haben wir 
dann auch den Zugriff zu dem Labor bekommen. Das war wirklich hilfreich, 
man konnte in seiner Freizeit sehen was die anderen so machen, was sie 
können und welche Projekte der Professor hat.


Was ich sagen will ist eigentlich nur, dass die Aufgaben die sie in der 
Praxis haben werden, darauf aufbauen werden was sie bei dir gelernt 
haben. Es soll ja nur ein Grundgerüst geschaffen werden welches stützend 
wirkt, so dass sie ein Fundament haben worauf sie aufbauen können.

Die werden später vielleicht eine Kamera am Mikrocontroller haben womit 
sie in der Produktion Bauteile erkennen oder einen Sound-Sensor mit dem 
ein Roboter automatisiert Rohre überprüft, aber da sind dann eben 
komplexe Algorithmen notwendig die für sich dann schon ein Haufen 
Einarbeitungszeit benötigen bis man das verstanden hat.

Wenn sie so etwas mit Ki machen wollen, dann ist das okay. Sie sollten 
das aber außerhalb der Vorlesungen machen. Ein Labor in dem man arbeiten 
könnte, kann auch im Keller sein, ist eigentlich egal ... so etwas ist 
echt Gold wert. Wir haben immer nach einem Platz gesucht wo man sich 
hinsetzen kann. Nein, die Bibliothek ist dafür extrem ungeeignet. Wir 
haben da auch mal Krach gemacht, gelötet oder ewig über irgend welche 
Probleme gesprochen und wie wir die lösen könnten. Da hat man dann 
gesehen wer Dinge wirklich realisieren kann und wer nur die ganze Zeit 
redet.

von Fritz G. (fritz65)


Lesenswert?

Mike J. schrieb:
> Wir hatten bei uns an der Uni (Studiengang ELektrotechnik) ein Labor wo
> die Studenten in ihrer Freizeit an Dinge arbeiten konnten. Da hatten wir
> nicht viel, aber ordentliche Arbeitsplätze, Computer oder eigene
> Laptops, Internetzugang. Wir haben Elektroschrott mitgebracht und in so
> einen großen Pappkarton gelegt, damit wir Teile hatten um sie
> auszulöten. Wir haben aber auch eigene Reels mit Bauelementen besorgt,
> eigene Lötkolben, Zinn, Flussmittel.

Solche raren Perlen, die sich auch noch in ihrer Freizeit mit dem Thema 
beschäftigen, wünsche ich mir natürlich auch. Leider versucht der größte 
Teil der Studentenschaft, den Aufwand zu minimieren. Aus 
organisatorischen Gründen ist das Labor in zwei Gruppen aufgeteilt, die 
sich im 14tägigem Rhythmus abwechseln. Von den 90 Minuten Labor gehen 
dann noch mindestens 15 Minuten ab, weil die Studenten nach 2 Wochen 
wieder vergessen habe, wo sie das letzte Mal aufgehört haben. Ist die 
Hälfte des Semesters rum und die Minimalzahl an Punkten für den Schein 
erreicht, lichten sich die Reihen deutlich. Zu viel mehr als LEDs 
anzusteuern und Taster per GPIO einzulesen kommt man dabei natürlich 
nicht. Höhepunkt ist dann noch ein periodischer Interrupt mittels 
CCP-Einheit und das Dimmen einer LED per PWM.
Mit einem Arduino käme man natürlich hier - weil einfacher - weiter und 
für die Studenten interessanteren Aufgaben.

Trotzdem halte ich Arduino aus pädagogischen Gründen nicht sinnvoll für 
ein grundlegendes Studienmodul. Wie man hier nachlesen kann, bin ich 
nicht der Einzige:
https://www.mattmillman.com/why-i-dont-do-arduino/

Für mich sind die Librarys im Arduino-Framework zu spezialisiert, also 
z.B. auf ein spezielles Display oder Modul zugeschnitten. Was ist, wenn 
ein neues IC oder Modul angesteuert werden soll, für das es noch keine 
Library gibt? Da muss man wohl oder übel Hand anlegen und sich mit der 
grundlegenden Programmierung auf Registerebene beschäftigen.

Beitrag #7810260 wurde vom Autor gelöscht.
von Franko S. (frank_s866)


Lesenswert?

Lass jeden mal nen Arduino anklemmen, das LED-Blinke-Programm flashen. 
Danach gibts du jedem ne 1, dann hast du keinen Stress. Ob die was 
lernen ist doch sowas von egal. Wenn es kompliziert wird stehen sie auf 
der Matte und beschweren sich, da ist doch alles falsch was du machst. 
Wozu also die ganze Arbeit, ist garantiert fürn Arsch, die drehen dir 
noch nen Strick draus. So läuft das heute an den (Hoch)schulen, blos 
nicht die Kinder überfordern, sonst fangen sie gleich an zu weinen und 
klagen sich die Noten ein.

von Mi N. (msx)


Lesenswert?

Franko S. schrieb:
> sonst fangen sie gleich an zu weinen und
> klagen sich die Noten ein.

Du weinst ja jetzt schon!
Als Lehrer muß man eh ein ruhiges Gemüt besitzen, denn man wird nicht 
alle Seelen retten können ;-)

Vor 10 Jahren hätte ich eine Demo-Board mit einem Renesas RX210 
vorgeschlagen: ein Edel-Prozessor verbunden mit einem J-Link. Die HEW 
wird wohl aber garnicht mehr angeboten.
Der Vorteil wäre gewesen: RX210 ist ein Insider-Teil, wo kaum fertige 
Lösungen im Netz zu finden sein sollten.

Wenn es ein aktueller µC werden soll, würde ich darauf achten, daß 
dieser nicht von Arduino & Co. unterstützt wird. Dann fällt das 
Abschreiben auch flach.

von Mike J. (linuxmint_user)


Lesenswert?

Franko S. schrieb:
> So läuft das heute an den (Hoch)schulen, blos
> nicht die Kinder überfordern, sonst fangen sie gleich an zu weinen und
> klagen sich die Noten ein.

Die Studenten fragten ja nach interessanteren und eben auch 
anspruchvolleren Themen. An sich ist das ganz schön, nur hat er ja ein 
funktionierendes Konzept um die Studenten an das Thema heran leiten zu 
können und dann eben praktische Beispiele damit sie damit in Berührung 
kommen.

Das Problem ist nur dass es nicht sinnvoll ist dass diese Maschinenbau- 
und Medizintechnik-Studenten in die Lage versetzt werden dass sie mit 
Mikrocontroller und Ki irgend etwas machen können.
In der Uni bekommt man vor allem Grundlagen gelehrt die einen befähigen 
mehr daraus zu machen. Wenn sie die grundlegenden Fähigkeiten erworben 
haben wie sie mit Mikrocontroller umgehen und wie das alles 
funktioniert, dann können sie einen Kurs belegen der ganz aktuelle Dinge 
behandelt.

Wir haben Professoren an unserer Uni die jedes Semester einen anderen 
Kurs für die Studenten anbieten der deren Wissen in einigen ausgewählten 
Bereichen erweitert. Der Prof der OOP, Java und C lehrt, der bieten eben 
als Kurs auch noch Bilderkennung/Maschinelles lernen an. Das ist dann 
eben für interessierte Studenten die in die Richtung mehr Interesse 
haben. Man kann es beliebig kompliziert machen.

Es wäre aber sinnlos wenn er gleich mit dem komplizierten Zeug anfängt 
und das als Basiskurs anbietet wo alle Studenten mitgenommen werden 
sollen.

Die Studenten aus den verschiedenen Fachbereichen sollten vor allem 
verstehen wie man Anwendungsfalldiagramme/Klassendiagramme erstellt, 
also Grundlagen der Objektorientierten Programmierung erlernt, sie 
sollten auch verstehen womit die Elektrotechnik-Ingenieure zu tun haben, 
aber eben nur deshalb damit die Zusammenarbeit von BWL-Stundenten, 
Informatikern, Elektrotechnik, Medizintechnik usw. reibungslos 
funktioniert und man sich versteht.

Wir hatten als Elektrotechnik-Studenten halt auch fachübergreifend BWL, 
natürlich Informatik, Qualitätssicherung + Zuverlässigkeit. Dann noch 
Kurse die eben nur uns angesprochen haben wie IoT, Digitale 
Signalverarbeitung, Schaltungsdesign, funkbasierte 
Kommunikationssysteme. Der Schwerpunkt lag  bei Elektrotechnik, nur 
sollte man auch anderen Grundlagen verstehen, denn man hat immer irgend 
einen WiIng/BWL-Stundenten im Unternehmen der aus ökonomischen Gründen 
Entscheidungen trifft die man auch verstehen sollte.

von Marx (marx_t)


Lesenswert?

Mi N. schrieb:
> Abschreiben auch flach.

Dann würde ich jedes Semester einen neuen Controller mit neuen 
Befehlssatz selber machen, dann schreibt auch wirklich keiner ab...

Ich glaube, wer wirklickt Elektronik studiert hat, der hat auch aufm 
Eisenbretter Gym die Elektronikschulreife erreicht.

Ich würde mir einen Controller aus Bucht holen und mal mit PHP 
programmieren, vielleicht vorher einen compiler drumherum wickeln und 
paar selbst blinkende LEDs ran machen, damit überzeugt man die heutige 
Jugend total!

Vielleicht vorher noch den Lötkolben aufheizen und reinstecken und dann 
einmal laut aufschreien, sonst bekommst Du die Jugend nicht vom 
smartphone...

Am besten nee App als IDE schreiben, die bekommen sonst am PC einen 
Herzinfarkt durch Reizüberflutung.

von Markus H. (dasrotemopped)


Lesenswert?

wie kommts eigendlich das man den fachfremden Studis (Medi/Maschbau) die 
IT Basics noch mal nahebringen will, damit sie eine Grundlage für später 
haben ?
Wenn ich Informatik/Elektrotechnik studiere, dann erwartet man, das man 
die Basics schon von der Schule mitbringt. Niemand bekommt bei E-Technik 
noch mal die 3 ohmschen Gesetze vorgerechnet.
Haben die anderen nur ein Fachabi für ihren Breich oder eine allgemeine 
Hochschulreife ?

Warum muss die Vorlesung so gestaltet sein das Vorkenntnisse keinen 
Vorteil bieten ?
Allein schon wegen der ganzen ausländschen Studenten solltenn alle 
Vorlesungen in einer Sprache geführt werden, die nur an genau diese Uni 
gesprochen wird, damit kein Vorteil für irgendwen entsteht. Alle gleich 
schlecht behandeln ist doch gerecht, oder ?

Oder schützt dieses "Vorkenntnisse nicht nützlich" den Vortragenden, 
damit Ihre Kompetenz nicht auf dem Prüfstand steht wenn mal ein 
Ausnahmetalent (a.k.a. jemand mit Vorkenntnissen in dem Fach) in der 
Vorlesung sitzt ?

Das Desinteresse der Konsumenten der Vorlesungsinhalte nur auf deren 
Handysucht zu reduzieren ist recht bequem.

Wer anschpruchsvolle und interessante Vorlesungen hält kann hinterher in 
den Prüfungen gerechtfertigt aussieben, wer inhaltslose und langweilige 
Vorlesungen hält sollte auch bei den Püfungen ausgesiebt werden, da 
Lehrauftrag nicht erfüllt. Durchfallquoten von >40% sollten ein 
Alarmzeichen zur Qualität der Lehre sein. Wenn die Gymnasien nur Dummies 
liefern, dann Einstellungstests bei der Einschreibung, nicht mittendrin.
Die Ressourcen der Unis sollten nicht verschwendet werden, damit jeder 
mal Student gewesen sein kann.

von Walter T. (nicolas)


Lesenswert?

Markus H. schrieb:
> Warum muss die Vorlesung so gestaltet sein das Vorkenntnisse keinen
> Vorteil bieten ?

Wenn in einer Vorlesung vorwiegend Sachen behandelt werden, die man eh 
schon kennt, minimiert das den Nutzen.

von Mike J. (linuxmint_user)


Lesenswert?

Markus H. schrieb:
> wie kommts eigendlich das man den fachfremden Studis (Medi/Maschbau) die
> IT Basics noch mal nahebringen will, damit sie eine Grundlage für später
> haben ?

Also als ich das Abi hatte, da wusste ich nichts von Objektorientierter 
Programmierung, auch nichts von Netzwerken ... man weiß eigentlich sehr 
wenig. Was man gelernt hat, das war Deutsch, Mathe, Physik, Kunst, 
Sport, Geschichte, Politik, Bio, Chemie. Da ist man tiefer in die 
Materie eingedrungen. Man hatte in Mathe halt Ableitungen, Integration, 
Kurvendiskussion. In Physik hatte man schwerere Aufgaben, es war einfach 
komplizierter, man hat eine Menge Formeln gelernt und musste sie 
anwenden können, auch auf unbekannte Sachen.

Jemand der Maschinenbau studiert, der sollte auch OOP verstehen um mit 
den Informatikern einfacher reden zu können.

Man will die anderen Studenten nicht sinnlos mit Stoff belasten den sie 
nie brauchen werden, sie haben sich ja deshalb spezialisiert um in ihrem 
Fachgebiet sehr gut sein zu können. Da es heutzutage eben viel darum 
geht mit Elektronik zu arbeiten, Computer zu nutzen, da ist es sinnvoll 
dass sie in dem Bereich ein gewisses Verständnis bilden um quasi eine 
Andockstelle für die Informatiker und Elektrotechniker zu haben.

> Wenn ich Informatik/Elektrotechnik studiere, dann erwartet man, das man
> die Basics schon von der Schule mitbringt. Niemand bekommt bei E-Technik
> noch mal die 3 ohmschen Gesetze vorgerechnet.
> Haben die anderen nur ein Fachabi für ihren Breich oder eine allgemeine
> Hochschulreife ?

Wir hatten einige ausländische Studenten bei uns, die haben alle einen 
unterschiedlichen Bildungsstand mitgebracht.
Es gab da "Syrer" von denen manche schon 6 mal die Uni gewechselt haben, 
weil sie es dort nicht gepackt haben. Man hat sie aber ohne jegliche 
Dokumente studieren lassen.

Ein Deutscher der Dokumente hat, die sagen dass sein Durchschnitt nicht 
gut genug ist (an medizinischen Universitäten braucht man 1,0 oder 2,0 
als Minimum), dann wird er nicht zugelassen oder muss massenhaft 
Wartesemester einschieben. Dabei sagt der Durchschnitt rein gar nichts 
davon aus ob diese Person ein guter Chirurg werden kann oder intelligent 
kombinieren kann was dem Patienten fehlt.

Wir hatten aber eben auch Studenten aus dem Iran oder Russland, der 
Ukraine, die hatten alle einen höheren Bildungsstand als die Deutschen. 
Bei denen wird aber eben auch viel geübt und die Lehrer sind dort 
einfach besser. Zudem sind die Klassen dort so still dass man da auch 
gut lernen kann.

Mit der Durchfallquote, das muss man sich immer genau anschauen. Es gibt 
Professoren die einfach schlecht sind und den Leuten nicht gut etwas 
beibringen können. Wir hatten hier auch einen Narzisstischen Professor, 
der fühlte sich nicht beachtet und wollte den Studenten zeigen wie 
großartig er doch ist. Die Vorlesungen waren immer sehr ruhig, man hat 
sich gemeldet, mitgedacht und in den Übungen hat man versucht alles zu 
geben, sich vorzubereiten.
Die Studenten waren dann aber erschüttert dass er bei der Prüfung alle 
Studenten mit einer 5,0 bewertet hat.

Der Professor wurde etwas später gegangen.
Dann kam ein neuer Professor und bei dem hat man dann auch wirklich 
etwas gelernt. Man konnte die Gleichungssysteme aufstellen (es ging um 
Schaltungsberechnung im Gleich und Wechselstrom, also Zweig, Knoten, 
Maschen, Feldtheorie). Plötzlich lagen alle zwischen 1 und 3. Zwei 
hatten auch eine 4, aber die hatte dann auch in eine andere Fachrichtung 
gewechselt.

> Wer anschpruchsvolle und interessante Vorlesungen hält
> kann hinterher in den Prüfungen gerechtfertigt aussieben

Du hast aber wirklich nicht verstanden worum es geht.
Man bringt den Leuten auf einer guten Weise und auch effektiv alles bei 
was sie wissen müssen, dabei schaut man auf das was sie bisher gelernt 
haben und erhöht das Niveau.

Man kann eine Vorlesung auch "anspruchsvoll" gestalten indem man es den 
Studenten möglichst schwer macht die Inhalte zu begreifen. Das ist aber 
eben keine Lehre mehr, sondern ein Problem im Kopf des 
Professors/Dozenten.

Wichtig ist dass die Studenten die Fertigkeiten bekommen sich darauf 
aufbauend spezielle Fertigkeiten anzueignen. Man kann sie nie 
allumfassend ausbilden, das geht nicht, weil die Welt einfach zu viel 
Dinge bietet die man lernen könnte. Da wären die Leute noch mit 60 in 
der Uni um alles, allumfassend zu lernen was es in dem Fachbereich gibt.

Manch einer entwickelt dann während seiner Zeit im Beruf Geräte und 
Software, muss sich dann alle paar Monate irgend wo neu einarbeiten, 
weil es immer unterschiedliche Projekte sind mit neuen Herangehensweisen 
und Problemen, Anforderungen.
Es gibt aber auch Leute die sich in einem ganz kleinen Bereich (wie Ki) 
spezialisieren und dann eben nur noch das machen. In dem Bereich sind 
sie dann aber eben extrem gut. Wir holen uns immer Spezialisten mit ins 
Team, wir können ja nicht alles können. :-P

von Walter T. (nicolas)


Lesenswert?

Mike J. schrieb:
> Jemand der Maschinenbau studiert, der sollte auch OOP verstehen um mit
> den Informatikern einfacher reden zu können.

Nutzloses Unterfangen. Niemand redet freiwillig mit Informatikern. 
Deswegen sind Ticketsysteme und Lastenhefte erfunden worden.

: Bearbeitet durch User
von Christian (dragony)


Lesenswert?

Fritz G. schrieb:
> Krasses Beispiel: Ein Praktikant hatte eine einfache Programmieraufgabe
> auf einem PIC, dessen Default-Taktfrequenz von 1MHz für die Aufgabe
> jedoch zu langsam war. Ich beauftrage ihn, den Takt auf 16MHz zu
> erhöhen. Dazu musste lediglich ein einzelnes Feld mit 3 bit Breite
> geändert werden. Welches, sollte er im Datenblatt selbst herausfinden.
> Nach einer Woche erfolglosen Herumprobierens meldete er sich wieder mit
> der Standardantwort "Geht nicht". Ein Blick in den Code offenbarte die
> Zeile
1
#define _XTAL_FREQ 16000000
. Anstatt ins Datenblatt zu
> schauen, hatte er im Netz gesucht und war auf eine Arduino-Seite
> gestoßen.

Das bestätigt mich in meiner Position. Hier muss man einen möglichst 
einfachen Controller nehmen, den der Student dann auch möglichst ganz 
verstehen kann. Ich persönlich würde einen attiny13a nehmen. Andere 
mögen PIC bevorzugen. Hauptsache, das DB ist klein, aber vollständig. 
Wenn die Studenten den vollständig verstehen, sind die grösseren auch 
kein Problem mehr. Die haben ja einfach nur wesentlich aufgeblasenere 
Funktionen, grundsätzlich sind aber alle identisch.

Ich denke nicht, dass es einen Weg drumrum gibt. Man kann nunmal keine 
komplexe Literatur verfassen, ohne das Alphabet vollständig zu 
beherrschen. Man kann nicht einfach ein paar Buchstaben auslassen.

: Bearbeitet durch User
von Bruno V. (bruno_v)


Lesenswert?

Christian schrieb:
> Wenn die Studenten den vollständig verstehen, sind die grösseren auch
> kein Problem mehr.

Ich gebe Dir recht. Aber selbst beim einfachsten Pic (1654 von vor 40 
Jahren) ist es nur ein Bruchteil des Datenblatts. Man vergisst gerne, 
wie wenige Details man brauchte oder verstanden hat. Die 
Schemazeichnungen, 80% der Register, Ratings und Timings und heute die 
OpCodes. Das kommt alles erst, wenn es nicht funktioniert oder man es 
braucht. Und nach 3 Jahren hält man es für trivial.

von Marx (marx_t)


Lesenswert?

Wer noch mit pics arbeitet, sollte sich fragen, ob er die Kontrolle in 
seinem Berufsleben noch hat?

Wie schon geschrieben, wer in der Uni meinst, man könnte 
Grundlagenforschung betreiben, der kümmert sich auch nicht um das Thema 
Controller, Elektronik löten.

Das ist total "Nebenschauplatz" bzw. hobbyrei.
Der praktische Ingenieur muss marktübliche Controller verstehen und 
dafür Software schreiben können, da reicht heute nichts mehr aus, was 
man vor 20 Jahren gemacht hatte.

Kleine bit rechnerei ist, wirklich pi pi fax, aber na klar mit KI wird 
jeder Ingenieur überflüssig?
Warum, weil die heutige Ausbildung nicht mehr hergibt.
Wenn ich so sehe, was mir heute von der Uni geliefert wird, dann träume 
ich von BA Absolventen, die man 3 Jahre an der Hand hatte!

Nerver touch a running system, heißt sprich verlasse niemals Deine 
Uni...

Die von der uni müssen in echt 18 Monate ausgebildet werden, das kann 
ich genau so mit Meistern, Technikern, Bachelorn aber nicht FIs, die 
können mir in Elektronik zu wenig, und stinken nur immer gegen an mit 
ihrem SCrum Master Diplom und IHK gedöns, ja??

von Michael (Firma: HW Entwicklung) (mkn)


Lesenswert?

Marx schrieb:
> Wer noch mit pics arbeitet, sollte sich fragen, ob er die Kontrolle in
> seinem Berufsleben noch hat?

Die Pics haben teilweise äußerst spezielle HW für ganz bestimmte 
Anwendungen.
Ich kann was winziges im SOT23-6 verwenden oder etwas mit DSP HW oder 
etwas mit programmierbaren Logikzellen.
DEN PIC gibt es auch nicht.
Es gibt so viele Familien die alle etwas besonderes können.

Marx schrieb:
> Die von der uni müssen in echt 18 Monate ausgebildet werden

Ich habe hier einen Elektrotechnik Bachelor bei dem ich mich frage was 
der wohl beruflich macht.
Mit Elektronik kann das aber überhaupt nichts zu tun haben.
Es fehlt an primitivsten Grundlagen wie z.B. dem Ohmschen Gesetz.
Oder an der Fähigkeit aus all dem für die Prüfung auswendig gelerntem 
Krams Erkenntnisse für das Berufsleben zu ziehen.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.