Zum Inhalt springen
  • 0

Welche Programmiersprache im Unterricht?


Welche Programmiersprache im Unterricht?  

66 Benutzer abgestimmt

  1. 1. Welche Programmiersprache hättet/würdet ihr euch im Unterricht wünschen/gewünscht?

    • Java
      15
    • C++
      14
    • Python
      29
    • Javascript
      8


Frage

Geschrieben

Jetzt erstelle ich mal ein Thema in eigener Sache. Ich bin vor einigen Jahren von C++ bzw Java (je nach Zweig) auf Python umgestiegen, da der Einstieg für Schüler
wesentlich einfacher ist und erste Erfolge sich früher einstellen. Bisher läuft das auch ausgesprochen gut.

Allerdings gibt es seit wenigen Jahren der Trend in meinem Umkreis, dass immer mehr auf Webstack inkl. Frameworks aufspringen. Natürlich fragen sich Schüler dann zurecht, warum nicht die Sprache gelehrt wird, welche von einem Großteil der Unternehmen eingesetzt wird. Daher bin ich etwas am grübeln, was die Vor- und Nachteile sind und wir ihr das seht. 

Aktuell sehe ich folgende Punkte:
Python Pro:
- sehr leichte Syntax
- leicht erlernbar
- In jedem Bereich verwendbar (Machine learning, Web, Desktopapplikationen)
- Laut TIOBE Index Top 1

Nachteile: 
- Kein einziger Ausbildungsbetrieb in meinem Umkreis verwendet die Sprache .... 


Javascript/Typescript Pro:
- Starke Verbreitung in den Unternehmen
- Mehr Motivation von Schülern die Sprache zu lernen, da im Unternehmen bereits damit gearbeitet wird
- Leichtere Verknüpfung zwischen Berufsschule und Unternehmen

Nachteile:
- Syntax komplizierter als in Python
- Steilere Lernkurve allgemein
- JS alleine schwierig zu unterrichten. Schnell ist HTML+CSS als "Overhead" mit an Bord und bei der geringen Stundenzahl (Neuordnung IT-Berufe) ein schwieriges Unternehmen, die "heilige Dreifaltigkeit" unterzubringen.

 

Für weitere Punkte, Anregungen wäre ich sehr dankbar.

Empfohlene Beiträge

  • 1
Geschrieben
vor 53 Minuten schrieb Whiz-zarD:

Sowas lernt man aber nicht in der Berufsschule. Zumindest ist mir keine Berufsschule bekannt. Wenn überhaupt klickt man sich eine Oberfläche zusammen und die Buttons sollen dann irgendwas machen. Das hat nichts mit Objektorientierung zu tun.

Es wäre nicht überflüssig, wenn man wirklich die Grundlagen lehrt aber wie gesagt, das wird nicht gemacht.

Kann ich so nicht bestätigen. z.B. in Hamburg gibt es schon fast keinen Unterricht mehr. Es werden hauptsächlich keine Projekte gemacht, was ebenfalls wieder Praxis wäre und nicht Theorie. Theorie wäre sowas wie Algorithmen und Datenstrukturen aber wer lernt in der Berufsschule wirklich sowas?

Also bestätigst du es selber, dass es, wie es derzeit läuft, Zeitverschwendung ist. ;)

Erstmal vielen Dank für eure Anmerkungen :). Den Aussagen von dir muss ich widersprechen. Zumindest in meinem Unterricht werden sehr wohl (einfache) Algorithmen und Datenstrukturen und die Theorie der OOP behandelt. 

Auch die Aussage, dass ein AE im Betrieb programmieren lernt muss ich leider widersprechen. Mittlerweile werden einige AE's im Betrieb dafür missbraucht, um HTML-Dokumente schicker zu gestalten und irgendwo einen Button einzufügen. 
Auch gibt es in meinem aktuellen Jahrgang mindestens 3-4 AE's die nichts anderes machen dürfen, als 3 Jahre lang XML-Dokumente aufzubereiten. So ähnlich verhält es sich mit dem FISI, der 3 Jahre lang first Level Telefonsupport spielen darf (ist eben billiger als jemanden auf Mindestlohn einzustellen). Das heißt natürlich nicht, dass es auch top ausbildende Betriebe gibt.

Daher stellt die Berufsschule (im Idealfall) sicher, dass gewisse Themen von jedem mal gehört und ausprobiert werden können. Idealfall deswegen, da zu viele Faktoren hier mit reinspielen (Lehrkraft, Ausstattung und co).

