Ist Programmieren doch nichts für mich ? :S



  • Eigentlich erfülle ich die besten Voraussetzungen: Ich habe in der Schule
    Lehrer und privat meine Freunde, die mir beim programmieren helfen**,**
    ein gutes Buch von Richard Kaiser, das mir alles verständlich erklärt**,** manchmal
    auch viel Zeit und was natürlich nicht fehlen darf: Interesse^^

    Doch irgendwie habe ich immer noch Probleme, selber auf eine Lösung zu kommen.
    Ich sitze Stunden lang vorm PC, frage auch mal hier nach...doch das alles nützt
    mir irgendwie nichts. Ich habe einfach kein Talent, was Self-Made-Lösung angeht.

    Es gibt ja Typen, die brauchen nicht mal paar Minuten und schwups haben
    Sie die Lösung für ein Problem.
    Wie habt ihr das Problem gelöst, falls ihr auch mal in so einer "Sackgasse"
    gesteckt habt ???
    (Ich bin so verzweifelt, dass mir alles recht ist :D)

    (Sprache: C++ (Leider auch die einzige, in meinem Alter (21) können die meisten
    wahrscheinlich schon ein Marktreifes Programm entwickeln :())



  • Martin!!Loos schrieb:

    Wie habt ihr das Problem gelöst, falls ihr auch mal in so einer "Sackgasse" gesteckt habt ???

    Normalerweise muß ich nicht warten. Wenn mir was einfällt oder gegeben wird, was man machen könnte, weiß ich meistens instant, wie es (im Prinzig) geht. Oder, daß es nicht gehen kann, und der Aufraggeber sich im Zielkonflikt mal positionieren muß.
    Und wenn nicht, dann habe ich das Problem vertagt. Bei der nächsten Hirnlos-Tätigkeit wie Duschen, Autofahren, Einkaufen, Pillawa-Quiz-Schauen, ist mir die Lösung dann eingefallen.
    Und wenn's noch schwieriger wird, lese ich einen Tag lang über ähnliche Probleme.
    Und wenn das auch nicht klappt, frage ich hier nach.



  • Alles Übungssache. Ich hatte anfänglich die selben Probleme wie du auch. Setz dich hin und schreib ein paar Programme, lass dir helfen, wenn du nicht weiterkommst. Konzentrier dich (keine Musik o.ä., das lenkt ab!) und vor allem: Wiederhole das gelernte. Gerade C++ ist eine Sprache, die unglaublich viel Ausdauer benötigt, um gelernt zu werden und bei sehr vielen, die damit anfangen für Frust sorgt. Vielleicht bist du mit einer anderen Sprache besser beraten.



  • @Martin!!Loos
    Von welcher Art Probleme redest du denn?



  • Was besonders am Anfang hilft: überlege, wie du das Problem mit Stift und Papier lösen kannst. Dazu brauchst du den Rechner erstmal gar nicht. Mache dabei die Lösungsbeschreibung immer detaillierter, bis du die einzelnen Schritte in Anweisungen übersetzen kannst. Das fördert zwar einen imperativen Stil, statt eines objektorientierten, das ist aber nicht so wichtig. Und der Rest kommt dann mit der Erfahrung - irgendwann wird der Quelltext zu deinem Papier, dann schreibst du die Lösungsschritte direkt in C++.



  • [at] Martin!!Loos

    Ja da hast Du schon Recht, der ein hat's der andere nicht!
    Aber grundsätzlich hat jeder Probleme am Anfang denke ich. Vieles kommt mit der Zeit... Bücher lesen zum Thema, sich vertiefen in die Materie... und mit der Zeit entwickelst Du Dich von alleine. Und wenn Du wirklich willst, schaffst Du das schon.

    Bei mir ist es fast gleich wie bei Volkard...

    PS:Kannst du denn ein konkretes Bsp. nennen bei dem Du schon-mal Probleme hastest es zu implementieren (designen)?



  • -lowbyte- schrieb:

    PS:Kannst du denn ein konkretes Bsp. nennen bei dem Du schon-mal Probleme hastest es zu implementieren (designen)?

    Ja Probleme hatte ich schon mit Primzahlen ausgeben, Hornerschema ausrechnen,
    und und 😞

    Natürlich kann ich Stift und Papier benutzen wie es ipsec mir empfohlen hat (
    erstmal danke an ipsec^^), aber es doch schon ein bisschen demotivierend, wenn
    man noch mit Stift und Papier hängt, während über die Hälfte in der Klasse,
    die Lösung in den Compiler rein geklatscht hat 😃



  • volkard schrieb:

    Und wenn nicht, dann habe ich das Problem vertagt. Bei der nächsten Hirnlos-Tätigkeit wie Duschen, Autofahren, Einkaufen, Pillawa-Quiz-Schauen, ist mir die Lösung dann eingefallen.

    Duschen ftw. Da und beim Aufwachen morgens fällt mir immer am meisten ein. Vielleicht sollte man auf der Arbeit auch mal zwischendurch duschen und schlafen. 😃
    Scheint ja aber typisch für *NT* (MBTI) zu sein. 🙂



  • Martin!!Loos schrieb:

    Ja Probleme hatte ich schon mit Primzahlen ausgeben, Hornerschema ausrechnen,
    und und 😞

    Das hört sich eher danach an, als ob nicht mangelnde Kenntnisse der Programmiersprache das Problem sind, sondern nicht vorhandene Kenntnisse über mathematische Algorithmen.

    Algorithmen, z.B. für die Primzahlenberechnung, wird man in den meisten Fällen wohl nachlesen müssen.

    Bei der Primzahlenberechnung z.B. kann man wohl mit mathematischer Durchschnittsintelligenz auf die Moduloberechnung kommen. Das Sieb des Erathostenes oder Atkins selber zu entwickeln zu wollen, ist viel zu schwierig und deshalb zu langwierig.
    Da haben selbst hochintelligente Mathematiker teilweise Jahre bzw. Jahrzehnte für gebraucht.


  • Mod

    Übung. Selber denken macht schlau. Aber nicht immer.

    Man kann auch hilflos dastehen üben. Muß aber nicht sein.

    Schwierige Sachen mache ich immer mit Papier und Bleistift. Weil: grob skizzieren kann man am Rechner nicht. Und den Kasus Knacksus findet man auch nicht unbedingt am Rechner. Meistens ist sind die problematischen Bereiche nur ganz kleine Stellen Code, für die braucht man letztendlich nicht viel Papier, aber für die Hinarbeitung dahin schon 😉
    Manchmal muß man sich wirklich Zeit nehmen, eine Lösung zu erarbeiten. Oft klappt das gar nicht auf die Schnelle. Wie bei volkard beschrieben, brauchen gewisse Lösungsideen ihre Zeit und ihre Gelegenheit, zum Vorschein zu kommen.
    Oft ist der erste Ansatz ein einfaches Modell, oder eine Analogie oder ein Nachschlagebuch. Aber man wenn man einer Lösung Zeit gibt, kommt sie meist von ganz allein. Dazu gehört auch das Loslassen.

    Das Sieb des Eratosthenes kann man auch auf Papier malen, und versteht sofort, was los ist. Einfach ein Zahlengitter mit Zahlen bis 256 aufmalen und alle nicht Prims rausstreichen. Aber auf dem Rechner soll es langsam sein, es gibt sehr viel ausgefeiltere, von Top-Mathematikern erdachte Computerrechen-Siebe, die man einfach übernehmen kann.

    Wenn man allerdings z.B. ein Huffman-Codiermodell auf Papier malt, weiß man z.B. nicht gleich sofort, wie dieser komische Baum umgesetzt werden muß. Aber sowas kann man bei Wiki und Google und Co nachschauen, inklusive fertigen Code dafür. Aber das fördert natürlich nicht unbedingt das Selber Denken. Das Problemlösen fördert es aber doch.

    Dann gibt es noch Teile, die einfach zusammengetragen werden müssen, da braucht man nicht groß nachdenken. Bei Spielen z.B. Grafiken, Sounds, Menübuttons, Balkengrafiken, Dialoge, Story usw.

    Es ist auf jeden Fall hilfreich, ein paar Algorithmen zu kennen,
    (siehe http://www-i1.informatik.rwth-aachen.de/~algorithmus/ )

    Erst Lachen, dann Lernen, dann Abwaschen o.ä ist ein sehr netter Algorithmus.
    Oder: erst einfache Sachen zum Aufwärmen, dann schwierigere Sachen.

    Man kann das Problemlösen und die Vorstellungskraft, die man dazu braucht, sehr gut üben, falls man also ein Problem damit hat: Übung macht den Meister. Womit kann man üben? Mit realen Aufgaben, mit Scherzfragen, alltäglichen Sachen, speziellen Internetseiten für so Zeugs. Vom Einfachen zum Schweren.

    In dem tollen Buch http://www.amazon.de/Zahlenteufel-Kopfkissenbuch-Angst-Mathematik-haben/dp/3423620153/
    sagt der Zahlenteufel zum Heldenkind einen sehr schönen Satz. Auch die größten Zahlen sind nur aus Einsen zusammengesetzt. Wer Angst vor großen Zahlen hat, zählt einfach nur (mit Geduld und Zeit und Ausdauer) 1+1+1+1+1...

    Selber denken macht schlau. Können statt Kaufen.



  • Das wichtigste bei schwierigen Probleme ist eigentlich immer, sie in Teilprobleme zu zerlegen. Dazu ist es nötig, die relevanten Bestandteile des Problems zu analysieren und dann aus all den gesammelten Informationen die Kette von Teilinformationen rauszufiltern, die dir eine Kette von Teillösungsschritten bringt.


Anmelden zum Antworten