Zum Inhalt springen

Hilfe beim Programmieren


r26t01

Empfohlene Beiträge

Hallo zusammen =)

Die etwas älteren Threads haben mir nicht sonderlich viel Aufschluss gegeben. Mein Problem ist, dass ich zwar irgendwie Programmieren kann, die Art und Weise aber nicht schön finde (wenn ihr versteht was ich meine).

Mein Problem ist, dass ich so einigermaßen die Basics des prozeduralen Programmierens kann (wobei da auch Lücken sind) und mich die OOP überfordert. In der Schule können wir meistens in Gruppen arbeiten, so dass immer jmd. eine Lösung weiß oder einen Lösungsweg. Wenn wir es mal nicht fertig haben / nich können, dann sind unsere Klassenbesten immer diejeningen, die ihren Code vorstellen.

Könnt ihr mir Tipps, Links, Bücher, o.ä. nennen, mit denen ich meine Lücken schließen und mein Wissen vertiefen kann? Meistens sitze ich vor Aufgaben und weiß nicht, wie ich anfangen soll. Das ist dann auch das Problem in Klassenarbeiten, daher hab ich leicht Bammel vor der Abschlussprüfung. Solange es theoretische Sachen sind, habe ich volle Punktzahl, wenn es ans Umsetzen geht, dann hapert es wieder.

Vielleicht geht es anderen genauso oder aber jmd. hat die gleichen Erfahrungen gemacht und beherrscht die Programmierung mittlerweile soweit.

Ich persönlich find das für einen FIAE, wie mich, echt arm. Immerhin komm ich ab August ins 3. LJ und da sollte sowas sitzen.

Vielen Dank für eure Tipps und Hilfen vorab.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Solange es theoretische Sachen sind, habe ich volle Punktzahl, wenn es ans Umsetzen geht, dann hapert es wieder.

Was meinst du genau mit "theoretischen Sachen"?

Ansonsten kann ich nur sagen, dass man OOP meiner Meinung nach nicht durch Buecher lernt - irgendwann macht es Klick und du hast es verstanden, so war es zumindest bei mir. Dann machen die ganzen best practices auf einmal Sinn und du verstehst, was dahinter steckt.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Wenn z.B. in den Arbeiten die Fragen kommen ala "Was sind die Vorteile einer Datenverwaltung via DB, anstatt einer Datenverwaltung in einer Datei?", "Nennen Sie die Grundzüge des Call by values/reference", sowas in der Art. Fehlersuche bzw. erklären was ein Quellcode macht, krieg ich auch noch hin. Wenn man aus dem Stand dann aber selbst ein Programm schreiben soll, treten die Probleme ein. Punkte krieg ich da schon für, nur bin ich nie sicher, ob das so richtig ist. Im Unterricht das gleiche.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Zu OOP: Entwerfe und implementiere einfach mal etwas aus der echten Welt. Damit meine ich nicht ein Programm nachzubauen, sondern dir über Gegenstände aus unserer Welt Gedanken zu machen und wie deren Eigenschaften und Funktionen in einem Programm abgebildet werden können. Also Beispielsweise Abstrakte Klasse Fahrzeug, dann davon abgeleitete Klassen. Darin Methoden wie beschleunigen, etc. (Ist glaube ich das Beispiel von SUN für JAVA)

Allgemein: Wie läuft denn das Programmieren bei euch im Betrieb ab?

Und Programmieren lernt man durchs Programmieren. Und wenn du ein Beispiel in der Schule nicht fertig kriegst setz dich daheim hin bis es läuft. Gleichzeitig experimentier rum. Bau in die Beispielprogramme anderes gelerntes ein. Versuche Dinge auf verschiedene Methoden umzusetzen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Allgemein: Wie läuft denn das Programmieren bei euch im Betrieb ab?

Bei uns im Betrieb werden FISIs und FIAEs in allen Abteilungen eingesetzt. In einigen Programmierabteilungen haben wir einen direkten Ansprechpartner und in anderen (wie der momentanen) muss man gucken, wen man fragt oder Google zu Rate ziehen. Meine jetzige Applikation hab ich auch allein mit der Hilfe von Google gemacht (Abteilung: Datenbanken, Sprachen: SQL/ColdFusion), da unser Ausbilder sich zwar mit Linux und DB auskennt, aber nicht mit dem Programmieren an sich.

Also hast du Probleme, Algorithmen in konkreten Code umzusetzen?

Kommt dem Problem ziemlich nahe :)

Wir kriegen z.B. eine Aufgabe und es ist klar, was gefordert ist. Das Programm/Problem wird auch in einzelne Teile untergliedert, nur die Umsetzung klappt nicht. Wann nimmt man wie welches Objekt, Methode, etc.?

Unser Lehrer ist da auch keine große Hilfe, da er selbst nur Hobbyprogrammierer ist und den gleichen Stoff jedes Jahr (bzw. alle 3 Jahre) durchzieht.

Ich wollte mich hier in der Umgebung mal nach einer Art Nachhilfe umgucken. Eine Zeit lang hat uns ein Azubi aus dem LJ über uns geholfen, der hat nun aber auch keine Zeit mehr (Abschlussprüfung, eigene Projekte, etc.)