Die Ausstattung bei uns ist aktuell ganz annehmbar und der Faktor Lehrkraft versucht gerade wieder seinen Unterricht zu optimieren, daher im Forum unterwegs :)

 

 

  • 1
Geschrieben

Ich würde mir C++ wünschen. Wichtiger wäre mir aber, dass Konzepte gelehrt werden anstatt von Produkten und dass es plattformunabhängig ist. Aktuell lernen wir faktisch Microsoft. Offiziell lernen wir C#, was eigentlich ja eine gute Sprache wäre um OOP zu vermitteln. Wird aber leider nicht gemacht. Der Lehrer schiebt vorn am Beamer Buttons auf eine Form, und wir dürfen das nachmachen. Wir nutzen eine strikt objektorientierte Sprache, ohne dass uns OOP erklärt wurde. Und es ist an Microsoft gebunden, ich brauche erst noch eine Windows-VM, muss mir eine Lizenz ergaunern, um daheim ein wenig üben zu können. Ich hasse diese Fach.

  • 0
Geschrieben (bearbeitet)

Hallo,

vor einer Stunde schrieb skylake:

Natürlich fragen sich Schüler dann zurecht, warum nicht die Sprache gelehrt wird, welche von einem Großteil der Unternehmen eingesetzt wird.

Grundsätzlich ist eine Programmiersprache lediglich ein Werkzeug für einen Softwareentwickler. Wo welches Werkzeug an welcher Stelle zum Einsatz kommt, hängt immer auf den Anwendungszweck drauf an. Aber wenn du mal eine Sprache beherrscht, so ist ein Umstieg in der Regel relativ einfach, da die Grundlagen einer Sprache (fast) immer dieselben sind.

Fürs Lernen einer Programmiersprache würde ich eine starke typisierte Sprache wählen, denn besonders als Anfänger sollte man sich dringend mit den Datentypen sich beschäftigen. Ebenso würde ich auf eine objektorientierte Sprache setzen, da dies immer noch der quasi Standard ist und OOP die Basis weiterer Modelle ist. Von daher eignen sich Java, C# oder C++ sehr gut zum lernen. Auch sind kompilierte Sprachen in der Regel einfacher zum Debuggen als Sprachen mit einem Interpreter.

MfG

Bearbeitet von Interrupt
  • 0
Geschrieben

Ich fand c# wirklich ganz nett, weil es ein paar Weiterentwicklungen hat, mit denen Java nicht ganz mithalten kann.

Aber in einer Schule finde ich Plattformunabhängigkeit sehr wichtig was für java sprechen würde. Da könnte man dann was für Android machen,  was den Schülern entgegen käme. 

  • 0
Geschrieben

Ich denke auch, dass Grundlagenvermittlung und Praxisnähe hier getrennt werden sollten. Das ganze Javagebummsel ist unter Admins wegen der extrem hohen Last nicht gerne gesehen, JS sowieso nicht.

Python ist zum Lernen sicher genial, damit kann man einiges machen.

  • 0
Geschrieben

Gerade für den FiSi ist Java bei der geringen Stundenanzahl (Dann kommt in AUP ja auch noch Datenbank, HTML und CSS dazu) einfach zu komplex. Denke das Ziel sollte eher sein das jeder (die meisten) nach der Ausbildung in einer beliebigen Sprache wenigstens etwas sinnvolles zum laufen bekommen sollte. Denke Python wäre dafür deutlich besser geeignet.

  • 0
Geschrieben
vor 5 Minuten schrieb RoS:

Gerade für den FiSi ist Java bei der geringen Stundenanzahl (Dann kommt in AUP ja auch noch Datenbank, HTML und CSS dazu) einfach zu komplex.

Was soll daran komplex sein? Mal davon abgesehen sollte man nicht die Lernziele aus dem Augen verlieren. Es geht darum die Grundlagen von Programmierung zu lernen und nicht die Sprache selbst bis ins kleinste Detail. Im Prinzip ist es daher vollkommen egal, welche Sprache man nimmt. Und wenn der Azubi die Konzepte verstanden hat, dann kann er mit jeder Programmiersprache eine Software entwickeln und zum laufen bringen. Und um die Konzepte zu verstehen, würde ich auf eine Programmiersprache setzten mit starker Typisierung und mit Fokus auf die Objektorientierung.

