Überfordert mit Projekt?



  • Das Erlernen des Umganges mit großen Projekten ist ja auch nicht Primärziel des Informatikunterrichtes.



  • Marc++us schrieb:

    Also gerade im Industriebereich dauert das sehr lange, bis das wirklich durchsickert. Durch den enormen Zeitdruck entscheidet man sich eben oft für eine sicher funktionierende aber unelegante Lösung.

    Klein anfangen hätte ich mir auch gewünscht. Aber in der Realität ist das doch nie der Fall. Ich hab noch nie was in C++ gemacht und muß es jetzt trotzdem hinkriegen. Graphische Oberfläche + Oracle + Windows & Mac. Software eines Drittherstellers einbinden, der ein gräßliches Handbuch mitliefert...
    Ab ins kalte Wasser, effektiv ist das sicher nicht, aber normal.
    Ich beneide unseren Azubi, der in der Schule sitzt und sich berieseln läßt. Und frage mich dann gleichzeitig, was die dort eigentlich machen, wenn ich nach vier Wochen C++ mehr hinkriege als er nach einem Jahr?
    Ich denke, Leute mit dem nötigen Biß sollten gleich ein größeres Projekt anfangen. Was Sinnvolles, das einem auch das Gefühl gibt, nicht seine Zeit zu verschwenden.



  • @volkard:
    Witzig, aber leider absolut zutreffend. 😃

    Also ich jage die Azubis auch sofort ins kalte Wasser.
    Relative anspruchsvolle Aufgaben, enges Zeitfenster und verlange viel Eigeninitiative und Verantwortungsgefühl.
    Gerade das erste Lehrjahr schafft selten mehr als 20 Klassen, ohne das die Struktur hoffnungslos zusammenfällt.
    Wenn sie dann Alles in Klumpen gecodet haben, fustriert und enttäuscht sind, dann sind Sie erst bereit für die ersten wichtigen Lektionen ... 😉



  • Vieleicht sag ich mal als Azubi FI-AE was dazu, ich bin zwar etwas ungeeignet, da ich schon mit 11 mit BASIC angefangen hab,
    aber ich habe durch die Berufsschule einen Eindruck davon, was Azubis heut so 'können'/'können müssen'.
    Wir haben 6 Fi-AE bei uns in der Klasse davon:
    - einer proggt seit er keine Windeln mehr trägt in C/C++, Delphi und ASM und das alles extrem gut (ist Intro-Coder).
    - einer (ich) proggt seit so 2 Jahren gelegentlich in C/C++ und kann so das meiste was der Inhalt der typischen C++ Grundlagen Bücher ist,
    lieber programmiere ich aber in VisualBasic ( seit 5 Jahren und auch schon wirklich große Projekte), weil man dan nur ein Bruchteil der Entwicklungszeit hat
    - drei kannten vor ihrer Ausbildung C/C++ nur vom Hörensagen und generell keine Programmiersprachen

    Das erste Jahr haben wie jetzt hinter uns und nach wöchentlich 2 STunden C++ Schul-Unterricht sind wir jetzt grad mal bei Funktionen!! Mit anderen Worten: Es ist ein Witz! Könnt man grad weglassen...
    Was ich in der Firma machen lässt sich grob so umschreiben: VBA-Makros für Excel programmieren, Support und ab und an mal ein C++ Projekt über 2 Wochen (Importbiblitheken für Scansoftware, Tools für Barcodedruck, Druckdatenstromaufbereitung ). Darauf, dass meine eigene Weiterbildung dabei nicht zu kurz kommt, muss ich selber achten: Wenn ich mal Zeit hab lern ich die Tiefen von C++ oder WinApi etwas besser kennen, lerne mich mit .NET anfreunden oder bastel ein paar Tools für Steganografie, Serverüberwachung, Teammanagement oder irgendwelchen Systemtools rum. Am liebsten würde ich ja an meinen 3D-Games rumbasteln, aber das wäre zu auffällig. 😃



  • illuminator schrieb:

    Mit anderen Worten: Es ist ein Witz! Könnt man grad weglassen...

    Den Eindruck hab ich auch. Aber das ist doch echt schlimm 😡 !
    Unsere Studenten sagen mir allerdings auch, daß sie richtiges Programmieren beim Studium nicht lernen, sondern eher allgemeine Konzepte der Softwareentwicklung. Ist ja sicher auch ganz nett, nur würde mich mal interessieren, wo man denn nun richtig vertieft(!) programmieren lernt. Sind das alles selfmade-"Freaks", die in irgendwelchen Foren meine Anfänger-Fragen beantworten?



  • Bini schrieb:

    Ist ja sicher auch ganz nett, nur würde mich mal interessieren, wo man denn nun richtig vertieft(!) programmieren lernt.

    In der Praxis.

    Ein SW-Studium ist m.E. dazu da, gewisse Techniken und Grundmittel bezubringen. Designpattern, etc. Programmieren selber allerdings kannst du in keiner Schule lernen. Das hat viel mit Erfahrung zu tun. Es gibt auch exakt so viele Vorgehensweisen wies Programmierer gibt. Die Shcule kann dir nur ein paar Vorgehensweisen aufzeigen oder dir helfen deine eigene Vorgehensweise zu finden.

    -junix



  • Ah, was ich vergessen habe: Versteift euch nicht zusehr auf eine Sprache. Programmieren kann man mit jeder Sprache. Und man kann mit jeder Sprache jedes Problem Lösen. Es ist einfach eine Frage des Aufwands.

    Betrachtet die Sprache als Werkzeug. Und wer würde mit einem Bolzenschneider einen Faden durchtrennen?

    @illuminator: Du magst VB lieber wegen der schnelleren Fortschritte? Das muss ich doch noch kurz demoniteren:
    Wieso machst du schnellere Fortschritte? Wegen des Frameworks. Hat das Framework was mit VB zu tun? Nein.
    Kennst du zum Beispiel den C++ Builder (VCL) bzw. Delphi (VCL)? oder das "neue" C#-Framework? Alle haben ebenfalls den Gedanken von Rapid Application Development implementiert und das Framework entsprechend aufgebaut. Die Fortschritte sind vermutlich gleich gross wie mit VB. Nur hald mit anderer Syntax.

    -junix



  • Pah, die Schule... die wollen uns da alle zu einem Einheitsbrei aus DIN-Norm Programmiern machen. Wir dürfen nicht mal Statements wie "i++" oder "i+=2" verwenden! Entspräche nicht der DIN-Norm für C++ Programmierung, sei zu unverständlich. So ein Quark! Und dem Stil gehts weiter, z.B. dass es nur ein Befehl pro Zeile geben soll, das "i=4;j=5;" wäre nicht erlaubt!
    Oder sowas ist auch verboten:

    if(foo2=GetBlaBla(foo))
    

    stattdessen solls so sein

    foo2 = GetBlaBla(foo);
    if (foo2 != NULL) // man beachte auch die Leerzeichen
    

    In einer Klausur sollen das alles "Fehler" sein...
    An lauter so bescheuerte Regeln sollen wir uns halten.
    Davon gibts noch mehr, die merk ich mir aber alle nicht, denn programmieren ist für mich auch etwas Individuelles, wo jeder seinen Stil finden muss.



  • @junix:

    Du magst VB lieber wegen der schnelleren Fortschritte?

    Wo hab ich das denn geschrieben? Da steht:

    lieber programmiere ich aber in VisualBasic ( seit 5 Jahren und auch schon wirklich große Projekte), weil man dan nur ein Bruchteil der Entwicklungszeit hat

    und das hat z.B. damit zu tun, das ich mich nicht mit seltsamen Fehlern oder kompletten Programmabstürzen rumärgern muss, sondern oft schon vor der Kompilierung die Zeile mit dem Fehler markiert bekomme, samt einer immer voll aussagekräftigen Fehlermeldung. Wenn ich irgendwo in C eine Klammer vergesse, dann bekomme ich ne Meldung ala "unerwartetes Dateiende". Wenn ich VB einen Arrayindex hab der überläuft, dann bekomm ich das mitgeteilt und keine Accessviolation die ich erst noch suchen muss, wenn das programm nicht sogar nur fehlerhaft weiterläuft.
    Da Lob ich mir das Debugging in VB.



  • illuminator schrieb:

    An lauter so bescheuerte Regeln sollen wir uns halten!

    Die Regel wegen der separaten Prüfung ist doch gar nicht bescheuert sondern macht durchaus sinn... Es macht den Code mit einem Schlag lesbarer und das Debugging vereinfacht sich ebenfalls.

    Auch dass man nicht zwei Statements auf die selbe zeile schreiben sollte macht absolut sinn (s.o. gleiche Begründung)

    illuminator schrieb:

    [...]denn programmieren ist für mich auch etwas Individuelles, wo jeder seinen Stil finden muss.

    Aber bevor man seinen eigen stil finden kann, muss man mal einen Stil haben von dem man ausgehen kann. Vielleicht sind gewisse Regeln die dir zunächst stupide erscheinen durchaus sinnvoll. Das merkt man aber erst, nachdem man einige auch grössere projekte durchgezogen hat und dann am 1. wieder rumfummeln sollte. Aber über stile kann man (und wurde hier auch genug) streiten...

    Was ich sehe, ist, dass ihr die Schule falsch einordnet. Es ist nichtmehr wie früher wo einem alles hingetischt wird. In dieser Schulform bekommt man einen Grundstock vermittelt, den man beherrschen sollte. Das ist aber nicht alles. Zu diesem Grundstock muss man noch vieles in eigeninitiative erlernen und erfahrungen machen.

    -junix



  • Und man kann mit jeder Sprache jedes Problem Lösen.

    echt??



  • illuminator schrieb:

    Wo hab ich das denn geschrieben?

    Selbstverständlich meinte ich die Projektfortschritte... war nicht klar formuliert...

    illuminator schrieb:

    und das hat z.B. damit zu tun, das ich mich nicht mit seltsamen Fehlern oder kompletten Programmabstürzen rumärgern muss, sondern oft schon vor der Kompilierung die Zeile mit dem Fehler markiert bekomme, samt einer immer voll aussagekräftigen Fehlermeldung.

    Dafür kann aber die Sprache nix, das ist ne Frage des Compilers...

    illuminator schrieb:

    Wenn ich VB einen Arrayindex hab der überläuft, dann bekomm ich das mitgeteilt und keine Accessviolation die ich erst noch suchen muss, wenn das programm nicht sogar nur fehlerhaft weiterläuft.

    Reden wir nun von C oder C++? In C++ kommts ganz drauf an. Du hast in C++ die Möglichkeit, Containerklassen als Arrays zu verwenden. Diese werfen bei Indexüberschreitung eine Exception (keine AccessVoilation). Während du aber in VB gezwungen bist diese (langsamere) Abstraktion eines Arrays zu benutzen, hast du in Cpp die Möglichkeit auch gewöhnliche Arrays zu verwenden. Allerdings musst du dir dann bewusst sein, dass diese mit Vorsicht und vielleicht noch 1-2 Code-Reviews zu behandlen hast. Es hält dich niemand davon ab, ausschliesslich komplexe Typen zu verwenden. Geht einfach auf Kosten der Geschwindigkeit.

    Aber bevor das hier zu einem Sprach-Krieg ausbricht: Wie ich oben schon sagte: Die Sprache ist ein Werkzeug. Jede Sprache hat ihre Stärken und ihre Schwächen. Aber keine Sprache kann vor der Dumm-/Faulheit des Programmierers schützen. Die Explosion der ersten Ariane 5 die wegen einer Nachlässigkeit des Programmieres erfolgt ist beweist dies. Denn die Steuerung war in einer der sichersten Sprache codiert dies gibt. (Ada)

    illuminator schrieb:

    Da Lob ich mir das Debugging in VB.

    Das Debugging hat wiederum nix mit der Sprache zu tun. Und wie ich oben schon erwähnt habe. Alles eine Frage des verwendeten Frameworks. Ich krieg in der VCL auch nette Fehlermeldungen wenn ich Arrayindexe überschreite... und die VCL ist kein VB... Nur bin ich nicht wie in VB gezwungen dieses abstrakte Framework zu benutzen.

    -junix



  • ChrisM schrieb:

    Sollte der Azubi nicht schon programmieren können, bevor er aufgenommen wird (Informatikunterricht)? 😮
    Dann könnt ich ja jetzt theoretisch auch schon als Informatiker anfangen.
    ChrisM

    lol ? ausbildungen sind doch zum lernen .. Außerdem sind die Lehrkräfte landesweit in Gymnasien und Realschulen so bescheiden geschult .. das keiner von denen einem sinnvollen info unterricht bieten kann ..

    Welcher gute Informatiker geht scho so lowlevel Unterrichten .. wenn er in der Industrie oder Uni das doppelte mit der hälfte stress verdienen kann ..

    so long z.T. Informatikunterricht an Schulen



  • null schrieb:

    Und man kann mit jeder Sprache jedes Problem Lösen.

    echt??

    Wenn schon zitieren, dann bitte alles was zum Kontext gehört:

    man kann mit jeder Sprache jedes Problem Lösen. Es ist einfach eine Frage des Aufwands.

    Was ich hoffentlich nicht erwähnen muss ist, dass es sich bei dem Term "jedes Probelm" ausschliesslich um Softwaretechnische Probleme handelt (o;

    -junix



  • junix schrieb:

    null schrieb:

    Und man kann mit jeder Sprache jedes Problem Lösen.

    echt??

    Wenn schon zitieren, dann bitte alles was zum Kontext gehört:

    man kann mit jeder Sprache jedes Problem Lösen. Es ist einfach eine Frage des Aufwands.

    Damit er ganz zufrieden ist und keine weiteren Mißverständnisse auftreten, sollten wir vielleicht formalistisch richtig noch hinzufügen, dass Du mit jeder Sprache, jede vollständige Programmiersprache meinst. 😉

    Ciao
    shoat



  • dazu kann man nur sagen was man immer in #c++ so liest nipnagger



  • junix schrieb:

    Bini schrieb:

    Ist ja sicher auch ganz nett, nur würde mich mal interessieren, wo man denn nun richtig vertieft(!) programmieren lernt.

    In der Praxis.

    Das mach ich ja, seit Jahren 😉 Aber es ist nicht immer der effizienteste Weg 😞

    illuminator schrieb:

    denn programmieren ist für mich auch etwas Individuelles, wo jeder seinen Stil finden muss.

    Nun ja. Dazu kann ich nur sagen, in meiner Firma wird der "Stil" per Arbeitsanweisung vorgeschrieben. Wenn Du dann so "individuell" bist, daß Du Dich den Sitten nicht mehr anpassen kannst, bist Du nicht teamfähig. Schlecht bei der momentanen Arbeitsmarktlage... Wenn Du supergut bist und trotzdem einen Job hast, ist es schlecht für Deine Kollegen, die jedesmal fluchen, wenn sie in dem individuellen Quellcode was reparieren müssen, während der Individualist gerade im Urlaub ist 😃 ...



  • @illuminator
    Das sehe ich genau wie Bini, in jeder vernünftigen Firma gibt es eine
    Anweisung wie der Code auszusehen hat. Wenn man sich daran nicht halten kann bekommt man immer Ärger mit seinen Kollegen.

    Was soll es bringen möglichst kompakten Code zu basteln, den man dann aber nicht mehr lesen kann. Manchmal ist mehr halt besser und der Compiler optimiert sowieso.

    @Azubis / Ausbilder:
    Ich versteh es nicht ganz, warum brauchen zukünftige Azubis schon Grundlagen / tieferes Wissen in C++. Ich kann nur für meinen Teil sprechen das ich in meiner Ausbildung als Elektroniker alle Grundlagen nochmal in de Ausbildung gelernt hat. Dort hat keiner erwartet das wir schon Kondenstoren kennen oder berechnen können. Ich denke das Ohmsche Gesetz ist schon Grundlage des Physik Unterichts.

    Also sollten doch wohl auch Azubis in Informatik auch noch die Grundlagen in der Ausbildung lernen.

    @All:
    Wer fängt den bitte ohne Vorkenntnisse bitteschön ein größeres Projekt an, das möchte ich mal sehen. Wir haben in der Grundschule auch noch nicht Romane geschrieben, wir haben mal mit den Buchstaben angefangen. Seltsame herangehensweise. Kenn ich nur von brutalen Schwimmlehreren. Einfach ins Wasser werfen und gucken.

    Also bei uns im FH-TI Studium haben wir erstmal die Syntax kennengelernt, dann haben wir damit recht einfache Programme geschrieben und haben uns dann an allgemeine Algorithmen, wie Suchen/Sortieren und halt Datenstrukturen gemacht.
    Irgendwann im 5. Semester haben wir dann gerlent wie man Projekte managt. Dies ging natürlich auch nicht sehr tief.

    Eine Bekannte hat Informatik and er Uni studiert, die brauchte nicht mal einen Computer zuhause, die haben nämlich gar nicht programmiert. Nur hergeleitet was lösbar ist und was nicht. Also gar keine Praxis.

    Ein Kumpel von mir macht gerade seinen Techniker TI. Die haben mal die einfachsten C Grundlagen und der Lehrer, ein Physiker, kaut mit denen Such und Sortieralgorithmen durch, nur das die hälfte der Klasse das nicht versteht.
    zur Zeit ist er ein wenig frustiert.

    Mein Fazit man kann programmieren nicht indem lernen das vorn ein Lehrer an die Tafel die Sprache schreibt, man muss es jeden Tag üben, wie halt sprechen und schreiben. Und wenn man nur mit sich selbst spricht lernt man sicherlich eine sehr eigene Sprache die nicht jeder versteht. Muss man aber noch mit anderen Menschen kommunizieren, dann muss man sich einfach an einige Regeln halten.

    Zur Zeit sitze ich an meiner Diplomarbeit und hasse mein Studium weil mir die Grundlagen zur Windows Programmieren fehlen. Aber sonst gehts mir gut.

    Gruß Heiko



  • HeikoKortlang schrieb:

    @Azubis / Ausbilder:
    Ich versteh es nicht ganz, warum brauchen zukünftige Azubis schon Grundlagen / tieferes Wissen in C++. Ich kann nur für meinen Teil sprechen das ich in meiner Ausbildung als Elektroniker alle Grundlagen nochmal in de Ausbildung gelernt hat. Dort hat keiner erwartet das wir schon Kondenstoren kennen oder berechnen können. Ich denke das Ohmsche Gesetz ist schon Grundlage des Physik Unterichts.

    Also sollten doch wohl auch Azubis in Informatik auch noch die Grundlagen in der Ausbildung lernen.

    Damit hast Du sicherlich Recht, aber irgendwie funktioniert das nicht so richtig... von einem Elektroniker erwartet man das in der Tat nicht, von einem FI schon. Wahrscheinlich deswegen, weil man sich Programmieren selbst beibringen kann und zuhause die Mittel dazu hat, ein Elektroniker nicht oder zumindest nicht vergleichbar.

    Auf der anderen Seite ist es so, daß praktisch jeder FI-Azubi bereits zu Beginn mehr weiß als in vergleichbarer Situation in anderen Berufen - unser FI/AE kommt hier bereits mit fertigen PHP und mySQL-Kenntnissen an und mußte gerade mal die C++-spezifischen Besonderheiten mit Zeigern verstehen, danach hat er in der 2. Woche losgelegt.

    Das verzerrt natürlich die Ausbildung gewaltig, wenn ein FI/AE bereits im 2. Jahr produktiv arbeitet, da ein Azubi in anderen Berufen das nicht in gleichem Maße zu tun kann.

    Nur wie kommt man raus? Würden wir bei den Grundlagen beginnen, wäre es Langeweile pur. Setzen wir aber diese Kenntnisse voraus, bedeutet dies daß man nur die Leute als Zielgruppe für FI-Berufe hat, die bereits seit Jahren am PC sitzen.

    Eine perfekte Lösung dafür weiß ich auch nicht.



  • Ja das ist mir schon klar, bei uns im Studium war es so das die Leute die nicht eine gewisse Erfarung hatten irgendwann nicht mehr gekommen sind, lag aber halt nicht daran das wir nicht die Grundlagen durchgekaut haben.

    Aber auf der anderen Seite weiss ich auch nicht wieviele eine Ausbildung starten wollen mit Null Erfahrung. Wahrscheinlich nicht viele.

    Ich denke man sollte in der Ausbildung nicht soviel auf Programmierung im speziellen achten, mehr halt auf die Grundlagen und die richtige Herangehensweise an Probleme und damit dann auch an größere Projekte.

    Aber zum Glück bin ich kein Ausbilder.

    Und falls man nicht mehr weiter weiss wie man Coden soll:
    http://www.mitp.de/imperia/md/content/vmi/29842/2.pdf 🕶


Anmelden zum Antworten