rlippmann Geschrieben 8. Februar 2018 Geschrieben 8. Februar 2018 Ich versuche einem Umschüler bei der Vorbereitung auf die Prüfung Fachinformatiker für Systemintegration zu unterstützen. Ein Teil ist Programmieren. Man kann jetzt überlegen was in seiner Umgebung sinnvoll ist, aber wichtiger für meine stategische Überlegung ist was in der Prüfung abgearbeitet werden muss. Welche Programmiersprache muss er für die IHK-Prüfung in Nürnberg lernen? C++? Zitieren
Der Hans Geschrieben 8. Februar 2018 Geschrieben 8. Februar 2018 Normalerweise sollte eine IHK-Prüfung komplett auf die Festlegung einer Sprache verzichten, "Programmieraufgaben" sind daher eher in Richtung PAP und Pseudocode aufgebaut. Zitieren
Zufallsvariable Geschrieben 8. Februar 2018 Geschrieben 8. Februar 2018 Für FiSi? Keine.. SQL und ULM Diagrammen. Zitieren
Whiz-zarD Geschrieben 8. Februar 2018 Geschrieben 8. Februar 2018 C++ wäre für einen FISI wie mit Kanonen auf Spatzen schießen. Ich vermute mal, dass er damit sowieso nicht viel anfangen kann. Da ein FISI eher mit Scripten arbeitet und die PowerShell von Microsoft objektorientiert aufgebaut ist, wäre es wohl nicht verkehrt, die Grundprinzipien der Objektorientierung zu erklären. Explizit eine Programmiersprache auszuwählen braucht man nicht und ich weiß nicht mal, ob überhaupt eine Programmieraufgabe in den Abschlussprüfungen vorkommt. Wenn ja, dann ist sie auch mittels Pseudocode lösbar. Also reichen auch ein paar Trockenübungen für die imperative Programmierung. Zitieren
SaJu Geschrieben 8. Februar 2018 Geschrieben 8. Februar 2018 Ich habe FISI beider IHK Nürnberg mit der Berufsschule Erlangen gelernt. Wir hatten im 1.Lj C/C++ und im 2.Lj Java. Ich fand es gut, dass wir mit C/C++ angefangen haben und das ist nicht "mit Kanonen auf Spatzen schießen". Allerdings war das auch keine Umschulung. Frag mal den Umschüler, welche Sprache sie bei der Umschulung verwenden. Zitieren
Sullidor Geschrieben 8. Februar 2018 Geschrieben 8. Februar 2018 Allerdings war das auch keine Umschulung. Frag mal den Umschüler, welche Sprache sie bei der Umschulung verwenden.Dir ist aber schon bewusst, dass Umschüler die gleiche Prüfung schreiben wie Azubis mit Berufsschule? Ich erinnere zu den Prüfungen ebenfalls, dass es meist um Pseudocode und UML geht. Aber SQL kommt noch ziemlich regelmäßig dran. thereisnospace reagierte darauf 1 Zitieren
Ma Lte Geschrieben 8. Februar 2018 Geschrieben 8. Februar 2018 (bearbeitet) vor einer Stunde schrieb SaJu: Allerdings war das auch keine Umschulung. Frag mal den Umschüler, welche Sprache sie bei der Umschulung verwenden. Sowohl C, als auch C++. Ist zumindest bei uns so. (Umschulung FISI) Die AE bekommen noch C# und Java, während wir dann Server- und Netzwerkkram machen. Bearbeitet 8. Februar 2018 von Ma Lte Zitieren
Albi Geschrieben 8. Februar 2018 Geschrieben 8. Februar 2018 In der Prüfung braucht man keine explizite Sprache, da eben die einen C# lernen, die anderen Java usw. Ich habe hier in München in der Berufsschule nichts anderes außer Java gesehen, andere gibts die eben nur C# lernen. Bring ihm die Grundlagen bei und wie man ein Programm in Pseudocode auf Papier "schreibt" bzw. UML Diagramme/PAP usw. dann wird das schon, du musst ihm jetzt nicht extra C++ etc. beibringen. Zitieren
Whiz-zarD Geschrieben 8. Februar 2018 Geschrieben 8. Februar 2018 (bearbeitet) vor 2 Stunden schrieb SaJu: Ich fand es gut, dass wir mit C/C++ angefangen haben und das ist nicht "mit Kanonen auf Spatzen schießen". Allerdings war das auch keine Umschulung. Frag mal den Umschüler, welche Sprache sie bei der Umschulung verwenden. Was in den Berufsschulen gelehrt wird und was in der Prüfung vorkommt, sind zwei unterschiedliche Paar Schuhe. Eine Prüfung ist auch ohne einer Programmiersprache machbar. Die Pseudocode-Beispiele, die man im Wikipedia-Artikel findet, reichen alle male. Das Problem ist eher, dass die Programmieraufgaben, aufgrund ihrer eingeschränkten Sichtweise (z.B. Arrays anstatt Listen, deren Größe erst mal initialisiert werden müssen) oftmals umfangreicher werden, als sie es überhaupt sein müssen. Auch ist die Aufgabenstellung oft sehr merkwürdig aber ein FISI dürfte wohl sowieso keine allzu großen Programmieraufgaben bekommen. Bearbeitet 8. Februar 2018 von Whiz-zarD Zitieren
Ma Lte Geschrieben 8. Februar 2018 Geschrieben 8. Februar 2018 vor 58 Minuten schrieb Whiz-zarD: aber ein FISI dürfte wohl sowieso keine allzu großen Programmieraufgaben bekommen. I hope so... Zitieren
smite Geschrieben 9. Februar 2018 Geschrieben 9. Februar 2018 Ich glaube ich würde ihm PHP zeigen. Er hat hier schnell Ergebnisse und muss sich keine großen Gedanken über unterschiedliche Variablen, etc. machen. Wenn du ihm hier einfach Schleifen sowie die IF Bedingung zeigst, kann er einen Taschenrechner programmieren. Danach sollte er genug Wissen haben um Pseudo Code in der Prüfung erstellen zu können. vg, smite Zitieren
Whiz-zarD Geschrieben 9. Februar 2018 Geschrieben 9. Februar 2018 vor 3 Stunden schrieb smite: Wenn du ihm hier einfach Schleifen sowie die IF Bedingung zeigst, kann er einen Taschenrechner programmieren. Ein Taschenrechner, der nichts taugt. Super. Ein Taschenrechner ist für mich eines der denkbar schlechtesten Übungen, die man sich nur vorstellen kann. Am Ende kommt nur ein Haufen Spaghetticode raus, der so ziemlich gegen jedes Prinzip der Softwareentwicklung verstößt und der Taschenrechner kann nur zwei Zahlen verarbeiten. Eine Operatorreihenfolge (Punkt- vor Strichrechnung) und Klammern kennt er nicht. Um if-anweisungen zu erklären, kann man auch bessere Beispiele nehmen, wie z.B. das FizzBuzz-Spiel. Zitieren
smite Geschrieben 9. Februar 2018 Geschrieben 9. Februar 2018 vor 48 Minuten schrieb Whiz-zarD: Ein Taschenrechner, der nichts taugt. Super. Ein Taschenrechner ist für mich eines der denkbar schlechtesten Übungen, die man sich nur vorstellen kann. Am Ende kommt nur ein Haufen Spaghetticode raus, der so ziemlich gegen jedes Prinzip der Softwareentwicklung verstößt und der Taschenrechner kann nur zwei Zahlen verarbeiten. Eine Operatorreihenfolge (Punkt- vor Strichrechnung) und Klammern kennt er nicht. Um if-anweisungen zu erklären, kann man auch bessere Beispiele nehmen, wie z.B. das FizzBuzz-Spiel. Wir sprechen hier von jemandem der noch nie programmiert hat und nicht weiß was eine Variable, Schleife, etc. ist. Da ist es dann auch egal ob er Spaghetticode schreibt oder nicht. Mehr braucht man ja auch nicht wirklich um etwas Pseudocode schreiben zu können. Ob man jetzt das FizzBuzz Spiel, einen Taschenrechner oder ein Programm erstellt was auf der Konsole geometrische Figuren ausgibt ist da eigentlich egal. Ich finde den Taschenrechner halt ein schönes Beispiel, da man dort einen praktischen Bezug hat. Zitieren
Whiz-zarD Geschrieben 9. Februar 2018 Geschrieben 9. Februar 2018 (bearbeitet) vor 28 Minuten schrieb smite: Wir sprechen hier von jemandem der noch nie programmiert hat und nicht weiß was eine Variable, Schleife, etc. ist. Da ist es dann auch egal ob er Spaghetticode schreibt oder nicht. Mehr braucht man ja auch nicht wirklich um etwas Pseudocode schreiben zu können. Ja, eben. Also warum so ein kompliziertes Beispiel, wie ein Taschenrechner, der nichts taugt? Für mich ist sogar der Spaghetticode-Taschenrechner kontraproduktiv, weil der Code so unübersichtlich wird, sodass der Anfänger schnell den Überblick verliert, was bei einem Anfänger zu Frust führen kann. Zu solchen Taschenrechnern findet man z.B. auf Youtube tausend Videos und in vielen ist es sogar so, dass der Sprecher sogar den Überblick verliert und ins Stottern gerät, weil er ein Fehler produziert hat. vor 28 Minuten schrieb smite: Ich finde den Taschenrechner halt ein schönes Beispiel, da man dort einen praktischen Bezug hat. Ja, wenn der auch was taugen würde aber er ist eben unflexibel und hält die Operatorreihenfolge nicht ein. Zu einem vernünftigen Taschenrechner gehört nun mal etwas mehr, als nur vier if-Anweisungen für die Grundrechenarten, die dann in einer Methode/Funktion verwurstelt werden und da rumgestülpt weiteren Code, nur damit die Oberfläche keine Zicken macht. Man sollte sich dann auch mit binären Bäumen und mit der Prä- und Postfix-Schreibweise eines mathematischen Ausdruckes beschäftigt haben, was einem Anfänger nicht zuzumuten wäre. Mit diesem Spaghetticode-Taschenrechner gaukelt man dem Anfänger nur vor, es hätte praktischen Bezug aber diese Taschenrechner sind Beispiele, wie man nicht programmieren sollte. Bearbeitet 9. Februar 2018 von Whiz-zarD Zitieren
Tarnsocke Geschrieben 2. März 2018 Geschrieben 2. März 2018 (bearbeitet) Also zunächst mal, in den Prüfungen kommt wirklich nur Pseudocode vor, ich hab mir genug von denen angesehen. Auch bei den AEs. Das einzige wo man "richtigen" Code sieht ist SQL. Ich selbst mache grad auch eine Umschulung zum FiSi, und da ist im 1 Jahr insgesammt 2 Monate Programmierung eingeplant (1 Monat Prozedurale Programmierung , 1 Monat Objektorientierte Programmierung). Dabei wird soweit ich weis Java hergenommen, ich selbst werde aber versuchen die dazu zu kriegen dass ich C++ benutzen darf (geht ja nur um das Verständnis der Konzepte). So viel Programmierung ist im übrigen auch durch den Rahmenlehrplan vorgsehen, 220 Stunden. Hab das mal angehängt, da ist auch ersichtlich WAS man lernen soll. Die Sprache mir derer man das lernen soll ist hingegen nicht definiert. Aber was derjenige für eine Sprache nutzt innerhalb der Umschulung sollte eigentlich feststehen oder sich erfragen lassen. Wenn nicht, für die Grundlagen verstehen reicht durchaus Python oder ähnliches. Fachinformatiker97-04-25.pdf Bearbeitet 2. März 2018 von Tarnsocke Zitieren
Whiz-zarD Geschrieben 2. März 2018 Geschrieben 2. März 2018 (bearbeitet) vor 26 Minuten schrieb Tarnsocke: Dabei wird soweit ich weis Java hergenommen, ich selbst werde aber versuchen die dazu zu kriegen dass ich C++ benutzen darf (geht ja nur um das Verständnis der Konzepte). Wenn es um die Konzepte geht, dann solltest du das nehmen, was die Schule auch lehrt, denn C++ ist nicht Java. Auch wenn beide Sprachen objektorientiert sind (was bei C++ nur die halbe Wahrheit ist), haben dennoch auch objektorientierte Sprachen andere Konzepte. z.B. in C++ muss man mit Pointern rumhantieren, während in Java dies auf ein Minimum reduziert wurde und sich dort Referenzen nennen. Auch hat C++ keinen Garbage Collector. Du musst dich dort selbst um die Reservierung und Freigeben des Speichers kümmern, während in Java dies der Garbage Collector für dich dies übernimmt. C++ unterstützt außerdem das Konzept der Mehrfachvererbung und benötigt daraufhin keine Interfaces. Interfaces in C++ wären Klassen mit virtuellen Methoden. Apropos virtuelle Methoden: Die Überladung von Methoden funktioniert in C++ genau andersrum als in Java. Nur virtuelle Methoden können in C++ überschrieben werden, während in Java alle Methoden, außer die, die mit einem final markiert sind, überschrieben werden. Wenn ihr also was entwickeln sollt und du nimmst C++, während der Lehrer nur Java kennt und du nicht weiterkommst, dann siehst du halt sehr alt aus. C++ ist also nicht immer das Allheilmittel für alle Fälle und wenn es um das Erlernen der Konzepte der Objektorientierung geht, dann ist C++ auch nicht wirklich die beste Sprache, weil man sehr viel Boilerplate Code schreiben muss. Bearbeitet 2. März 2018 von Whiz-zarD Typo Zitieren
Whiz-zarD Geschrieben 2. März 2018 Geschrieben 2. März 2018 (bearbeitet) gelöscht Bearbeitet 2. März 2018 von Whiz-zarD Zitieren
Ma Lte Geschrieben 2. März 2018 Geschrieben 2. März 2018 (bearbeitet) vor 3 Stunden schrieb Tarnsocke: Ich selbst mache grad auch eine Umschulung zum FiSi, und da ist im 1 Jahr insgesammt 2 Monate Programmierung eingeplant (1 Monat Prozedurale Programmierung , 1 Monat Objektorientierte Programmierung). Dabei wird soweit ich weis Java hergenommen, ich selbst werde aber versuchen die dazu zu kriegen dass ich C++ benutzen darf (geht ja nur um das Verständnis der Konzepte). Wir sind seit kurzem mit dem ganzen "Spaß" durch und wir haben tatsächlich C++ verwendet. Was davon besser geeignet ist, kann ich nicht beurteilen, weil ich Java nicht kenne. C++ als Allererstes zu nehmen, würde ich aber für recht ambitioniert halten, ich fand das durchaus nicht einfach. Vorher in der prozeduralen Programmierung hatten wir C, das hat dann für C++ schon weiter geholfen. Bearbeitet 2. März 2018 von Ma Lte Zitieren
Tarnsocke Geschrieben 2. März 2018 Geschrieben 2. März 2018 vor 3 Stunden schrieb Whiz-zarD: Wenn es um die Konzepte geht, dann solltest du das nehmen, was die Schule auch lehrt, denn C++ ist nicht Java. Auch wenn beide Sprachen objektorientiert sind (was bei C++ nur die halbe Wahrheit ist), haben dennoch auch objektorientierte Sprachen andere Konzepte. z.B. in C++ muss man mit Pointern rumhantieren, während in Java dies auf ein Minimum reduziert wurde und sich dort Referenzen nennen. Auch hat C++ keinen Garbage Collector. Du musst dich dort selbst um die Reservierung und Freigeben des Speichers kümmern, während in Java dies der Garbage Collector für dich dies übernimmt. C++ unterstützt außerdem das Konzept der Mehrfachvererbung und benötigt daraufhin keine Interfaces. Interfaces in C++ wären Klassen mit virtuellen Methoden. Apropos virtuelle Methoden: Die Überladung von Methoden funktioniert in C++ genau andersrum als in Java. Nur virtuelle Methoden können in C++ überschrieben werden, während in Java alle Methoden, außer die, die mit einem final markiert sind, überschrieben werden. Wenn ihr also was entwickeln sollt und du nimmst C++, während der Lehrer nur Java kennt und du nicht weiterkommst, dann siehst du halt sehr alt aus. C++ ist also nicht immer das Allheilmittel für alle Fälle und wenn es um das Erlernen der Konzepte der Objektorientierung geht, dann ist C++ auch nicht wirklich die beste Sprache, weil man sehr viel Boilerplate Code schreiben muss. Ich denke sowieso nicht, dass die das mitmachen würden, und was du schreibst werde ich um Java wohl dann nicht herum kommen. Aber es könnte schlimmer sein, C++ kann ich ja privat noch lernen. Ich mag aus Gründen die ich nicht benennen kann Java einfach nicht, hat aber keinen rationalen Grund. Aber jede Sprache zusätzlich schadet nicht, und macht es später einfacher, auch wenn ich kein AE werde. Danke auf jeden Fall für die Info Zitieren
Whiz-zarD Geschrieben 2. März 2018 Geschrieben 2. März 2018 vor 5 Minuten schrieb Tarnsocke: Ich mag aus Gründen die ich nicht benennen kann Java einfach nicht, hat aber keinen rationalen Grund. Lass mich raten: Java ist langsam und unsicher. Stimmt's? Zitieren
Tarnsocke Geschrieben 2. März 2018 Geschrieben 2. März 2018 Nein. Wie gesagt, ist eine irrationale Abneigung. Wahrscheinlich noch von früher als man eben das von allen Seiten gehört hat. Aber ich gelobe besserung, ich werde es ja lernen Zitieren
Empfohlene Beiträge
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.