Datenbank war bei mir in der Berufsschule ein separates Fach. Kann natürlich bei jeder Berufsschule etwas anders sein aber ich würde sagen, dass für diese Fächer genügen Zeit eingeplant ist, um die Themen zu vermitteln.

  • 0
Geschrieben (bearbeitet)

Ich frage mich, was soll eigentich Programmieren in der Berufsschule bringen?

Ein FISI wird es mehr mit Skripten zutun haben. Also Bash bzw. Powershell und ähnliches. Powershell ist zwar objektorientiert aber lernt man Powershell wirklich, wenn man Java lernt? Auch brauchen FISI kein allzu tiefes Verständnis über die internen Abläufe einer Programmiersprache. 

Ein FIAE lernt programmieren im Betrieb. In der Berufsschule brauch er also keinen Grundlagenkurs über Objektorientierung. Zumal die Schulen eh nicht die Grundlagen lehren, sondern hauptsächlich nur sowas, wie: "Wir basteln uns in Java nun ein Button und mittels Mausklick soll der Button 2 + 2 rechnen". Auch werden keine Algorithmen und Datenstrukturen in Schulen durchgenommen. Also sowas wie:  "Wie funktioniert ein Array? Eine Liste? Ein binärer Suchbaum? etc." Ich denke, für die meisten ist gar nicht klar, dass weder Polymorphie noch Vererbung das Hauptargument für Objektorientierung ist, sondern die Umkehr der Abhängigkeit. Die Objektorientierung hat lediglich Polymorphie und Vererbung vereinfacht. Wird aber schon lange, mit einigen Kniffen, z.B. in C praktiziert.

So, wie es jetzt läuft, ist es für beide Parteien nur Zeitverschwendung.

vor 4 Stunden schrieb skylake:

Aktuell sehe ich folgende Punkte:
Python Pro:
- sehr leichte Syntax
- leicht erlernbar

Das höre ich immer wieder aber die Meinung teile ich nicht. Die Syntax wirkt für mich sehr inkonsequent. Es gibt auch keine Datenkapselung. Es gibt nur: "Hey, benutz doch bitte nicht die Variablen, die mit einem Unterstrich anfangen.". Auch die Type Hints sind nur ein Nice-To-Have und werden nicht mal überprüft. Im Zweifel sind sie sogar falsch. Man ist also auf Gedeih und Verderb auf die Dokumentation angewiesen, um herauszufinden, welche Parameter eine Methode/Funktion verlangt und was man bekommt. Das Prinzip der Multiparadigmen macht die Sache dann auch nicht einfacher. Mal sind es Funktionen, mal sind es Methoden an Klassen.

Bearbeitet von Whiz-zarD
  • 0
Geschrieben (bearbeitet)
vor 39 Minuten schrieb Whiz-zarD:

Ich frage mich, was soll eigentich Programmieren in der Berufsschule bringen?

Weil es einfach ein Grundlagengebiet in der Informatik ist, was jeder Fachinformatiker (egal welche Fachrichtung) beherrschen muss bzw. sollte. Natürlich ausschließlich auf die Grundlagen beschränkt. Denn es ist wichtig zu wissen, was passiert, wenn man eine Software startet. Es ist wichtig zu wissen, was der Unterschied zwischen einen Compiler und einem Interpreter ist oder was der Unterschied zwischen einem Stack und dem Heap ist.Ebenso wäre es schön, wenn man wüsste, was gewisse Fehlermeldungen bedeuten, wenn eine Software eine Exception schmeißt, sodass man nicht (immer) schreiend zu den Entwickler rennen muss sondern eventuell auch das Problem selber beheben kann. 

vor 39 Minuten schrieb Whiz-zarD:

Ein FIAE lernt programmieren im Betrieb. In der Berufsschule brauch er also keinen Grundlagenkurs über Objektorientierung.

Dann wäre die Berufsschule ziemlich überflüssig, denn diese Aussage kann man auf jedes Thema übertragen. Die Berufsschule hat den Zweck die Theorie zu lernen und in Übungen das gelernte Wissen anzuwenden. Für die Praxis ist der Betrieb zuständig. Das es ist in der Realität etwas anders aussieht, steht selbstverständlich außer Frage, besonders was die Qualität der Berufsschulen angeht.

vor 39 Minuten schrieb Whiz-zarD:

Powershell ist zwar objektorientiert aber lernt man Powershell wirklich, wenn man Java lernt?

