Zum Inhalt springen

  • Beiträge
    57
  • Kommentare
    245
  • Aufrufe
    7.420

Good News - oder: Aus dem Leben eines Studiums-Programmierers


ManofStil

373 Aufrufe

Gute Nachrichten zum Wochenende: Mein Studium geht voran. Heute habe ich die B-Aufgabe Programmieren (GOP) zum Tutor gesendet. Damit ist das erste Semester (vorausgesetzt BWL und GPI sind bestanden) abgeschlossen! :D

Vorher hab ich gefühlt zwei Stunden mit dem Mauscursor über dem "Absenden" Button geschwebt, bis ich mich entscheiden konnte, die Aufgabe einzusenden. Sie liegt seit Dienstag fertig hier rum, war nie ein wirkliches Problem, sondern reines Code schreiben. Aber, wie es nun mal so ist, wenn man ein Thema besonders gut kann, hat man auch entsprechend hohe Ansprüche an die Note. (Vgl. BWL, wo mir die Note - fast - egal ist). Und damit dann auch meine Zielnote herauskommt, muss also alles perfekt sein. Also hab ich die letzten drei Tage damit verbracht über den Code zu schauen, und zu schauen, ob man nicht noch irgendwas optimieren oder verbessern oder sonstwie besser machen kann. Das ging dann bis ich an dem Punkt war, wo ich mich entscheiden musste, ob ich schön / lesbar oder performant oder "wie im Heft geschildert" programmiere. Dummerweise lässt sich das ja nicht immer miteinander in Einklang bringen. Also hoffe ich, dass es nun gut so ist, wie es ist.

Eine der Aufgaben: "Prüfen Sie geklammerte Ausdrücke auf Korrektheit".

Super, dachte ich. Ist ein 5-Zeiler! Bis im Hinweis stand "Am einfachsten lässt sich diese Aufgabe mit einem Stack lösen". :confused: Stack? Ich zähle einfach, wieviele Klammern gerade geöffnet sind und wenn die Zahl jemals negativ ist oder am Ende des Ausdrucks nicht 0, liegt ein Fehler vor. Wieso brauch ich da einen Stack?! Ich wüsste nichtmal, was ich da drauf legen sollte...

Also hab ich mich im Forum umgeschaut: Ein Kommilitone meinte, es MUSS ein Stack genutzt werden. Hm...

Der Tutor schrieb "Warum wollen das alle ohne Stack lösen? Der ist dabei gleich eine tolle Übung für Aufgabe 4..."

Hm, also gut... Dann halt doch mit Stack. :(

Fühlt sich ein wenig so an, wie die A-Aufgabe, wo die Fibonacci-Zahlen berechnet werden sollen. Dort steht "Bedenken Sie, dass die Berechnung der 40 Zahl schon sehr lange dauern kann!". Daher sollte man auch einen "Abbrechen"-Knopf einbauen, der den Thread abbricht.

Nunja, die Berechnung hat auch lange gedauert, bis ich eine einfache und elegante Lösung gefunden hab, die doppelte Berechnungen auslässt und so die Performance um Faktor 10 steigert. Damit waren die Fibonacci-Zahlen bis 90 (weiter reicht der LONG-Datentyp nicht) in 3 Sekunden berechnet und ich konnte den Abbrechenknopf nicht mehr testen, weil ich den gar nicht schnell genug anklicken konnte... Hoffe aber, der hat trotzdem geklappt... :blink:

Nunja, wichtig ist: GPI abgeschlossen, BWL wartet auf die Note, Mathe aus dem 2. Semester ist schon erledigt! Es sieht also gut aus.

Der weitere Plan: Mitte Dezember Software Engineering schreiben und danach die beiden B-Aufgaben (Recht und Betriebssysteme, glaube ich) schreiben. Das sollte bis Mitte Februar gut hinkommen und dann bin ich ziemlich gut in der Zeit. Jetzt lese ich noch ein wenig im Begleitheft zum Balzert herum. So kann man doch entspannt in den Urlaub gehen!

Á Propos Urlaub: Wo gute Nachrichten sind, sind natürlich auch (mehr oder weniger) schlechte: Aufgrund meines Urlaubs wird hier also eine Blogpause entstehen. Weiter geht's dann, sobald ich zurück bin!

Und jetzt: Ab in die Semesterferien!

Ich wünsch Euch ein schönes WE!

Flo

7 Kommentare


Empfohlene Kommentare

Hallo,

na das klingt doch super! Ich hänge derzeit etwas. Konzentriere mich aber auch eher auf SEI ...

Schönen Urlaub!

Krank:

Esme.

Link zu diesem Kommentar

Ja, die gleichen Gedanken bei der B-Aufgabe Programmierung hatte ich auch (auch wenn ich eine andere hatte als du). Hab auch ewig optimiert und geändert, bis ich dann endlich alles abgeschickt hab. Hat sich aber gelohnt :)

Edit: Ich hätte auch keinen Stack genutzt, sondern Klammern gezählt. Aber wenn die das so wollen...

Link zu diesem Kommentar

Zwar kann ich das nicht alles nachvollziehen, aber trotzdem schön, mal etwas über den Studieninhalt zu lesen. Das bezieht sich jetzt nicht speziell auf deine Blog, ich lese einfach gerne immer mal wieder, worum es auch inhaltlich in den Fernstudien geht. Danke!

Link zu diesem Kommentar

