Zum Inhalt springen

Dachschraegenkind

Mitglieder
  • Gesamte Inhalte

    8
  • Benutzer seit

  • Letzter Besuch

Reputationsaktivitäten

  1. Like
    Dachschraegenkind reagierte auf pr0gg3r in FIAE GA1 - Wie lernen   
    Ich hab einigen Kommilitonen Nachhilfe in Softwareentwicklung gegeben und versuche einfach mal, meine Erfahrungen zu schildern. Erst ein mal, muss man bei der Softwareentwicklung anders "denken" als im "normalen Leben", bzw. anders, als man es gewohnt ist. Bis sich Denkmuster verfestigen, braucht es - keine Frage - immer eine gewisse Zeit. Dennoch scheitern ganz viele nicht unbedingt daran, dass sie nicht auf eine Lösung kommen, sondern daran, dass sie die Grundlagen nicht beherrschen.
    Zum Beispiel Syntaxfehler. Wenn jemand 20 Minuten Code schreibt, dann nochmal 20 Minuten braucht um Syntaxfehler zu schreiben, ist das einfach kontraproduktiv. Also was hindert einen daran, einfach öfter mal zu kompilieren? Das Programm muss ja nicht in einem Rutsch fertig geschrieben sein, sondern wird sehr bruchstückmäßig geschrieben. Du hast geschrieben, dass du Probleme hast, sobald mehr als zwei Schleifen geschrieben werden müssen. Aber denke doch noch gar nicht an das Endergebnis, sondern immer nur an den ersten Schritt, das reicht bei den meisten Prüfungsaufgaben aus. Zum Beispiel eine ganz einfache Aufgabe, lege Schüler und Noten an (vorzugsweise Objektorientiert) und gebe diese aus, markiere alle Schüler die schlechter als 4 sind mit durchgefallen. Dann gebe einfach alle in einer Schleife aus. Wunderbar, es funktioniert (Erfolgserlebnis!). Dann mach zusätzlich ne If-Verknüpfung rein, ob die Noten schlechter sind. Ah cool, funktioniert auch! Und schon ist das alles kein Hexenwerk, sondern einfachste Logik, Step by Step. Dann gibts vielleicht noch die Zusatzaufgabe: zähle wie viele durchfallen. Ah, dann definiert man noch nen Integer, zählt den in dem If hoch und fertig. Was ich mit diesem ganz einfachen Beispiel sagen möchte: Softwareentwicklung reduziert "Problemstellungen" auf viele einzelne Bruchstücke, die anfangs noch gar nicht ineinander greifen müssen, sondern nach und nach, step by step implementiert werden. Und dann entwickelt sich auch das notwendige denken: Aufgaben in Teilaufgaben zerlegen und diese nach und nach zu programmieren. Dann hat man auch Erfolgserlebnisse und es macht auf einmal Spaß. Dabei auch mit einfachen Aufgaben (wie mein Beispiel) beginnen und nicht gleich mit den schwierigsten.
    Was ich auf oft sehe ist, dass viele einfach keine Grundlagen aus dem FF schreiben können. Wenn jemand eine Schleife nicht hinbekommt, dann wirds mit der Programmierung schwierig. Also lasse ich meine Nachhilfenehmer 10, 20, 30 Schleifen schreiben, damit sich das Konstrukt in ihr Gehirn "einbrennt". Und dann bekommen sie plötzlich eine Aufgabe von mir, wo sie die Schleife rückwärts laufen lassen müssen oder eine Anzahl von Listenobjekten durchläuft oder was auch immer und schon haben sie wieder die Probleme, auf die Idee zu kommen, dass man eine Schleife nicht nur hoch zählen, sondern auch runter zählen kann, oder nicht nur i++ sondern auch i+2 oder i+x machen kann. Und dann merken sie mit der Zeit, dass Programmieren wie Lego ist, dass man vieles mit vielem Kombinieren kann und mit der Zeit, entwickeln sie das notwendige denken. Meisten machen tippen sie dann planlos drauf los, ohne vorher zu überlegen, ich lasse sie dann oft einfach machen und frage sie dann, was sie falsch gemacht haben. Dann werde ich wie ein Auto angeschaut und dann sage ich halt so Sachen wie: "was hindert dich daran, die Schleife rückwerts zählen zu lassen?". Dann fragen sie verdutzt: "das geht?!" und lasse sie überlegen, wie das gehen könnte. End klar, wieso soll das nicht gehen, man selbst ist der "Boss" über die Maschine und die macht was man will, wenn man weiß wie man es ihr sagen (programmieren) muss. Und schon ist alles kein Hexenwerk, sondern ganz logisch.
    Also meine Tipps:
    - Mit einfachen Aufgaben anfangen, nicht die Aufgabe als ganzen sehen sondern Stück für Stück erweitern
    - Grundlagen beherrschen (Syntax, Datentypen, Schleifen, Verzweigungen, Ein-/Ausgabe, ...)
    - Üben, Üben, Üben
    - Und das wichtigste: Einfach mal ausprobieren. Was passiert, wenn man hier und da was ändert? Ah cool, so reagiert der Computer dann. So bauen sich auch Erfahrungswerte auf. 
    - Aufgaben selber erweitern. (Zurück zum Beispiel: man kann ja nicht nur zählen, wie viele durchfallen, sondern auch, wie viele es bestanden haben und den Durchschnitt der Note und vieles, vieles mehr).
    - Nicht so streng mit sich selbst sein. Es gibt immer wieder Situationen, wo dann Erfahrenere (oder die Musterlösung!!!) sagen, das programmiert man eher so oder so. Das demotiviert! Diese mögen auch recht haben (dass es auch anders geht), aber schon alleine auf den Richtigen Weg zu kommen ist eine respektable Lösung, für jemanden der kaum Programmiererfahrung hat. Ich zumindest bin bei meinen Nachhilfeschülern immer ganz stolz, wenn sie etwas umständlich aber funktionsfähig hinbekommen, weil sie dann "nicht falsch gedacht" haben. Und dann kann man sie immer in die Richtung "stupsen", wie es noch besser (oder eher schöner) geht, zum Beispiel wenn sie 10 If-Else hintereinander basteln. Und beim nächsten mal sehen sie selber, dass ein Switch-Case geeigneter wäre. Also verlange nicht, dass dein Code so aussieht wie die Musterlösung, funktionieren muss er
  2. Like
    Dachschraegenkind reagierte auf Wuwu in FIAE GA1 - Wie lernen   
    http://www.amazon.de/Algorithmen-Pearson-Studium-Robert-Sedgewick/dp/3827370329
    Ich fand den nicht schlecht, deckt viele Grundlagen ab. Zusatzlektuere: http://www.amazon.de/Design-Patterns-Freeman-Author-Paperback/dp/B006KL67FK
  3. Like
    Dachschraegenkind reagierte auf Blechdach in FIAE GA1 - Wie lernen   
    Ich wollte auch nicht ausdrücken, das man so schnell wirklich programmieren lernt, sondern eher lernt diesen speziellen Aufgabentyp innerhalb eines Monats erlernt. Aber du hast schon irgendwo recht, ich denke ich unterschätze den Aufwand bzw. das nötige Know-How dafür.
    Wie @Dachschraegenkind schon angesprochen hat, gibt es aber öfters 2 Aufgaben von diesem Typ, wenn man dann nur eine streichen kann, wird das natürlich ein Problem.
     
    Vielleicht hilft dir ein Online-Kurs, bei dem man ein paar Programmiergrundkenntnisse lernt, weiter? https://www.codecademy.com/learn/learn-java

    Die Grundfunktionen wie Schleifen und Variablen lassen sich ja schnell lernen, das umsetzen in Algorithmen wird trotzdem noch schwierig werden, ich wünsch dir auf jeden Fall viel Glück!
  4. Like
    Dachschraegenkind reagierte auf stefan.macke in FIAE GA1 - Wie lernen   
    Das sehe ich etwas anders. Eine Programmiersprache kannst du in kurzer Zeit lernen, zu programmieren nicht. Genau das ist die Aufgabe der dreijährigen Ausbildung. Die richtige Denk- und Herangehensweise für die Problemlösung ist die zentrale Fähigkeit eines Anwendungsentwicklers. Die Sprache ist nur ein Mittel zu Zweck.
    Das hilft dir allerdings jetzt auch nicht weiter. Daher schlage ich vor, du versuchst so viele Probleme wie möglich für die Prüfung zu lösen. Und zwar nicht auf dem Papier, sondern in einer echten Sprache. Meiner Meinung nach kann man sich nicht durch stumpfes Lernen auf die Algorithmus-Aufgaben vorbereiten. Denn es geht hier nicht um Auswendiglernen, sondern um die Anwendung des Wissens.
    Allerdings halte ich es für unmöglich, das in einem Monat hinzubekommen. Daher ist eine alternative Empfehlung: Streich die Programmieraufgaben (die ohnehin sehr viel Zeit kosten) gedanklich und fokussiere dich auf die Dinge, die du tatsächlich auswendig lernen kannst. Es gibt noch so viele andere Themen, die du können musst (z.B. UML, Datenbanken, SQL, Projektmanagement). Die solltest du nicht zugunsten der Programmierung vernachlässigen!

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