Man lernt aber OOP. Und OOP ist ein Programmierparadigma welches somit Unabhängig von der Sprache ist. Ebenso was Variablen sind, was Operatoren, Iterationen  usw. sind. Die Syntax, der technische Hintergrund  sowie die Konzepte zwischen Java und Powershell sind verschieden aber die Grundlagen sind gleich. Und darum geht es doch. Wie bereits oben erwähnt: nicht das Lernziel aus den Augen verlieren. 😉

Bearbeitet von Interrupt
  • 0
Geschrieben
vor 6 Minuten schrieb Interrupt:

Es ist wichtig zu wissen, was der Unterschied zwischen einen Compiler und einem Interpreter ist oder was der Unterschied zwischen einem Stack und dem Heap ist.Ebenso wäre es schön, wenn man wüsste, was gewisse Fehlermeldungen bedeuten, wenn eine Software eine Exception schmeißt, sodass man nicht (immer) schreiend zu den Entwickler rennen muss sondern eventuell auch das Problem selber beheben kann.

Sowas lernt man aber nicht in der Berufsschule. Zumindest ist mir keine Berufsschule bekannt. Wenn überhaupt klickt man sich eine Oberfläche zusammen und die Buttons sollen dann irgendwas machen. Das hat nichts mit Objektorientierung zu tun.

vor 8 Minuten schrieb Interrupt:

Dann wäre die Berufsschule ziemlich überflüssig, denn diese Aussage kann man auf jedes Thema übertragen.

Es wäre nicht überflüssig, wenn man wirklich die Grundlagen lehrt aber wie gesagt, das wird nicht gemacht.

vor 9 Minuten schrieb Interrupt:

Die Berufsschule hat den Zweck die Theorie zu lernen und in Übungen das gelernte Wissen anzuwenden.

Kann ich so nicht bestätigen. z.B. in Hamburg gibt es schon fast keinen Unterricht mehr. Es werden hauptsächlich keine Projekte gemacht, was ebenfalls wieder Praxis wäre und nicht Theorie. Theorie wäre sowas wie Algorithmen und Datenstrukturen aber wer lernt in der Berufsschule wirklich sowas?

vor 16 Minuten schrieb Interrupt:

Das es ist in der Realität etwas anders aussieht, steht selbstverständlich außer Frage, besonders was die Qualität der Berufsschulen angeht.  

Also bestätigst du es selber, dass es, wie es derzeit läuft, Zeitverschwendung ist. ;)

  • 0
Geschrieben
vor 3 Stunden schrieb skylake:

Zumindest in meinem Unterricht werden sehr wohl (einfache) Algorithmen und Datenstrukturen und die Theorie der OOP behandelt. 

Und was genau habt ihr da gemacht? Aber die Theorie von OOP ist doch sehr schnell erzählt. Das hat Alan Key in fünf bzw. sechs Sätzen geschafft aber der wahre Vorteil von OOP wird doch nie behandelt.

vor 3 Stunden schrieb skylake:

Auch die Aussage, dass ein AE im Betrieb programmieren lernt muss ich leider widersprechen. Mittlerweile werden einige AE's im Betrieb dafür missbraucht, um HTML-Dokumente schicker zu gestalten und irgendwo einen Button einzufügen. 
Auch gibt es in meinem aktuellen Jahrgang mindestens 3-4 AE's die nichts anderes machen dürfen, als 3 Jahre lang XML-Dokumente aufzubereiten.

Dann werden sie aber nicht richtig ausgebildet. Eine Schule sollte dann nicht die Versäumnisse der Betriebe kompensieren. Schule und Betrieb sollten sich eigentlich ergänzen. Ich bin der Überzeugung, dass eine duale Ausbildung ein FH-Studium ebenbürdig sein kann, wenn man die Ausbildung besser strukturieren und die Ausbildungsbetriebe mehr kontrollieren würde. Die IHK hat aber ein Interessenskonflikt, da die Betriebe Mitglieder der IHK sind und bei Problemen wird dann oft, zu gunsten der Betriebe, beide Augen zu gedrückt und dann kommt da eben so ein Murks raus.

  • 0
Geschrieben (bearbeitet)
vor 26 Minuten schrieb Whiz-zarD:

Und was genau habt ihr da gemacht? Aber die Theorie von OOP ist doch sehr schnell erzählt. Das hat Alan Key in fünf bzw. sechs Sätzen geschafft aber der wahre Vorteil von OOP wird doch nie behandelt.