Bearbeitet von r26t01
Link zu diesem Kommentar
Auf anderen Seiten teilen

Damals auf dem IT-Gym haben wir "C++: Objektorientiertes Programmieren von Anfang an" aus dem rororo Verlag genutzt.

Kann ich sehr empfehlen.

Wenn du allerdings nichts mit C am Hut hast, könnte das irritieren. Das OOP Prinzip und Anwendung ist dort ziemlich gut erklärt. Immer schön mit praktischen Beispielen, außerdem ist afos Tipp auch sehr gut.

MfG,

Marco

Link zu diesem Kommentar
Auf anderen Seiten teilen

Kommt dem Problem ziemlich nahe :)

Es gibt ein ganz bekanntes Buch, das aber sich eher für ein Studium eignet http://www.amazon.de/Algorithmen-Robert-Sedgewick/dp/3827370329/ref=sr_1_3?ie=UTF8&qid=1309434897&sr=8-3

Jede Sprache hat ähnliche Strukturen, Listen, Variablen, Funktionen / Prozeduren etc und mit Hilfe dieser Bausteine muss man dann einen Algorithmus für ein Problem entwickeln z.B. beim Suchen habe ich eine Liste mit Elementen, je nachdem wie diese Liste technisch implementiert ist z.B. Array vs. einfach verketteter Liste muss ich den Algorithmus entsprechend strukturieren. Ein Beispiel, was ich immer in der Nachhilfe mache: "Schreibe ein Programm das zwei Brüche und einen Operator einliest und diese Brüche korrekt anhand des Operators berechnet und einen gekürzten Bruch als Ergebnis liefert". Z.B. 1/2 + 1/2 ist nicht 2/2 sondern 1 etc.

Für diese Aufgabe gibt es je nach Sprache mehrere Lösungen, die durchaus sinnvoll sind. Wichtig ist aber bei dieser Aufgabenstellung, das man sich überlegt was braucht man für Datenstrukturen, wie sehen dann die einzelnen Berechnungsalgorithmen aus und wie erzeugt man das gewünschte Endergebnis.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich kann dir sonst auch noch "Objektorientierte Analyse & Design" aus der "von Kopf bis Fuß"-Reihe empfehlen. Das Buch ist allerdings rein zum Lernen gedacht, als Nachschlagewerk taugt es nicht.

Das Buch erklärt alles anhand von Beispielen und hat viele Übungen zum Selbermachen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich befürchte, dass Dein Problem nicht so ohne weiteres mit einem Haufen Bücher aus der Welt zu schaffen sein wird.

Was Dir fehlt *Ferndiagnose* ist a) Programmierpraxis und B) ein ordentliches Mentoring/Pairprogramming.

Programmieren ist eine Tätigkeit, für die es hilfreich ist, über ein breites Spektrum an theoretischem Wissen zu verfügen - je mehr, desto besser.

Aber das hilft Dir nichts, wenn es darum geht, das Erlernte auch in der Praxis anzuwenden, es tatsächlich umzusetzen. Das, was man in der Schule Transferleistung nennt. Ich erlebe das auch häufiger (bspw.) bei unseren Bacheloranten: Wir haben jedes Semester Leute, die 6 Semester lang Informatik (in irgendeiner Form) studiert haben. Die Leute sind in der Theorie fit. Die können Dir erklären, was ein Singleton ist, was eine Adapterklasse, eine Proxyklasse macht und wie sie funktionieren. Die kennen den Unterschied zwischen Moore- und Mealy-Automaten und weiß der Geier was nicht alles. Wenn es allerdings darum geht, das Gelernte umzusetzen, tatsächlich Factoryklassen zu benutzen, Builderklassen zu benutzen, Proxies zu bauen, Fassadenklassen etc. dann kommt da sehr wenig. Was den Leuten tatsächlich zu fehlen scheint ist Praxis.

Da gibt es zwei Möglichkeiten mehr Praxis zu erlangen:

1) die einfache Methode: Du erhälst ausreichend Gelegenheit, Deine Programmiererfahrungen im Betrieb machen zu können. Das wäre auch gleichzeitig der Idealfall. Ist leider auch bei mir nur bedingt möglich gewesen

2) Du setzt Dich neben der Arbeit hin und programmierst vor Dich hin.

Überlege Dir ein Tool welches Du programmieren willst. Schreib das Programm dazu. Und fange an, das Programm zu verbessern: Variablen sinnvoller zu benennen, Methoden kürzer zu schreiben, trenne zwischen Objekterzeugung und Objektbenutzung, trenne zwischen Command und Queries usw. usf. So wirst Du schrittweise über das ständige korrigieren Deines eigenen Codes immer besser werden.

B) Mentoring/Pairprogramming

Das ist eine viel zu oft unterschätzte und zu wenig praktizierte Art des Programmierens.

Ich habe es leider bisher auch nur an zwei Nachmittagen genießen dürfen (bei 2 Jahren Lehrzeit eigentlich zu wenig); aber es war äußerst produktiv.

