Forum: Ausbildung, Studium & Beruf Online Fortbildung C für embedded benötigt, finde aber nur C++


von al3ko (Gast)


Lesenswert?

Hi,
Kernfrage vorweg:
Kennt jemand einen Online- oder Fernkurs für die Softwareentwicklung in 
C?

Hintergrund meiner Frage:
Mein jetziger Arbeitsgeber verkauft Hardwareprodukte, dessen 
Kernkomponente aus Leistungselektronik besteht (Audioverstärker), 
allerdings auch einen uC beinhaltet. Die Aufgabe der uC ist 
hauptsächlich die Kommunikation zum Kunden, aber auch (je nach Produkt 
und Anforderungen) digitale Regelungen unseres Leistungselektronik 
auszuführen und Strom/Spannung zu überwachen. Der Code wird in C 
geschrieben, ist also embedded C Entwicklung.

Ich bin in der Hardwareentwicklung tätig und habe kaum Kontakt zum 
eigentlich Code bzw. dessen Entwicklung (lediglich im Laufe des 
Hardwaredesigns, dass ich mich mit dem Code beschäftigen muss, wenn er 
nicht das tut, was er soll. Kann ich das Problem nicht selbst lösen, 
kommt unser Softwareentwickler zur Hilfe).

Wir sehen im Unternehmen, dass das Thema "Software" in unseren Produkten 
mehr und mehr an Wichtigkeit gewinnt, speziell für zukünftige Produkte.

Ich spiele deshalb mit dem Gedanken, im Bereich embedded Entwicklung fit 
zu werden. Zuzüglich zum Lesen eines C Buches (autodidaktisches Lernen) 
und Youtube Videos würde ich gerne eine Fortbildung/Ausbildung in C 
machen - gerne als Fern- oder Onlinekurs. Einen mehrtägigen Präsenzkurs 
ziehe ich nicht in Erwägung, da ich bezweifle, dass man in dieser kurzen 
Zeit sonderlich viel Wissen vermitteln kann.

Ich finde hauptsächlich Kurse zu C++, aber nicht zu C.

Gibt es hier jemanden, der einen Online- oder Fernkurs in C 
Programmierung (Softwareentwicklung) kennt oder selbst vielleicht solch 
einen Kurs belegt hat?

Um Missverständnisse zu vermeiden:
Ich rede nicht von einem Kurs in embedded C, da jeder uC Hersteller 
seine eigene Toolchain, IDE etc. hat. Mir geht es rein um die 
Programmiersprache von C.

Danke.

von Heiko (Gast)


Lesenswert?

Ich würde empfehlen C mit kleinen Projekten zu lernen, in Kombination 
mit einem guten Buch. Displays ansteuern, Sensoren auslesen, etc.. 
Theoretisch programmieren können ist das Eine, praktisch programmieren 
das Andere.. Zudem lernt man praktisch meist auch schneller und findet 
selbst Lösungen für die Problemchen.. Als zweiten Schritt dann noch ein 
Buch über allgemeine Algorithmen, dann kannst so langsam mit 
professionellen Projekten losgehen

von Alexander S. (alesi)


Lesenswert?

Hallo,

nur mal drei Beispiele, es gibt noch viel mehr...

Online Buch "The C Book" https://publications.gbdirect.co.uk//c_book/

Online Tutorial "C Programming" 
https://www.eskimo.com/~scs/cclass/cclass.html

Online Kurs "Introduction to Programming in C Specialization"
https://www.coursera.org/specializations/c-programming

von Dr.Who (Gast)


Lesenswert?

al3ko schrieb:
> Ich bin in der Hardwareentwicklung tätig und habe kaum Kontakt zum
> eigentlich Code bzw. dessen Entwicklung (lediglich im Laufe des
> Hardwaredesigns, dass ich mich mit dem Code beschäftigen muss, wenn er
> nicht das tut, was er soll. Kann ich das Problem nicht selbst lösen,
> kommt unser Softwareentwickler zur Hilfe).

Weiß das dein Chef und hat der sich dahin gehend schon wohlwollend
geäußert dich mit diesen Kompetenzen zu beauftragen? Nein?
Dann vergiss es. Die wollen einen nämlich nur da haben, wo man ist.
Ansonsten bringst du die ganze Struktur des Unternehmens durcheinander
und abhängig will man sich zu dir auch nicht machen. Da stellt man
lieber einen Programmierer für diese Tätigkeit ein.
Die Chefs lieben es, dass du von Ihnen abhängig bist, nicht umgekehrt.
Deswegen finden auch so wenig betriebliche Fortbildungen statt.
Ich habe das zichmal erlebt, habe mich Fortgebildet und bin dann
auf die Fresse gefallen, weil ich glaubte ich tue was Gutes für die
Firma und festige meine Position. Denkste, das Gegenteil ist der Fall,
nicht nur bei mir, sondern auch bei Kollegen.
Die Chefs bekommen da eher Angst, du willst dich Unverzichtbar und
Teurer machen und das ist etwas, was die als Letztes wollen.
Also schlag dir das lieber aus dem Kopf.
Übrigens wer C++ lernen will muss erst mal C lernen, weil das eine
auf das andere aufbaut.  Daher werden die C++ Kurse wohl erst mal
die Basics von C mit vermittelt.
Wenn du das machen willst um zu Wechseln, ist es sicher nicht der
verkehrteste Weg. Mit einem C++ Kurs ist man trotzdem  auf der
richtigen Schiene. Der Unterschied ist da nicht so groß.