Objekte, Klassen,  Datenkapselung, Vererbung, Polymorphie, Dynamische Bindung... und das alles in nur 5 Sätzen?!  Man kann das sicherlich im Schnelldurchlauf behandeln. Wie viele Azubis werden das danach wohl verstanden haben? Selbst im Studium wird für solche Themen ein Monat benötigt.

Und die Vorteile von Objektorientierung werden doch automatisch ersichtlich, wenn man das Konzept verstanden hat.

Zitat

Ich bin der Überzeugung, dass eine duale Ausbildung ein FH-Studium ebenbürdig sein kann

Inwiefern ist eine akademische Ausbildung ebenbürdig mit einer Berufsausbildung? Das ist nicht vergleichbar, da andere Inhalte und anderer Fokus. Mal davon abgesehen hat das doch nichts mehr mit dem Thema zu tun?

Bearbeitet von Interrupt
  • 0
Geschrieben (bearbeitet)
vor einer Stunde schrieb Interrupt:

Objekte, Klassen,  Datenkapselung, Vererbung, Polymorphie, Dynamische Bindung... und das alles in nur 5 Sätzen?!

Die Sätze lauten:

  1. Alles ist ein Objekt
  2. Objekte kommunizieren durch das Senden und Empfangen von Nachrichten (welche aus Objekten bestehen)
  3. Objekte haben ihren eigenen Speicher (strukturiert als Objekte)
  4. Jedes Objekt ist die Instanz einer Klasse (welche ein Objekt sein muss)
  5. Die Klasse beinhaltet das Verhalten aller ihrer Instanzen (in der Form von Objekten in einer Programmliste)

Der sechste Satz war mehr eine Eigenschaft von der Programmiersprache Smalltalk.

Wie gesagt, Vererbung und Polymorphie gibt es auch in C. Mittels Polymorphie werden Treiber geschrieben, indem man den FILE-Struct als Schnittstelle betrachtet. Vererbung lässt sich realisieren, wenn man zwei Structs schreibt und deren Gemeinsamkeiten doppelt implementiert und in eine Reihenfolge bringt. So wurde auch auch die Einfachvererbung in C++ implementiert. Deswegen müssen in C++ auch in der Header-Datei die privaten Methoden und Felder definiert werden, damit der Compiler sie sortiert. Damit hat C++ sogar die Datenkapselung von C kaputtgemacht, da die Header-Datei private Dinge verrät. Somit ist auch die Datenkapselung nichts OOP-spezifisches. OOP hat lediglich nur Vererbung und Polymorphie vereinfacht. Der wahre Vorteil von OOP ist aber die Umkehr der Abhängigkeit. Erst mit OOP ist es möglich, Abhängigkeiten in eine Klasse reinzureichen. Dies ist mit prozeduralen Programmiersprachen nicht möglich gewesen, da die Abhängigkeiten zur Kompilierzeit bekannt sein müssen.

vor einer Stunde schrieb Interrupt:

Und die Vorteile von Objektorientierung werden doch automatisch ersichtlich, wenn man das Konzept verstanden hat.

Offenbar ja nicht. Sonst müsste man ja nicht so viel über Inversion of Control und Dependency Injection reden. ;)

vor einer Stunde schrieb Interrupt:

Inwiefern ist eine akademische Ausbildung ebenbürdig mit einer Berufsausbildung? Das ist nicht vergleichbar, da andere Inhalte und anderer Fokus. Mal davon abgesehen hat das doch nichts mehr mit dem Thema zu tun?

Ich selber habe ja eine Assistentenausbildung gemacht. Die Schule ist integriert in einer FH und wir haben überwiegend die gleichen Vorlesungen besucht und Übungen gemacht, wie die FH-Studenten. Lediglich die Bewertung der Übungen und die Klausuren waren nicht ganz hart. Die FH genießt auch in Norddeutschland einen sehr guten Ruf. Ich kenne also die Inhalte eines FH-Studiums und ich bin der Meinung, dass man diese Inhalte auch gut in eine duale Ausbildung packen könnte. Dafür müsste aber die Ausbildung umstrukturiert werden, indem Betriebe das praktische lehren und Schulen tiefer in die Materie gehen. Also dass Schulen zeigen, z.B. wie Datenstrukturen funktionieren, Arten von Softwarearchitekturen, welche Probleme Nebenläufigkeiten haben können, etc. Das sind Themen, mit denen sich ein Entwickler täglich rumschlagen muss aber in der Ausbildung viel zu kurz kommt.

