Zum Inhalt springen

Programmieraufgabe/Sozialabgebenberechnunf


Saruto

Empfohlene Beiträge

Hallo,

 

habe bald meine Abschlzssprüfung (FIAE) und tue mich in 2 Sachen noch ziemlich schwer...

 

1. Die Programmieraufgabe: Ich habe gerade keine konkrete. Mit würde es eher helfen, wenn Ich eventuell. Win paar Tipps bekomme wie ich die am schnellsten bewältige. Les ich erst den Text und überlege mir eine Logik die ich irgendwie hinschreibe? Gehe ich Schritt für Schritt jeden satz durch und schreibe dann die Lösungen so hin? Ich muss auch sagen dass mir allg. ZB ein Pseudocode aus einer Aufgabe sehr schwer fällt. LIEBER Struktogramm? Oder PAP? Ich würde diese Aufgabe abwählen aber es kam ja schon vor dass es 2 Aufgaben dieser Sorte in Prüfungen kam. 

 

Vielen Dank

 

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Meine Tipps:

Niemals Struktogramm oder PAP zeichnen. Warum? Weil es irre schwer ist, in den Dingern gemachte Fehler noch zu korrigieren, bzw. das sehr viel Zeit kostet. Danach hast du dann ein Gebilde, in dem die Hälfte durchgestrichen ist, da noch was reingequetscht, hier ein Sternchen....

Ich würde den Text durchgehen und die wichtigsten Sachen unterstreichen. Danach anfangen mit Pseudocode.

Abschließend würde ich versuchen, den Aufgabentyp zu meiden, es sei denn es kommt etwas relativ leichtes. Nicht weil die Aufgaben besonders schwer sind, sondern weil sie viel Zeit kosten und die Aufgaben meist von der IHK sehr schwammig formuliert werden.

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Denke auch um eine Programmieraufgabe kommen wir nicht rum.

https://fachinformatiker-anwendungsentwicklung.net/pseudocode-vs-struktogramm-und-programmablaufplan-in-der-schriftlichen-abschlusspruefung/

Grosse Programmieraufgabe streichen!

Vielleicht hilfreicher Link:

ftp://ftp.math.tu-berlin.de/pub/Lehre/Computerorientierte_Mathematik/coma1.WS06/Uebung/uebung30.10.06.pdf