Wenn ich mich nicht arg täusche, wird genau deine Lösung (Klammern zählen) als Musterlösung zu dieser Aufgabe im Studienbrief DSI02 (oder wars in 01) gezeigt. ;)

Link zu diesem Kommentar

Ich brauche ewig lange für das Modul GPI. Hab schon um die 150 Stunden zusammen. Das entspricht dann auch ungefähr den 5 Leistungspunkten für dieses Modul (5cp*30h), wenn ich demnächst auch fertig werde. Braucht ihr auch so lange?

Zum Thema Fibonacci:

Ich hatte den Datentyp Decimal genutzt. Der reicht bis zur 140. Fibonaccizahl. So haste dann genug Zeit deinen Abbrechenbutton zu testen :tongue_smilie:

Link zu diesem Kommentar

Klingt nach bömischen Dörfern, wenn ihr IT ler (seid ihr doch?) plaudert.

Ich wollte ganz früher auch mal sowas machen, hab vor einigen Jahren in einem Linuxforum zu den Ubuntuanfängen sehr aktiv moderiert und liebte es.

Es ist aber ja ganz abseits meines Berufes und daher immer nur ein Zeitvertreib geblieben. Heute mach ich sowas nicht mehr. Geblieben ist das sichere Umgehen mit verschiedenen Betriebssystemen und umfangreichen Programmen (z.B unsere Patientenerfassung), keine Angst vor Neuerungen dieser Art, die in meinem Beruf und bei meinen Kollegen schonmal zu argen Nöten führen. Die Berührungsängste sind da zuweilen sehr groß.

Ich lese es deshalb auch gerne.

Viel Erfolg weiterhin.

Link zu diesem Kommentar

Noch ein kurzes Update: Nur zwei Tage nach dem Absenden der B-Aufgabe hatte ich Post in meinem virtuellen Campus-Briefkasten: Nicht etwas das Ergebnis der Prüfung, sondern Der Tutor der B-Aufgabe teilte mir mit, dass er sich leider bei der ESA von GPI13 vertan hatte und die irgendwie nix geworden ist und ich da nochmal ran müsse... - Das macht ja Hoffnung für die B-Aufgabe... Wo ich doch extra auf das Feedback gewartet hatte...

Inzwischen ist die neue Version aber wieder eingesandt und mir fallen schon wieder tausend Optimierungen ein. Langsam sollte ich wirklich mal abschalten...

@Beetlejuice: Ich glaube, dass geht den meisten Leuten so, wenn jemand von seinem Fachgebiet spricht. Wenn ich Krankenpfleger oder Ärzte reden höre, geht es mir umgekehrt meist genauso. Ich versuche schon, in meinem Blog alles auch für Nicht-ITler verständlich zu erklären, ohne, dass es total dämlich klingt. Ist aber auch immer eine Gradwanderung.

@einsdurchnull: Ich habe GPI recht zügig durchbekommen. (Ich merke mir aber keine Zeitaufwände). Liegt aber auch daran, dass ich schon einiges an Hintergrundwissen habe. Meine ersten Programmiererfahrungen hab ich damals auf dem C128 von meinem Vater gemacht, dann Comal in der Realschule, Pascal auf dem Gymnasium, C++ in der Ausbildung und privat und zwischendrin noch etwas PHP, Javascript und Java. ZUusätzlich programmiere ich beruflich noch ein wenig VB.NET. Da fällt der Umstieg zu C# auch nicht schwer (ist ja in Summe nur eine Mischung aus C++ und .NET).

Bei Fragen kannst Du Dich aber immer gerne an mich wenden.

Decimal wäre übrigens auch eine Option gewesen, das stimmt. Vielleicht ändere ich das nochmal und schaue, wielange es dann läuft, bis die 140 voll sind! :)

@Lumi: Das schaue ich doch gleich mal nach! (Eigentlich hatte ich geschworen, diese Hefte nicht mehr anzufassen...)

Also: Aufgabe 3.7: Prüfen Sie, ob der Ausdruck korrekt geklammert ist.

Lösung: "Zur Bearbeitung würde ich vorschlagen einen Stapelspeicher zu benutzen. Man liest nun den zu untersuchenden Ausdruck von links nach rechts durch. Trifft man auf eine öffnende Klammer, so wird diese im Stapel eingespeichert. Trifft man auf eine öffnende Klammer, so wird geprüft, ob auf dem Stapel eine öffnende Klammer liegt..."

Also nein, hier wird auch nicht einfach nur mit einem Integer gezählt, sondern immer das gleiche Zeichen auf den Stack gepackt. (Was da der Sinn ist, verstehe ich immernoch nicht... Muss man vielleicht Informatik für studiert haben...)

@Rumpelstilz: Danke für die Anregung. Ich versuche immer, ein wenig mehr als nur "Heute hab ich X gelernt" einzubringen - ich denke, das kann man hier zur genüge lesen. Leider gelingt mir das auch nicht immer, aber ich entwickle meinen Blogstil ja auch noch. :)

@kawoosh: Danke, dann bin ich ja nicht alleine mit dem Gedanken. Vielleicht denke ich/wir auch (noch) zu einfach für sowas...

@Esme: SEi kommt bei mir als nächstes dran. Vielleicht magst mir ja später Deine Erfahrungen berichten? Gute Besserung!

Link zu diesem Kommentar

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden


×
  • Neu erstellen...