vor einer Stunde schrieb Interrupt:

Mal davon abgesehen hat das doch nichts mehr mit dem Thema zu tun?

Nein, hat es auch nicht. Ich finde aber auch die Frage nicht wirklich für relevant, da alle Sprachen für den Larifari-Unterricht an Schulen geeignet sind und eher dazu dient die Versäumnisse der Betriebe zu kompensieren. Vielmehr stelle ich den Sinn des derzeitigen Programmierunterricht an Berufschulen in Frage.

Bearbeitet von Whiz-zarD
  • 0
Geschrieben

Ich vermute dass die Qualität des Unterrichts an Berufsschulen sehr unterschiedlich sein wird. Ich geb dir wohl Recht darin, dass man ruhig etwas stärker in die Materie reingehen könnte für die Fiaes. Da bestehst du die Ausbildung auch wenn du eigentlich nicht programmieren kannst. 

  • 0
Geschrieben (bearbeitet)

Das ist eine schwierige Frage, die man tatsächlich aus unterschiedlichen Perspektiven betrachten könnte. Ich sehe hier zumindest sich widersprechende Faktenlagen, die man grob auch so einsortieren könnte.

a) Regionale Ausbildungsbetriebe mit deren Anforderungen - da kann es schon mal grobe Unterschiede geben zwischen dem Web Startup in Berlin und dem Industriebetrieb in München und der Landschaft der Betriebe quer durch das Land.

b) Sichtweise der Lehr- und Lernfähigkeit sowie der Verständnisfähigkeit. Hier der Kontrast zwischen c++ und ich sage mal allen anderen Sprachen / Frameworks.

c) Sichtweise historischer- und moderner Konzepte einschl. Sprachen, die möglicherweise völlig aus dem vorgenannten Raster fallen z.B. Haskell.

Leider muss ich sagen, dass bei sehr vielen Projekten, die mir in heutiger Zeit begegnen die Sprache C++ nach wie vor quasi als ein de Facto Standard gesehen werden kann, der aber gleichzeitig ein Ausschlußkriterium für den Punkt b) sein wird.

Bleibt die Frage nach den Kompromissen. Ich würde hier auch nicht den Tiobe Index heranziehen, da er beispielsweise Sprachen wie Swift ausgrenzt. Sofern jemand eine Karriere als App Developer starten wollte, wäre dies aber möglicherweise fatal.

Wie könnte man sich dem Thema nähern ?

Ich glaube, das Python hier tatsächlich gutes Potential hätte, einen gewissen Kompromiss zwischen den Konzepten zu besetzen.

Meine Erfahrung während meiner Umschulung war die, dass es konzeptionell von Vorteil war, wenn unterschiedliche Konzepte angerissen, aber eine Sprache als Schwerpunkt danach gesetzt wurde und dieses im Zusammenhang mit regionalen Ausbildungsstellenangeboten.

In unserer Region (Rheinland-Pfalz) war dann, der konzeptionelle Anriß im Bereich Web (Agenturen) mit späterem Schwerpunkt auf Java (Banken- und Versicherungen). Aber in anderen Regionen könnte es anders aus sehen.

Ich würde versuchen, auch einen regionalen Faktor mit in die Thematik einfließen zu lassen.

Das Thema "Herstellerspezifisch" würde für mich einen eigenen Schwerpunkt bilden. Auch hier stellt sich die Frage, ob es regionale Angebote mit herstellerspezifischen Anforderungen gäbe.

Ich würde empfehlen, das Thema von einem Studenten als Facharbeit erarbeiten zu lassen - vielleicht in Absprache mit einer örtlichen Hochschule. Sicher ergäbe sich durch eine solche Arbeit ein dezidierteres Bild. Aber viele IHKen arbeiten ja mit Kooperationen ihrer Hochschule zusammen. Das wäre doch vielleicht ein interessantes Thema für eine Arbeit.

Bearbeitet von tkreutz2
  • 0
Geschrieben (bearbeitet)
vor 16 Stunden schrieb Whiz-zarD:

Die Sätze lauten:

Alles ist ein Objekt

Objekte kommunizieren durch das Senden und Empfangen von Nachrichten (welche aus Objekten bestehen)

Objekte haben ihren eigenen Speicher (strukturiert als Objekte)

Jedes Objekt ist die Instanz einer Klasse (welche ein Objekt sein muss)