Also an sich Pseudocode so wie in den IHK Lösungen ist zeitlich effizient zu schreiben (Klammern weglassen im Codeblock, Parameter in der Signatur + Rückgabetyp, Endmakierungen im Codeblock, Schleifen und Variablendeklaration wie im Link - Das war 's)

Unter der Methodensignatur Platz lassen für eventuelle Variablen, die dazu kommen.

 

Bearbeitet von Pennytüte
Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 10 Stunden schrieb Saruto:

Ich würde diese Aufgabe abwählen aber es kam ja schon vor dass es 2 Aufgaben dieser Sorte in Prüfungen kam. 

Ich will dir nicht zu nahe treten aber ernsthaft? O_o
Du machst eine dreijährige Ausbildung zum Anwendungsentwickler und gerade deine Paradedisziplin in der Abschlussprüfung würdest du lieber auslassen wollen? Darf ich dann fragen, was du in den letzten drei Jahren gemacht hast?

Wenn, dann würde ich auch Pseudocode schreiben, denn Diagramme verbrauchen zu viel Zeit. In Prüfungen, wo man nicht vor der Maschine sitzt, macht Pseudocode Sinn, weil der Code eh nicht wirklich lang wird, aber ich würde diesem Code keine allzu große Aufmerksamkeit schenken, denn Pseudocode ist entgegen der Behauptung in diesem Text:

vor 7 Stunden schrieb Pennytüte:

ebenfalls nicht mehr zeitgemäß und im alltäglichen Berufsleben wird man auch nie mehr Pseudocode schreiben. Als Softwareentwickler sitzt man dann eh vor seinem Gerät und kann seinen Code zum Ausprobieren in die Maschine hacken. Pseudocode auf Papier ist dann nicht mehr erforderlich. Pseudocode ist auch keine brauchbare Dokumentation, denn erstens interessiert sich der Aufrufer nicht für die dahinterstehende Implementierung und zweitens sollte ein Code schon so sauber geschrieben werden, sodass keine weitere Dokumentation für die Beschreibung der Implementierung des Algorithmus benötigt wird. Wozu sollte so eine Dokumentation auch nützlich sein? Ein Softwareentwickler kann auch den Quellcode lesen. Da braucht man kein Pseudocode.

Bestimmte Konstrukte, wie z.B. for-schleifen, verwendet man auch im Alltag nur noch sehr selten. Auch Arrays kommen nicht mehr so häufig explizit zum Einsatz, denn zu über 90% wird man nur durch die Elemente iterieren, da bieten sich dann eher Iteratoren an, anstatt eine Indexierungsvariable, um besseren und lesbaren Code zu schreiben. Ich selber kann mich auch gar nicht mehr daran erinnern, wann ich zuletzt eine for-Schleife geschrieben habe. 

Pseudocode sorgt auch, meiner Meinung nach, für einen schlechten Programmierstil, da man alles in Spaghetticode runterschreibt und wenn man doch den Pseudocode in Methoden aufteilt, dann wird es auch schnell komplexer und dann hätte man den Code auch selbst in die Maschine hacken können. Das selbe gilt auch für die im Text erwähnten Switch-Anweisungen. Switch-Anweisungen an falschen stellen erhöhen deutlich die zyklomatische Komplexität. Man sollte sie also mit Vorsicht genießen oder sie sogar eher vermeiden. Switch-Anweisungen verwende ich eigentlich eher nur noch für Factory-Methoden. Aber auch nur dann, wenn ich weiß, dass diese Methode nie mehr angefasst wird und es auch nicht zu viele Abzweigungen gibt.

Wenn eine Firma sogar TDD (test-driven development) anwendet, wird man eh im ersten Schritt erst eine geeignete Schnittstelle ausdenken und gegen diese Schnittstelle ein Test schreiben und erst dann über eine konkrete Implementierung nachdenken.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo,

also ich kenne viele (gerade FIAEler) die niemals eine Programmieraufgabe streichen würden. Oftmals sind wirklich einfache Aufgaben dabei (mach aus dem Struktogramm einen Pseudocode etc.). Daher teile ich Fauchs Ansicht nicht. Ich finde eher, dass hier Prüfer die größte Möglichkeit haben Punkte zu erhaschen, als bei Aufgaben bei denen die Antwort entweder ganz richtig oder ganz falsch ist.

Generell kenne ich recht wenige die, wenn sie sich halbwegs gut vorbereitet haben, in der Abschlussprüfung zeitliche Probleme haben. Das sollte also nicht der Faktor sein.

Ob du nun Pseudocode, Struktogramm oder PAP machst ist dir selbst überlassen. Mach das, was dir am besten liegt. Ich persönlich bevorzuge das Struktogramm, denke aber die meisten bleiben beim Pseudocode, da das ja praktisch tägliches Doing ist und Fehler schöner auszubessern sind.

 

Zwecks Sozialabgabenberechnung:

Hast du hier nicht Unterlagen von der Berufsschule? Ich müsste meine jetzt Suchen. Aber wir hatten da praktisch ein "Step-by-Step" Blatt an das ich mich gehalten habe.

 

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Vielen Dank für die Antworten und Links!

Nunja, meine Ausbildung war bzw ist eher sehr schwammig. Lernen konnte ich nicht viel, Schule war totale Arbeitsverweigerung. Im Betrieb Learning by doing, aber denke das ist normal und klappte auch ganz gut. Ich hatte ´schon die Sommerprüfung verhauen und weis dass ich unter anderem diese Aufgabe zeitlich nicht geschafft habe. Deswegen diese Anfrage.

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor einer Stunde schrieb Whiz-zarD:

Du machst eine dreijährige Ausbildung zum Anwendungsentwickler und gerade deine Paradedisziplin in der Abschlussprüfung würdest du lieber auslassen wollen? Darf ich dann fragen, was du in den letzten drei Jahren gemacht hast?

Das hat wenig damit zu tun, dass man nicht programmieren kann. Hast du dir mal die Aufgaben in der Prüfung angeschaut? Dafür hast du dann nur knapp 20 Minuten Zeit und bekommst genau so viele Punkte dafür wie für deutlich weniger komplexe Aufgaben. Es ist eine rein "wirtschaftliche" Entscheidung, diese Aufgaben zu streichen, weil sie enorm aufwändig sind. Viele Prüflinge verschenken wertvolle Prüfungszeit bei diesen Aufgaben.

vor einer Stunde schrieb Whiz-zarD:

aber ich würde diesem Code keine allzu große Aufmerksamkeit schenken, denn Pseudocode ist entgegen der Behauptung in diesem Text:

Auch hierzu: Schau dir bitte mal die Prüfungen an! Dort wird man meist explizit vor die Wahl zwischen Pseudocode, PAP oder Struktogramm gestellt. Es geht nicht darum, ob das in der Praxis genutzt wird oder nicht, sondern was die Prüfung fordert.

vor einer Stunde schrieb Whiz-zarD:

Bestimmte Konstrukte, wie z.B. for-schleifen, verwendet man auch im Alltag nur noch sehr selten. Auch Arrays kommen nicht mehr so häufig explizit zum Einsatz, denn zu über 90% wird man nur durch die Elemente iterieren, da bieten sich dann eher Iteratoren an, anstatt eine Indexierungsvariable, um besseren und lesbaren Code zu schreiben. Ich selber kann mich auch gar nicht mehr daran erinnern, wann ich zuletzt eine for-Schleife geschrieben habe. 

Das mag alles sein, ist in der Prüfung aber irrelevant. Die Aufgaben müssen programmiersprachenunabhängig gestellt sein, da es keine Standardsprache für alle Prüflinge gibt. Und Lambdas, Iteratoren usw. gibt es nicht in allen Programmiersprachen. Daher werden die Aufgaben voraussichtlich noch lange Zeit mit Arrays, for-Schleifen usw. arbeiten. In Java oder C# arbeitet man heute vielleicht anders, aber viele Prüflinge verwenden ABAP, C, PHP (ohne OO) usw. Geh also bitte nicht von deiner Programmierumgebung aus, wenn du allgemeine Tipps zur Prüfung geben möchtest.

vor einer Stunde schrieb Whiz-zarD:

Switch-Anweisungen an falschen stellen erhöhen deutlich die zyklomatische Komplexität. Man sollte sie also mit Vorsicht genießen oder sie sogar eher vermeiden. Switch-Anweisungen verwende ich eigentlich eher nur noch für Factory-Methoden.

Ich stimme dir zu. Ist aber - mal wieder - irrelevant für die Prüfung. if, switch, for, while usw. sind grundlegende Programmierkonstrukte, die alle Programmiersprachen bieten. Und die werden in der Prüfung abgefragt. "Schönes" Design von Klassen usw. ist nicht Teil der Prüfung. Dafür fehlt schlicht die Zeit.

Abschließend vielleicht noch ein allgemeines Feedback, da ich schon häufiger deine Antworten auf Programmierfragen gelesen habe. Das Niveau der Prüfungen ist ein anderes, als du es vielleicht aus dem Alltag gewohnt bist. Es hilft den Prüflingen nicht, wenn du auf eine Frage nach einem switch-Statement mit "das ist doof, nimm lieber Polymorphie" anwortest. In der Praxis stimme ich dir 100%ig zu. In der Prüfung wird das aber nicht gefordert und ist teilweise sogar kontraproduktiv. Wenn du dir mal ein paar IHK-Prüfungen anschaust, wirst du das auch feststellen.

Jetzt kann man natürlich darüber meckern, dass die IHK-Prüfungen nicht mit der Zeit gehen. Und das stimmt wahrscheinlich auch. Aber ändern können wir daran erstmal nichts. Stattdessen sollten wir die Prüflinge so gut es geht auf die Anforderungen der Prüfung vorbereiten. Dass sie in der Praxis moderne Techniken anwenden sollten, steht außer Frage! Und dafür ist das Abschlussprojekt da!

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 6 Minuten schrieb stefan.macke:

Das hat wenig damit zu tun, dass man nicht programmieren kann. Hast du dir mal die Aufgaben in der Prüfung angeschaut? Dafür hast du dann nur knapp 20 Minuten Zeit und bekommst genau so viele Punkte dafür wie für deutlich weniger komplexe Aufgaben. Es ist eine rein "wirtschaftliche" Entscheidung, diese Aufgaben zu streichen, weil sie enorm aufwändig sind. Viele Prüflinge verschenken wertvolle Prüfungszeit bei diesen Aufgaben.

Man bekommt aber Teilpunkte für die Aufgaben und für einen Anwendungsentwickler sind das leichtverdiente Punkte. Diese Aufgaben grundsätzlich auszulassen halte ich für falsch.

vor 8 Minuten schrieb stefan.macke:

Auch hierzu: Schau dir bitte mal die Prüfungen an! Dort wird man meist explizit vor die Wahl zwischen Pseudocode, PAP oder Struktogramm gestellt. Es geht nicht darum, ob das in der Praxis genutzt wird oder nicht, sondern was die Prüfung fordert.

Dann schreibe bitte den Text auch so.
Du suggierierst den Leser, dass Pseudocode auch im Alltag verwendet wird:

Zitat

Der Vorteil für die Prüflinge beim Einsatz von Pseudocode ist ganz klar, dass man ihn fast „runterprogrammieren“ kann, wie man es aus der täglichen Arbeit gewohnt ist.

Und das ist schlichtweg falsch.
Wer etwas "runterprogrammiert" hat schon automatisch einen schlechten Programmierstil. Man muss hier auch bedenken, dass man es bei der Abschlussprüfung nicht mit absoluten Neuanfängern zu tun hat, sondern eigentlich schon ausgebildete Fachkräfte, die nur noch in der Abschlussprüfung ihr Können unter Beweis stellen sollen. Wir haben es hier also nicht mit Hobby-Hackern zu tun, die man mit Samthandschuhen anfassen muss, sondern mit Menschen, die damit ihr tägliches Brot verdienen wollen und da verlange ich schon eine gewisse Professionalität. Sicherlich, mein Code sah direkt nach der Ausbildung auch nicht so aus, wie jetzt, denn das kommt erst mit zunehmender Erfahrung aber den Prüflingen was falsches zu vermitteln, halte ich für kontraproduktiv. Man kann den Prüflingen ja darauf hinweisen, dass die IHK eine veraltete Vorstellung hat und dass man deswegen lieber auf Pseudocode setzen sollte, weil es schneller, nicht standardisiert und sprachenunabhängig ist aber denen damit eine zeitgemäße Entwicklung vorzugaukeln und sie so zubehandeln als seinen sie noch im ersten Lehrjahr halte nicht für richtig. Man sollte schon das Kind beim Namen nennen und auch die Dinge kritisch betrachten und sie nicht einfach hinnehmen. Nur so kann man auch was erreichen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 1 Stunde schrieb Whiz-zarD:

Du suggierierst den Leser, dass Pseudocode auch im Alltag verwendet wird:

Und das ist schlichtweg falsch.

Nein, das ist definitiv nicht so gemeint. Ich dachte, dass es aus dem Kontext heraus klar wäre. Ich ergänze das mal:

Zitat

Der Vorteil für die Prüflinge beim Einsatz von Pseudocode gegenüber den Diagrammen ist ganz klar, dass man ihn fast „runterprogrammieren“ kann, wie man es aus der täglichen Arbeit gewohnt ist.

Mein Artikel gibt die Empfehlung, von den drei gegebenen Möglichkeiten die - meiner Meinung nach - beste auszuwählen.

Und ich sage auch nicht, dass man Pseudocode im Alltag verwendet, sondern dass man die Aufgabe "runterprogrammieren" kann (wie man es im Alltag in seiner Programmiersprache tut), anstatt Diagramme zu zeichnen (wie man es wohl eher nicht tut).

Noch einmal zu deinen restlichen Ausführungen: Ich empfehle nicht Pseudocode als Werkzeug für die Praxis, sondern nur für die Prüfung, falls man vor die Wahl gestellt wird. Prüfungen in Baden-Württemberg erlauben z.B. explizit eine erlernte Programmiersprache. In den restlichen Bundesländern werden aber halt meistens nur die genannten Möglichkeiten erlaubt.

Dazu sei auch noch einmal gesagt, dass Pseudocode nicht standardisiert ist und man im Zweifel auch einfach direkt Java oder eine andere Programmiersprache hinschreiben kann. Das geht immer als "Pseudocode" durch.

vor 2 Stunden schrieb Whiz-zarD:

Man bekommt aber Teilpunkte für die Aufgaben und für einen Anwendungsentwickler sind das leichtverdiente Punkte.

Das stelle ich mal zur Diskussion. Du musst in max. 20 Minuten unter Zeitdruck eine komplexe Aufgabenstellung verstehen und dann noch in Code umsetzen. Im Vergleich zu "Nennen Sie die Aufgaben eines Projektleiters." sind das keinesfalls geschenkte Punkte.

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 7 Stunden schrieb Chiyoko:

Hallo,

also ich kenne viele (gerade FIAEler) die niemals eine Programmieraufgabe streichen würden. Oftmals sind wirklich einfache Aufgaben dabei (mach aus dem Struktogramm einen Pseudocode etc.). Daher teile ich Fauchs Ansicht nicht. Ich finde eher, dass hier Prüfer die größte Möglichkeit haben Punkte zu erhaschen, als bei Aufgaben bei denen die Antwort entweder ganz richtig oder ganz falsch ist.

Generell kenne ich recht wenige die, wenn sie sich halbwegs gut vorbereitet haben, in der Abschlussprüfung zeitliche Probleme haben. Das sollte also nicht der Faktor sein.

Ob du nun Pseudocode, Struktogramm oder PAP machst ist dir selbst überlassen. Mach das, was dir am besten liegt. Ich persönlich bevorzuge das Struktogramm, denke aber die meisten bleiben beim Pseudocode, da das ja praktisch tägliches Doing ist und Fehler schöner auszubessern sind.

 

Zwecks Sozialabgabenberechnung:

Hast du hier nicht Unterlagen von der Berufsschule? Ich müsste meine jetzt Suchen. Aber wir hatten da praktisch ein "Step-by-Step" Blatt an das ich mich gehalten habe.

 

 

Es ist einfach eine Frage der ökonomischen Verteilung der Zeit. Klar macht man die Programmieraufgabe, wenn man zu einer anderen Aufgabe "gar nichts" weiß. Aber aus meiner persönlichen Erfahrung sind alle anderen Punkte wesentlich einfacher zu bekommen. 

Es kann eh sein, dass zwei Programmieraufgaben kommen und dann hat man keine Wahl.

Zum Thema Zeit: Die empfand ich persönlich als nicht üppig, vor allem wenn dann noch 1-2 kniffligere SQL-Abfragen drankommen. 

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 9 Minuten schrieb stefan.macke:

Das stelle ich mal zur Diskussion. Du musst in max. 20 Minuten unter Zeitdruck eine komplexe Aufgabenstellung verstehen und dann noch in Code umsetzen. Im Vergleich zu "Nennen Sie die Aufgaben eines Projektleiters." sind das keinesfalls geschenkte Punkte.

Leider habe ich kein Überblick, wie die Fragen im Allgemeinen gestellt wird. Vielleicht irre ich mich da auch. Meine Zeit als Azubi liegt auch ein bisschen zurück und ich hab damals nur eine Ausbildung zum Mechatroniker gemacht aber in meiner Abschlussarbeit kam eine Aufgabe zur SPS-Programmierung vor und wenn ich mich noch recht erinnere ging es um eine Programmierung einer Maschine, die Kugeln nach ihrer Farbe sortieren soll. Zumindest fand ich damals die Aufgabe sehr einfach.

Auch in meiner Ausbildung aus Assistent für Medieninformatik kamen Programmier-Klausuren vor, wo man für einen Algorithmus 20 Minuten Zeit hatte. Da ging es u.a. darum, zu prüfen, ob ein String ein Palindrom ist, mit der Berücksichtigung, dass Groß- und Kleinschreibung und Satzzeichen ignoriert werden sollen etc. Auch das war machbar. Die IHK wird ja keine unmögliche Aufgabe in die Abschlussprüfung packen. Außerdem wird man ja ein paar Ideen haben, wie man mit der Aufgabe anfangen kann. Das gibt ja schon ein paar Punkte.

Wenn ich mir dann auch noch diesen Thread anschaue, wo offenbar eine Aufgabe aus einer Abschlussprüfung stammt, ist das jetzt nun auch kein Hexenwerk. Laut Struktogramm sind das lediglich nur zwei verschaltete Schleifen. Ich hab mir das Struktogramm genommen und mal in C# umgesetzt. Wenn ich das Struktogramm jetzt richtig verstanden habe (ich verstehe nicht, warum die Anzahl der IP-Adressen pro Zeile auf 4 beschränkt wird), war das jetzt eine Zeile Code.

int count = zeilen.SelectMany(zeile => zeile.Split('|')).Count(ipAddress => ipAddress == searchIpAddress);

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 3 Stunden schrieb Whiz-zarD:

Man bekommt aber Teilpunkte für die Aufgaben und für einen Anwendungsentwickler sind das leichtverdiente Punkte. Diese Aufgaben grundsätzlich auszulassen halte ich für falsch.

Leichtverdient sind die Punkte mit Sicherheit nicht im Vergleich zu Aufgaben wie:

- Erklären sie die drei Prinzipien der Verschlüsselung

- Netzplan zeichnen

- UML-Klassendiagramm

... merkst Du was? Das sind alles Aufgaben, die eigentlich regelmäßig drankommen. Auch gute Programmierer tun sich mit der Programmieraufgabe am schwersten, ganz einfach weil es der komplexeste Aufgabentyp in der Prüfung ist.

Zudem kommt noch, wie du richtig sagst, dass kein Mensch heutzutage mehr Programme auf dem Papier entwirft.

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 1 Stunde schrieb Whiz-zarD:

gelöscht

Auch wenn du jetzt merkst, dass du die Diskussion ziemlich am Thema vorbei gelenkt hast. :rolleyes:

Posts löschen ist ganz schlechte Praxis.

vor 22 Stunden schrieb Saruto:

Die sozialabgabenberechnung: Wie genau führe ich diese durch?

Meinst du dieses Zeugs? :P

http://www.rechnungswesen-verstehen.de/lohn-gehalt/fallbeispiel-steuerabzuege.php

http://www.rechnungswesen-verstehen.de/lohn-gehalt/fallbeispiel-sozialversicherungen.php

Bearbeitet von PVoss
Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 6 Stunden schrieb Whiz-zarD:

Auch in meiner Ausbildung aus Assistent für Medieninformatik kamen Programmier-Klausuren vor, wo man für einen Algorithmus 20 Minuten Zeit hatte. Da ging es u.a. darum, zu prüfen, ob ein String ein Palindrom ist, mit der Berücksichtigung, dass Groß- uiimnd Kleinschreibung und Satzzeichen ignoriert werden sollen etc. Auch das war machbar.

In einer Uni Klausur musste ich diese Aufgabe auch mal lösen. Allerdings musste diese zwingend rekursiv gelöst werden (+ ohne if-else Keyword und ohne Sprachkonstrukte wie Schleifen) und man hatte nur 2-3 Minuten Zeit, da es noch 35 andere Aufgaben gab. 

Fazit: Alles ist machbar ... je nach Kentnissstand und Begabung... (ich mag diese Floskel daher nicht).

 

Die Schwierigkeit der Programmieraufgaben bei der IHK finde ich immer überhauptzu verstehen, was die von einem wollen. Das ist teilweise total weird formuliert. Auch wie die manchmal die Struktogramme implementieren. Da merkt man, dass die Aufgaben manchmal von Berufsschullehrern ohne Praxiserfahrung und Knowhow kommen.

 

Bearbeitet von Uhu
Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 11 Stunden schrieb PVoss:

Auch wenn du jetzt merkst, dass du die Diskussion ziemlich am Thema vorbei gelenkt hast. :rolleyes:

Posts löschen ist ganz schlechte Praxis.

Das ist gestern nur ein bisschen doof gelaufen. Eigentlich wollte ich was schreiben, klickte aber ausversehen auf den Antworten Button und kam nicht mehr dazu, den Beitrag zu erweitern. Deswegen habe ich ihn erst mal gelöscht.

Ich habe mir gestern diesen Podcast angehört und frage mich, wieso man sich bei Programmieraufgaben so schwer tut? Zwei verschachtelte Schleifen sollte eigentlich jeder Prüfling hinbekommen. Das hat man in der Firma mit Sicherheit schon tausend Mal programmiert. Das, was ich hier aber sehe, ist, dass man sich in technischen Hilfsmitteln verstrickt. Anstatt das eigentliche Problem zu lösen, erzeugt man immer weitere Probleme. Als Beispiel nehme ich die o.g. Zählung der Vorkommnisse einer IP-Adresse. Selbst in Pseudocode wäre dies weniger als 10 Zeilen:

  • Anzahl := 0
  • Durchlaufe alle Zeilen
    • Zerlege Zeile in Abschnitte bei Zeichen '|'
    • Durchlaufe alle Abschnitte
      • IP-Adresse := Abschnitt
      • Wenn IP-Adresse == gesuchte IP-Adresse
        Dann Anzahl + 1
  • Gebe Anzahl zurück

Wie das denn hinterher in den jeweiligen Sprachen umgesetzt wird, ist doch eine andere Sache. Man erkennt aber in den wenigen Zeilen, was der Algorithmus machen soll. Wenn man aber anfängt technische Hilfskonstrukte aufzubauen, wie z.B. Zählervariablen, weil man schon im Pseudocode definiert, dass man auf das Array indexiert zugreift, ist es auch kein Wunder, warum es so schwer wird. Wie gesagt, in C# mit Linq lässt sich die komplette Aufgabe in nur einer Zeile Code lösen. Wie heißt es so schön? "In der Kürze liegt die Würze". 

vor 11 Stunden schrieb Uhu:

Die Schwierigkeit der Programmieraufgaben bei der IHK finde ich immer überhauptzu verstehen, was die von einem wollen. Das ist teilweise total weird formuliert. Auch wie die manchmal die Struktogramme implementieren. Da merkt man, dass die Aufgaben manchmal von Berufsschullehrern ohne Praxiserfahrung und Knowhow kommen.

Und genau das verstehe ich halt irgendwie nicht. Es wird halt alles so geschluckt, wie es kommt und keiner stellt die Prüfungsmethoden der IHK in Frage. Die Azubis lernen veralteten Kram, die sie nach der Abschlussprüfung gleich wieder vergessen können, verschenken lieber 25 Punkte und die Prüfer sind mit der Programmieraufgabe überfordert. Das hilft doch keinen weiter. Es ist doch für jeden von Interesse, dass hier was geändert wird. Man muss sich doch an den Kopf fassen, wenn Anwendungsentwickler ihre eigentliche Paradedisziplin in der Abschlussprüfung auslassen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

@Whiz-zard:

Du argumentierst am Thema dieses Threads vorbei. Es ist nicht relevant für einen Prüfling, dass die Aufgaben vielleicht schlecht gestellt sind. Eine Prüfung muss immer in dem Rahmen bearbeitet werden, in dem sie gestellt ist.

Die Diskussion ob die aktuelle IHK-Prüfung zeitgemäß ist, ist eine völlig andere. Was meinst Du, wie viele Punkte gibt deine LINQ-Lösung? Oder wie viele Punkte erhält der Prüfling wenn er hinschreibt, dass weder Pseudocode noch PAP/Struktogramme zeitgemäß sind?

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 39 Minuten schrieb Whiz-zarD:

Und genau das verstehe ich halt irgendwie nicht. Es wird halt alles so geschluckt, wie es kommt und keiner stellt die Prüfungsmethoden der IHK in Frage.

Das stimmt so nicht. Ich glaube die meisten stellen diese in Frage. Das Problem ist eher, dass man z.B. als Prüfling gar nicht die Möglichkeit hat etwas zu ändern. Und die Betriebe haben oftmals auch keinerlei Einblick in das, was die IHK überhaupt fordert und prüft.

Hinzu kommt, dass die Varianz der Inhalte, mit denen ein FIAE-Azubi je nach Unternehmen in Berührung kommt, riesig ist. Das fängt bei der benutzten/kennengelernten Sprache an und hört bei den Einsatzgebieten noch lange nicht auf.

Gibt sogar FIAEler, die in ihrer Ausbildung so gut wie keine Zeile Code programmiert haben und eher in Richtung Projektmanagement gehen.

 

Immerhin wird im Moment über ein "Redesign" der IT-Ausbildungen nachgedacht und es wurden auch erste Schritte eingeleitet. Bis allerdings die ersten Änderungen in Kraft treten, werden auch schon wieder mehrere Jahre ins Land gezogen sein.

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 13 Stunden schrieb Uhu:

Die Schwierigkeit der Programmieraufgaben bei der IHK finde ich immer überhauptzu verstehen, was die von einem wollen. Das ist teilweise total weird formuliert. Auch wie die manchmal die Struktogramme implementieren. Da merkt man, dass die Aufgaben manchmal von Berufsschullehrern ohne Praxiserfahrung und Knowhow kommen.

Stimmt leider...und Sinn geben sie meistens auch nicht, wenn man die Aufgabenstellung mit der Musterlösung vergleicht.

Bestes Beispiel (Sommer '15):

Zitat

Der Methode erstelleLadungsliste() werden die Daten für die LKW (Nutzlast/LKW und Anzahl zuladbarer Paletten/LKW) sowie die zweidimensionale Tabelle ladungsliste übergeben.

Die Tabelle Ladungsliste besteht aus den 3 Spalten Gewicht der Palette, LKW-Nr. (in den die Palette geladen werden soll) und Palette-Nr.

Die Spalte LKW-Nr. soll dann innerhalb der Methode für 10 LKWs befüllt werden.

Wenn ich das lese, gehe ich ja erst einmal davon aus, dass eigentlich auch die LKW als Array übergeben werden - immerhin ist hier von mehreren LKW die Rede.

Wenn man dann aber weiter liest und die "Kopfzeile" der Methode sieht, die man runterschreiben soll, ist es total an jeglichen Programmierprinzipien vorbeigedacht:

Zitat

erstelleLadungListe(Ladungsliste : zweidimensionales Array vom Typ Integer, mutzlast_kg : Double, maxAnzahl_Palette : Integer)

Ist diese Methoder also zuende, nachdem man einen LKW in diese Ladungsliste gepackt hat!?

Nein! Laut Lösung hat man auf einmal für jeden der 10 geforderten LKW die Daten in dieser Methode...wie man genau auf die zugreifen sollte in dieser Vorgabe bleibt mir jedoch schleierhaft. Logisch macht es vielleicht Sinn; programmiertechnisch ist das aber absoluter Mist.

Und so ähnlich sehen fast immer die Aufgaben der IHK aus. Man sitzt erst einmal ewig da um überhaupt zu kapieren, was jetzt wirklich gefordert ist.

Das hat auch nichts mehr mit "Paradedisziplin" von Anwendungsentwicklern zu tun...

Link zu diesem Kommentar
Auf anderen Seiten teilen

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
Auf dieses Thema antworten...

×   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...