Vorallem aus dem Grund: ich selbst konnte, mein Problem und einen möglichen Lösungsweg sehr gut formulieren und mein Peer ist erfahrener Programmierer gewesen, und konnte entsprechend meine Ideen in Code gießen. Ich hatte Ideen, die mein Peer nicht hatte, dafür fehlte mir die Erfahrung im Programmieren. So ergänzt haben wir sehr intensiv und effektiv arbeiten können.

Ich persönlich find das für einen FIAE, wie mich, echt arm.

Quatsch. Das zeigt lediglich, dass da noch ein bisschen Arbeit auf Dich wartet ;)

Unser Lehrer ist da auch keine große Hilfe, da er selbst nur Hobbyprogrammierer ist und den gleichen Stoff jedes Jahr (bzw. alle 3 Jahre) durchzieht.

Unser Lehrer ist eine Null im Programmieren. Das kann ich also nur allzugut nachvollziehen.

Ich wollte mich hier in der Umgebung mal nach einer Art Nachhilfe umgucken.

Hm. Oder hier im Forum um Rat fragen? ;)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Zu Punkt a) im Betrieb komm ich erst ab November für 9 Monate in eine Programmierabteilung. Jetzt hab ich zwar auch 1 Monat mit Programmieraufgaben zu tun, muss aber bis Freitag unsere Vorzimmerfrau "ersetzen" (zumindest wenn das Telefon klingelt) und danach komm ich nochmal für 2 Wochen wegen Engpässen zur Service Line.

Ich versuch mich am WE immer mal wieder hinzusetzen und was zu machen. Meistens hab ich nach der Arbeit einfach keine Lust mehr mich auch zu Hause vor den Rechner zu setzen (was vl. auch die falsche Einstellung ist).

Vom 11.07. bis 15.07. haben wir eine Projektwoche in der BS und sollen da etwas planen, programmieren und dokumentieren. Vl. hilft das auch ein wenig, wenn ich dort mit unseren Überfliegern zusammensitze und mit ihnen zusammen programmiere.

Link zu diesem Kommentar
Auf anderen Seiten teilen

hi r26t01.

Vl. hilft das auch ein wenig, wenn ich dort mit unseren Überfliegern zusammensitze und mit ihnen zusammen programmiere.

Ernsthaft: Nö, wird es nicht. Die ziehen alles durch und du denkst dir nur "macht ihr mal, ich mach solange was anderes, was ich kann".

Programmieren lernst du nicht durchs zugucken.

Besorg dir das aktuelle JDK, Eclipse und dann setz dich hier dran: Gailer-Net

Einiges ist veraltet, vieles wirst du nicht brauchen (was sind Datentypen, welche gibt es, etc) - aber die Essenz ist vorhanden. Es geht auch in Richtung OOP. Und immer fein die Übungen und Rätsel machen.

post scriptum:

Wenn du am Cuno bist ... die Projektwoche hast du "uns" zu verdanken, wir waren der Jahrgang, der das mit dem Klein zusammen ins Leben gerufen hat :)

*Wink @ M. Klein*

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ernsthaft: Nö, wird es nicht. Die ziehen alles durch und du denkst dir nur "macht ihr mal, ich mach solange was anderes, was ich kann".

Programmieren lernst du nicht durchs zugucken.

Das kann ich pauschal so nicht bestätigen.

Es ist von dem Ego der Überflieger abhängig.

Tatsächlich gibt es auch hilfsbereite Menschen, die ihr Wissen auch gerne unentgeltlich zur Verfügung stellen.

Allerdings habe ich die Erfahrung gemacht, dass die wenigsten Schüler bereit sind, sich tatsächlich daneben zu setzen und aufzupassen, was da auf dem Monitor abgeht.

Bei uns in der Klasse gibt es eben solche Spezis: »Oh, da taucht das Wort "Interface" auf - Nee. Das ist mir zu hoch. ich schalte ab!«

Ein derartiges Verhalten ist natürlich nicht hilfreich. Sinnvoll wäre es für den daneben Sitzenden, zu fragen, was da auf dem Bildschirm vor sich geht.

Zu Punkt a) im Betrieb komm ich erst ab November für 9 Monate in eine Programmierabteilung.

Was hast Du denn bis dato gemacht? Kaffee gekocht?

Das ist jetzt kein Vorwurf an Dich, sondern vielmehr an Deinen Ausbilder.

Meistens hab ich nach der Arbeit einfach keine Lust mehr mich auch zu Hause vor den Rechner zu setzen (was vl. auch die falsche Einstellung ist).

Stell Dir vor, Du gehst morgen zu Deinem Hausarzt. Und Du hast eine akute Virusinfektion. Auf die Frage, was Dir denn fehle, antwortet Dein Hausarzt: das wisse er auch nicht so wirklich; er habe zwar seine Ausbildung irgendwann einmal gemacht, aber außerhalb seiner Arbeitszeit habe er sich nicht mehr mit seinem Beruf beschäftigt. Möglicherweise hast Du eine Krankheit, für die es eine Behandlung gäbe - aber er wüßte es momentan auch nicht so recht.

Würdest Du nicht spätestens ab dem Tag an, den Arzt wechseln (wollen)?

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