Die Klasse beinhaltet das Verhalten aller ihrer Instanzen (in der Form von Objekten in einer Programmliste)

Achso. Du hattest jetzt die Grundsätze der OOP gemeint. Ja gut, die kann man wirklich recht schnell erklären. Aber jemand, der gerade erst mit der Programmierung anfängt, der hat halt kein wirklichen Plan was damit gemeint ist und wie man das ganze umsetzt.

Viele Konzepte der OOP sind in der Tat keine Neuentwicklung, wie du bereits korrekt sagtest.  Allerdings muss man hier aufpassen. Beispielsweise hat der Begriff Vererbung zu anderen Konzepten eine andere Bedeutung als zu der von OOP. Aber unabhängig davon. Wie willst du z.B. Polymorphie für einen Anfänger erklären? Die ganzen Fachliteraturen, in Berufsschulen (zumindest in meiner damaligen) sowie im Studium erklären solche Konzepte in Zusammenhang mit der OOP. Und OOP steht nun mal auf dem Lehrplan.

vor 16 Stunden schrieb Whiz-zarD:

Vielmehr stelle ich den Sinn des derzeitigen Programmierunterricht an Berufschulen in Frage.

Ich würde nicht das einzelne Fach in Frage stellen sondern eher das gesamte Konzept der Berufsschule. Da hast du und @be98 vollkommen recht. Die Qualität müsste dringend besser werden. 

vor 1 Stunde schrieb tkreutz2:

Das Thema "Herstellerspezifisch" würde für mich einen eigenen Schwerpunkt bilden. Auch hier stellt sich die Frage, ob es regionale Angebote mit herstellerspezifischen Anforderungen gäbe.

Wieso das? Hier geht es doch ausschließlich um die Grundlagen, also Datentypen, Iteration, Operatoren usw. Die gibt es in allen gängigen Sprachen.  

vor einer Stunde schrieb tkreutz2:

Wenn man neue Themen wie ML und AI mit einfließen lassen möchte, kommt man um Python sicher nicht drum herum.

Wie bereits oben geschrieben. Ziemlicher Overkill wenn man lediglich die Grundlagen vermitteln möchte. Mal davon abgesehen, dass man ML und AI nicht so einfach nebenher beibringen kann. Das sind schon komplexe Themen.

Bearbeitet von Interrupt
  • 0
Geschrieben

Wenn ich richtig verstanden geht es bei Herstellerspezifisch um die Frage nach Platttformunabhängigkeit. Ich finde es zumindest problematisch wenn Schulen C# für das Microsoft-Universum vermitteln,  hingegen völlig in Ordnung wenn das private Unternehmen machen.

  • 0
Geschrieben

Ach okay. So war das gemeint. 

C# bzw. das .NET ist mittlerweile ebenfalls Plattformunabhängig. Lediglich bei Desktopanwendungen muss man noch aufpassen, dass man dort die Xamarin Forms nimmt.

Aber ansonsten habt ihr in diesem Punkt natürlich recht. 

  • 0
Geschrieben (bearbeitet)
vor 2 Stunden schrieb Interrupt:

Wie bereits oben geschrieben. Ziemlicher Overkill wenn man lediglich die Grundlagen vermitteln möchte. Mal davon abgesehen, dass man ML und AI nicht so einfach nebenher beibringen kann. Das sind schon komplexe Themen.

Kommt auf das Niveau an. In Abitur- oder Fachabi Klassen wird ja auch schon in höhere Mathematik eingeführt, selbst wenn an den Hochschulen wieder mit den Grundlagen begonnen wird.

Eine reguläre Berufsausbildung im IT Bereich setzt zwar bei mittlerer Reife an, aber bei zunehmend sinkendem Bildungsniveau könnte es auch sein, dass die beruflichen Einstiegsanforderungen hier irgendwann einmal angehoben werden.

Mit zunehmendem technischen Verständnis dürfte es kommenden Generationen auch möglich werden, in Themen einzusteigen, die man vor 20 Jahren unmöglich gehalten hätte. Das sieht man doch daran, dass heute viel früher Fremdsprachen in der Schule unterrichtet werden, was auch dahingehend kein Problem ist, weil die Kinder schon damit groß werden.

Ein Hauptschulabschluss wäre beispielsweise in der heutigen Zeit in unserer Gesellschaft kein Abschluss mehr, der für eine angehende Berufsausbildung reichen würde. In anderen Ländern, die noch nicht so weit sind von ihrer Technik, müsste dieser Maßstab hingegen erst einmal erreicht werden. Da spreche ich von Ländern, in denen Schulen noch nicht einmal die Ausstattung haben, die wir vor 30 Jahren hatten.