von Kloppo's Barbier (Gast)


Lesenswert?

al3ko schrieb:
> Ich finde hauptsächlich Kurse zu C++, aber nicht zu C.

Wenn du schon daran scheiterst dann wird das auch nicht mit den Kursen.

von al3ko (Gast)


Lesenswert?

Hi Alexander - vielen Dank!
Alexander S. schrieb:
> Online Kurs "Introduction to Programming in C Specialization"
> https://www.coursera.org/specializations/c-programming
Coursera habe ich auch bereits in Betracht gezogen. Es gibt auch noch 
eine C Serie auf EDX.
Dachte (bzw. hatte gehofft), dass es etwas vergleichbares als 
Fernstudium im Deutschsprachigen Raum (Einige Unis bieten 
Fernstudien/Fernkurse an).

Dr.Who schrieb:
> Weiß das dein Chef und hat der sich dahin gehend schon wohlwollend
> geäußert dich mit diesen Kompetenzen zu beauftragen? Nein?
Im Vorstellungsgespräch wurde ein wenig darauf eingegangen, ob ich mir 
projektweise auch den Bereich embedded vorstellen könnte, denn da 
mangelt es im Moment an Personal. Das Thema kam dann auch noch mal kurz 
innerhalb meines Mitarbeitergespräches dran, ob man lieber 
Softwareentwickler einstellen sollte oder intern die Entwickler im 
Bereich Software fit machen sollte, damit die dann sowohl die Hardware 
als auch die Software kennen und vielseitig einsetzbar sind.

> Ansonsten bringst du die ganze Struktur des Unternehmens durcheinander
Wir sind ein 40 Mann Betrieb - die Strukturen sind recht schwammig. ;)

> und abhängig will man sich zu dir auch nicht machen. Da stellt man
> lieber einen Programmierer für diese Tätigkeit ein.
Das wäre vielleicht sogar die beste Lösung, einen Fachmann auf diesem 
Gebiet zu haben.

von NurMut (Gast)


Lesenswert?

al3ko schrieb:
> Coursera habe ich auch bereits in Betracht gezogen. Es gibt auch noch
> eine C Serie auf EDX.

Udemy lohnt sich manchmal auch. Ich fand “embedded: shape the world" auf 
edx recht gut gemacht. Und im Ami-Stil erklärt, so dass es jeder 
Hauptschüler versteht, sofern er denn Englisch kann.

von Dr. Sommer (Gast)


Lesenswert?

Dr.Who schrieb:
> Übrigens wer C++ lernen will muss erst mal C lernen, weil das eine
> auf das andere aufbaut.

Keineswegs. Wer erst C lernt und dann C++, muss erst alle schlechten 
C-Angewohnheiten wieder un-lernen. Wenn das Ziel also C++ ist (was sehr 
sinnvoll ist, weil C++ alles kann was C kann und noch viel mehr), sollte 
man direkt C++ lernen. Wenn man dann doch mal C braucht, muss man nur 
schauen auf was man alles verzichten muss (und die 3 Kleinigkeiten 
ansehen die es nur in C gibt).

von Alexander S. (alesi)


Lesenswert?

al3ko schrieb:
> Es gibt auch noch
> eine C Serie auf EDX.

Hallo al3ko,

von der edX C Serie habe ich mal den ersten Teil gemacht. Der war sehr 
rudimentär und hpts. für Leute ohne jegliche Vorkenntnisse gedacht. 
Keine Ahnung, ob die weiteren Teile etwas tiefer gehen.

von ohne Account (Gast)


Lesenswert?

> Keineswegs. Wer erst C lernt und dann C++, muss erst alle schlechten
> C-Angewohnheiten wieder un-lernen.
C ist eine andere Programmiersprache; was heißt denn hier un-lernen?!
Dann bleib bei einer Programmiersprache und perfektioniere diese.
Zuviele ähnliche Sprachen sind tödlich bzw. führen zur 
Allmachtsphantasie diese gleichermaßen gut zu beherrschen.

> Wenn das Ziel also C++ ist (was sehr sinnvoll ist, weil C++ alles kann was > C 
kann und noch viel mehr),
das ist Deine Meinung, weil Du Dich auf C++ spezialisiert hast und C 
vielleicht höchstens noch beiläufig machst die Feinheiten aber nicht 
mehr beherrschst wegen des 'un-lernens' ?!
Mal eben switchen zwischen zwei oder drei Sprachen geht nur 
oberflächlich.
Das Ergebnis ist meistens eine Katastrophe.

> sollte man direkt C++ lernen.
> Wenn man dann doch mal C braucht, muss man nur
> schauen auf was man alles verzichten muss (und die 3 Kleinigkeiten
> ansehen die es nur in C gibt).
Englisch und Deutsch haben grammatikalisch auch Ähnlichkeiten und was Du 
hier propagierst ist Denglisch!
Vergiß es, Du bist offenbar einer dieser Multitalente, die 10 Sprachen 
fließend beherrschen und am Ende eben doch nur den oberflächlichen 
Standard beherrscht, der für die Blendung von Chefe natürlich reicht ):

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.