Die Anforderungen an Bildung sollten auch an das Bedürfnis kommender Generationen angepasst werden.

Mit Herstellerspezifisch meine ich die Frage, ob man auf Unabhängigkeit von bestimmten Marken pochen sollte oder nicht. Dabei geht es mir nicht darum, dass man in Produkten der Firma XY auch alle Konzepte umsetzen kann, die sich mit Grundlagen beschäftigen, sondern eher darum, den Einfluss dieser Firmen auf den Bildungssektor nicht zu groß werden zu lassen. Das ist eine rein persönliche Meinung. Hier kann man natürlich auch klar in beiden Richtungen argumentieren. Es kann von Vorteil sein, wenn man große bekannte Marken unterstützend einsetzt, aber genauso gut kritisch gesehen werden.

Aber der Einfluss großer Marken wird eh immer gegenwärtig sein, allein durch bestimmte Technologien- und Angebote.

Aber wenn man wirklich den Lernfaktor in den Vordergrund rücken möchte, erreicht man meiner Meinung nach mit offenen Systemen- und Tools mehr, allein dadurch, dass man theoretisch die Möglichkeit erhält, weiter in die Tiefe zu schauen an Stellen, die in anderen Systemen dann einfach "closed" sind.

Das 3D Drucker Konzept RepRap Mendel oder Rasperry Pi wären gute Beispiele dafür. Wobei bei letzterem natürlich auch eine Rolle spielt, welches OS letztendlich darauf ausgeführt wird. Aber aus Sicht der Hardware, hätte man eben mehrere Optionen offen.

Startet man hingegen in der Schulklasse mit Microsoft Visual Studio oder Android Studio oder IBM Cobol wäre man stark an herstellerspezifische Produkte gebunden, obwohl es mindestens ähnliche Konzepte auch herstellerunabhängig geben würde.

Für das Verständnis wäre es sogar gut, wenn alle Schüler ihren eigenen Raspi oder ähnliches Single Board Computer Konzept selbst bauen- und konfigurieren und anschließend anpassen und erweitern würden.

Aber ich fürchte, so weit sind unsere Bildungskonzepte einfach noch nicht und vermutlich auch nicht die Lehrer, die dass durchziehen sollten.

Bearbeitet von tkreutz2
  • 0
Geschrieben (bearbeitet)

Hier ist noch eine lustige Infografik zu der Fragestellung:

https://codeburst.io/what-programming-language-should-i-learn-f3f164ca376c

Eine klassische Antwort auf die Frage kann es nicht geben. Da Grundlagen unabhängig der Sprache sind und es sicher viele tolle Konzepte gibt.

Lernen- und Spaß kann man sogar mit BBC Basic auf einem Raspi haben. Hier der komplette Kurs dazu.

http://www.riscos.com/support/developers/manual_index/basic.html

https://de.wikipedia.org/wiki/BBC_BASIC

Moderne Version für Mac, Linux und Windows

https://www.bbcbasic.co.uk/bbcsdl/index.html

Demo

https://youtu.be/d6eCLf3Yrhc

Bearbeitet von tkreutz2
  • 0
Geschrieben
Am 22.1.2022 um 11:19 schrieb charmanta:

Ich denke auch, dass Grundlagenvermittlung und Praxisnähe hier getrennt werden sollten. 

Ich denke, dass dies einen vernünftigen Ansatz darstellt, insbesondere, da man ja nicht weiß, wo der spätere berufliche Schwerpunkt einmal liegen wird.

  • 0
Geschrieben
Am 22.1.2022 um 08:41 schrieb skylake:

Aktuell sehe ich folgende Punkte:
Python Pro:
- sehr leichte Syntax
- leicht erlernbar
- In jedem Bereich verwendbar (Machine learning, Web, Desktopapplikationen)
- Laut TIOBE Index Top 1

 

Ich kann nur für mich sprechen!

Meine erste Sprache war Python 

Es ist relativ einfach zu lernen und es gibt viele Webseiten und Bücher um sich in das Thema zu lesen.
Wie z.b.: hier ein Python Buch Tipp

Nach Python habe ich mit Powershell Scripts und kleinen Java Appclikationen weitergemacht.

 

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Diese Frage beantworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...