Hi Leute, ich schildere euch mal mein Problem: Wir in Österreich machen ja zur Matura (Abitur) auch eine Diplomarbeit über das ganze Schuljahr ( ca. 6 Monate Zeit). Nun ist aber das Problem, dass unser Lehrer uns eine extrem viel zu aufwendige Aufgabenstellung gegeben hat, welche wir erfüllen müssen. (Der Grund liegt darin, dass unser Lehrer selbst nicht wirklich µC programmieren kann und daher nicht weiß, wieviel arbeit da drin steckt). Ich versuche einmal einen vergleich darzustellen. Eine andere Gruppe aus unserer Klasse musste einen Roboter bauen, welcher Linien verfolgen kann. Allerdings hatten sie Unterlagen von 7 anderen Diplomarbeiten über Roboter und von daher sämtliche Schaltungen fertig sowie Sourcecode vorlagen. Der Assembler Code von diesem Roboter beträgt ca. 300-400 Codezeilen. Die einzige aufgabe ist es, 5 Sensoren auszulesen, welche nur die Zustände 1/0 kennen und anschließend 2 Motoren über Pulsweitenmodulation anzusteuern. Für diese Arbeit waren 3 Personen vorgesehen ( 1 Programmierer, 1 Hardware, 1 Gehäuse). So nun zu unserer Diplomarbeit: Wir müssen ein Langzeitmessgerät entwickeln welches über einen Zeitraum von ca. 2 Monate elektrische Werte (insgesamt 40) messen kann und speichern soll. Außerdem soll eine Verbindung zum PC erstellt werden können, bei der alle Daten übertragen werden können und außerdem auch ein Live Modus funktionieren sollte. Hierzu war wieder die Einteilung: 1 µC Programmierer, 1 PC Programmierer, 1 Hardware. *) Wir mussten sämtliche Schaltungen selbst zeichnen (bzw. herausfinden), sämtliche Berechnungen dazu durchführen. *) Layouts davon in Eagle zeichnen und auf eine extrem minimale Version bringen. *) In eine Hochsprache (C) einlesen und sofort ein so rießiges Projekt machen. *) In Mikrocontroller programmierung einlesen und sofort so ein rießiges Projekt machen. *) I2C,SPI,USART Protokolle einlesen und selbst ausprogrammieren. *) Ein eigenes USB Übertragungsprotokoll selbst definieren und anschließend programmieren. (das Protokoll sollte bei auftrettenden Fehlern natürlich auch Funktionieren, d.h. sehr viel Fehlerbehandlung => Sehr lange Planung dieses Protokolls) *) Ein Display implementieren und programmieren *) Einen Joystick einer Playstaten zur steuern implementieren und programmieren. *) Wir sollten die Daten speichern und dazu haben wir eine SD karte ausgewählt. Diese SD karte sollte später auch direkt am PC angesteckt werden können, vondaher auch als Dateisystem FAT32 haben. => Wir mussten das Ansprechen der SD Karte selbst ausprogrammieren sowie eine ganze FAT16-Dateisystemimplementierung auch!!! Dies war auch der einzige Punkt, den wir nicht geschafft haben, da dies einfach viel zu viel war. (wir sind schließlich eine Elektrotechnik Schule und keine EDV) *) Ein PC Programm zur Grafischen darstellung, manipulation, usw. programmieren, welches auf sämtlichen geläufigen Betriebssystemen funktioniert. Das Mikrocontroller Programm hat zur Zeit ca. 8000 Codezeilen (ohne SD Karte). Das PC Programm ca. 3 000. Unser Arbeitsaufwand war um ein vielfaches Größer als das, unserer Kollegen. Alleine das Einlesen in sämtliche Thematiken unserer Arbeit war zeitintensiver als das der anderen Projekte und unser Lehrer sieht dies anscheinend nicht. Die anderen Leute haben die hälfte der Zeit sowieso nur Computerspiele gespielt und wir haben die ganze Zeit nur gearbeitet. Da ich selbst ja sehr gerne programmiere habe ich sogar meistens pro Woche nocheinmal ca. 10 Stunden mehr dafür gearbeitet, damit mehr weiter geht. (wir hatten von der Schule aus ca. 8 Stunden pro Woche Zeit). Von daher finde ich es einfach nur Schade, dass die anderen alle eine eins auf ihr Projekt bekommen, wir allerdings nur eine 3, nur weil die SD karte nicht geht. Das Projekt war von Anfang an viel zu schwer dimensioniert, nur erkennt das kein Lehrer, weil keiner von ihnen wirklich programmieren kann. Hat jemand eine Idee, was ich machen könnte bzw. was ich dem Lehrer sagen sollte? Es ist einfach nur sehr traurig wenn man so extrem viel Zeit in eine Arbeit steckt und dann sieht, dass andere, welche nur PC spielen, eine viel bessere Note bekommen.
Ärgerlich - na klar. Nehmt es als Projekterfahrung fürs Leben mit.... Auch im kommerziellen Umfeld sind oft die Nachnutzer, Dummschwätzer, sich beim Chef Anbiederer die Helden in den Augen des Chefs und nicht die, die die eigentliche Arbeit gemacht haben. Euer Fehler war (kann man euch nicht zum Vorwurf machen ohne Erfahrung) die passende Abschätzung des Zeitaufwandes bei Erhalt der Aufgabe. Aber so ein Projekt ist auch etwas Vorzeigbares - es gibt Studienabgänger, die noch nie so etwas vollbracht haben. Ich hoffe, ihr wollt jetzt nicht alle BWL Studieren ;-)) Viele Grüße, egberto
> Das Mikrocontroller Programm hat zur Zeit ca. 8000 Codezeilen (ohne SD > Karte). Dann macht ihr etwas falsch, sorry.
Mr. Chip
> Dann macht ihr etwas falsch, sorry.
Ist das jetzt Ösi-Bashing, du Schweizer?
Na ja, die Anzahl der Codezeilen erscheint mir auch relativ hoch (gibt es in Ö keine Hochsprachen ;-)) Viele Grüße, egberto
>> Dann macht ihr etwas falsch, sorry. > Ist das jetzt Ösi-Bashing, du Schweizer? Nein, überhaupt nicht, aber 8000 Codezeilen ist extrem viel für die genannte Aufgabe.
Naja, also das einiges sicher kürzer gegangen wäre will ich jetzt nicht bestreiten. Aber ich will nur kurz zum bedenken geben: *) Ich habe vor 6 Monaten mein erstes C programm geschrieben.. und hatte ca. 1 Monat zeit c zu "lernen". (1 Monat = 4 Wochen mit jeweils 8 Stunden zeit => 4 Arbeitstage um C zu lernen!!!) *) Ich habe daher auch sehr viele Kommentare benutze (da den Sourcecode ja auch später andere lesen müssen, die die Diplomarbeit weitermachen müssen) *) Ich habe nie die wirklich kürzeste Version geschrieben, also immer: if() { } oder while() { ; } für eine Endlosschleife. *) Ich habe wenige Präprozzesor-Anweisungen benutz, da ich einfach damit nicht so vertraut bin, da ich keine Zeit habe mich da einzulesen. z.b. habe ich: void spi_send_start_conversions(void) { spi_send(0b11101000); } Und das wäre mit einer einfachen define Anweisung auch gegangen und somit viel kürzer... *) Und schließlich bin ich auf alle Fehlerbehandlungen eingegangen... Dadurch wird der Code locker 3-5 mal so lange. Außerdem ein gutes USB Protokoll wird schon ziemlich lange oO *) Vor jeder Funktion sind 4 Kommentarzeilen, welche Überparameter usw. erklären (weil ja die nächstes Jahr damit arbeiten müssen) Übrigens sind die 8 000 Codezeilen doch mit SD karte, hab ich mich vorher verschaut... :/ Wenn ich das Projekt abgegeben habe, werde ich es auch hier raufladen.
Damit habt ihr schon sehr viel mehr gemacht, als bei uns in der Ausbildung zum Elektroniker gelehrt wird. Hast du eine eigene USB Firmware geschrieben (was ziemlich krass wäre) oder einen USB<->UART umsetzer?
da ihr sowieso abgeht von der schule würde ich mich so lange zur wehr setzen bis ich meine 1 bekomme für das projekt. einfach mal zum lehre hingehn und solche sachen fragen wie "was ist jetzt die nächste beschwerdeinstanz?" und schlich bleiben, auch wenns schwer fällt.. immer sachlich bleiben, alles darlegen so wie du es hier getan hast, und vortragen warum und wieso du dich falsch behandelt fühlst. wenn der lehrer kein vollkommener mistkerl ist wird er keinen fehler einsehn, wenn nciht wie gesagt... nächste instanz. wer bei sowas genug krach macht und sich dennoch fair verhält bekommt meistens was er will. wichtig ist dass du dir absolut keinen einzigen fehler erlauben darfst, lehrer fühlen sich öfters mal angegriffen, vor allem wenn die schüler mal was besser können/wissen, aber wenn man nur hartnäckig genug ist sehens die meisten dann dennoch ein. ciao
Wie sagt man so schön? "Sei kein unbekannter Held" Ein wichtiger Spruch, wie man an deinem Beispiel leider gut erkennen kann. Wäret ihr wegen jedem Problemchen erstmal zu eurem Lehrer gerannt und hättet berichtet, wäre euer Projekt wahrscheinlich auch besser Wertgeschätzt worden. Ist leider so, wenn man etwas Spektakuläres auf die Beine stellt (und ich finde eure Leistung in Hinblick auf eure Vorkenntnisse spektakulär), so ist es wichtig, daß das auch bei Fachfremden entsprechend rüberkommt. An deiner Stelle würde ich versuchen, das Positive zu sehen. Ihr habt unheimlich viel gelernt und profitiert davon ein Leben lang. Eure Komilitonen haben nur die gute Note, und das interessiert spätestes im Bewerbungsgespräch keinen mehr...
@ Lupin, ja war nur ein USART-USB umsetzen, eine Firmware wäre wirklich krass gewesen. Und ja es stimmt schon, das Projekt war für mich eigentlich extrem sinnvoll und ich habe sehr viel daraus gelernt. Aber es ist nun mal doch eine Note, die ich mein Leben lang in meinem Abschlusszeugnis stehen haben werde. Ich werde jetzt dann noch einmal versuchen mit dem Lehrer zu reden, mal schauen was dabei raus kommt. Das problem ist nur halt, dass die Speicherung ein wichtiger Punkt im Pflichtenheft ist und von daher meint unser Lehrer, er kann nichts machen. oO Übrigens funktioniert die Hardware bei der SD Karte wahrscheinlich nicht und mein Programm wahrscheinlich doch (wird bestimmt aber auch einige Fehler haben, konnte es ja nie testen), das macht die ganze Sache natürlich noch einmal viel deprimierender. Übrigens werde ich nicht BWL studieren ;) Entweder Informatik oder Elektrotechnik oder beides, falls es sich vom zeitlichen her ausgeht. Falls jemand noch gute Vorschlage hat, bitte nur her damit!
Tja, man sollte sich eben zuvor überlegen, was man als Maturaarbeit macht, und sicher nix zu anspruchvolles nehmen, wenn man das nicht will. Lieber was chilligen nehmen, und den Rest als Hobby machen. Das ist eine der Dinge, die ich in der Schule gelernt habe. Steht bei euch wenigstens im Maturazeugnis drin, was du gemacht hast? Falls ja, kannst du mit deinem Arbeitgeber immerhin drüber diskutieren, falls er dumme Fragen stellt. Ausserdem wird das Uni/FH Zeugnis ohnehin wichtiger sein.
Evtl. macht es ja Sinn, diese Arbeit bei Bewerbungen beizulegen. Da können sich die entsprechenden Firmen selbst einen Reim bilden, ob die in den Zeugnissen genannte drei dafür gerechtfertigt ist...
Naja, die grosse Kunst bei irgendwelchen Aufträgen und Projekten in der realen Arbeitswelt ist: Die einfachste, schnellste, günstigste und risikoärmste Lösung zu finden, welche die Anforderungen abdeken kann. Mikrcontroller-Module gibt es zu hauf fixfertig und günstig zu kaufen, in eurem Fall wäre sogar ein Evaluationkit (z.B. STK500) praktisch gewesen. >*) Wir sollten die Daten speichern und dazu haben wir eine SD karte >ausgewählt. Diese SD karte sollte später auch direkt am PC angesteckt >werden können, vondaher auch als Dateisystem FAT32 haben. => Wir mussten >das Ansprechen der SD Karte selbst ausprogrammieren sowie eine ganze >FAT16-Dateisystemimplementierung auch!!! Dies war auch der einzige >Punkt, den wir nicht geschafft haben, da dies einfach viel zu viel war. >(wir sind schließlich eine Elektrotechnik Schule und keine EDV) >*) Ein PC Programm zur Grafischen darstellung, manipulation, usw. >programmieren, welches auf sämtlichen geläufigen Betriebssystemen >funktioniert. Hiermit habt ihr euch die gröste Bürde selbst aufgeladen, eine SD-Disk war nicht gefordert. Im späteren Leben kannst du dem Kunden, der einfach ein Fahrrad wollte auch keinen RollsRoys liefern und erwarten, dass er Dir dafür dankend den Mehraufwand bezahlt...
Also ich finde den Einsatz den Ihr gezeigt habt einfach bemerkenswert und überaus spektakulär. Ich würde an Eurer Stelle auch erstmal mit dem Lehrer reden und zwar genau so wie es oben schon erwähnt worden ist. Sachlich aber doch mit Nachdruck und einigen Hinweisen auf die nächsten Instanzen. Und zu dem Thema 8000 Codezeilen und "späteres Arbeitsleben": Es wird im allgemeinen auch gesagt Form follows function. Mit anderen Worten: Es ist erstmal wichtig das es überhaupt funktioniert und dann kann man sich oft noch Gedanken machen ob man die Software vielleicht etwas schlanker hin bekommt. Aber für eine Abitursarbeit finde ich den Umfang und die Anforderung schon sehr hoch und deshalb eben bemerkenswert. Viele Diplomarbeiten sind vom Anspruch und Umfang wesentlich geringer. Und wenn ich teilweise die Unkenrufe hier lese bzgl. Arbeitsleben, stellen sich mir die Nackenhaare hoch. Es ist Furzegal was du für eine Note hast, es ist vielmehr wichtig wie Du die Aufgaben später erledigen wirst und da bin ich bei Euch sehr zuversichtlich das das schon alles klappen wird. Ingenieure kochen auch nur mit Wasser und glaub mir, es gibt viele die 11+15 mit dem taschenrechner rechnen. Lange Rede, wenig Sinn: Macht einfach mal so weiter, redet mit dem Lehrer und verbucht im schlimmsten Fall den ganzen Kram als Lebenserfahrung bei der Ihr sehr viel gelernt habt. Und zwar aus technischer Sicht und auch aus menschlicher.
darf ich mal fragen in welchen bundesland du die htl besuchst? ich hab auch eine sehr sehr intensive diplomarbeit in der htl gemacht, die anderen gruppen hatten tlw. extrem wenig zu tun und haben wie du schreibst mehr gespielt, kaffe getrunken, geraucht, ... als an der arbeit gewerkt, trotzdem hat mich das nicht gestört, das ist und war ihr bier. ich und mein kollege habn sich sehr viel angetan und haben in summe über 1000h daran gearbeitet, du siehst da war sehr viel arbeit dahinter, wir haben in den sommerferien schon angefangen und zig stunden pro woche zu hause gewerkt. (es war eine doch sehr komplexe pool-steuerung mit graphikdisplay und co, ich sag mal das hauptfeature lag in einer beruhrunglsoen stromlmessung mit regelung von einer 3 phasen asynchronmaschine - Stichwort: anlaufstrombegrenzung, etc.) das mit der note ist sicher nicht fair, bin aber sicher das man da noch was machen kann. die frage die ich mir stellen würde ohne jetzt mal das projekt genau zu kenn, wie ist die qualität der abgegebenen arbeit? weil eins ist immer wichtig - auch im beruf. wenn du ein projekt hast welches um hausnummern größer ist als machbar dann muss man trotzdem den teil den man angeht sauber und ordentlich angehen und sich nicht auf die größe ausreden. es ist vollkommen korrekt das die anzahl der codezeilen irrelevant sind (der verlgeich 400asm zeilen zu deinen 8000c-code zeilen ist irrelevant! wer weiß wieviel gehirnschmazl in den 400zeilen stecken, vielleicht waren das uach mal 10000asm zeilen und wurden einfach nur optimiert optimiert und optimiert?) es muss schon ersichtlich sein in deiner dokumentation und in deinen codes bzw. schaltplänen und layouts wie ihr die sache angegangen seid, immerhin hat ja auch die HTL-diplomarbeit den sinn das ihr an das arbeiten in der arbeitswelt gewöhnt werdet! da ich jetzt schon so einige HTL-diplomarbeiten von meiner firma betreut habe kann ich sagen das ich hier tlw. die lehrer wirklcih nicht verstehe, aber auch so mancher maturant den ich gehabt habe hatte eine einstellung ... naja ich will das jetzt nicht mehr ausführen. nur zu deiner entäuschung zurück: sehe die diplomarbeit als arbeit fürs leben, für mich war es das, so konnte ich ab den 2. semester auf der uni schon nebenbei arbeiten, ab den 4. (das war leider so) hab ich dann hauptberuflich gearbetiet und nebenbei studiert ... als kopf hoch lad mal deine diplomarbeit hoch!? grüße
Manchmal verliert man und manchmal gewinnen die Anderen. So ist das im Leben. Ich hab meine Diplomarbeit aus dem Netz zusammengeklaut und ne 1,3 bekommen. Jetzt habe ich nen guten Job und verdiene nen Haufen Kohle. Las dir das eine Lehre sein.
Peter wrote: > Im späteren Leben kannst du dem Kunden, der einfach ein Fahrrad wollte > auch keinen RollsRoys liefern und erwarten, dass er Dir dafür dankend > den Mehraufwand bezahlt... Solche Sprueche wuerde ich verstehen bei einer Arbeit, die das Studium abschliesst, aber nicht bei einer fuer die Matura. Man muss auch mal die Kirche im Dorf lassen koennen. Woher soll denn die Reife, die hier im Endeffekt bewertet wird, kommen?
Stimmt schon, wir haben uns selbst auch sehr viel arbeit angetan, einfach weil wir selbst es nicht besser wussten! Aber dafür wissen wir jetzt umso mehr ;) Und nochmal zu den 400 Codezeilen: Da gehts einfach nur darum, alle 5 Sensoren auszulesen und anschließend je nach den Werten der Sensoren in eine Tabelle zu springen, in der vorgegeben Motoransteuerungswerte sind. Also zum Beispiel sagen die 4 linken Sensoren weißer Boden. Der rechte sagt schwarzer Boden. Und daher erkennt man, dass die Linie rechts ist und muss dementsprechend auch die Motoren ansteuern (z.b. 80% den linken und 40% rechten). Und das ist alles oO Der Programmierer weiß nicht einmal wie man in Assembler selbst einen Sprung ausprogrammiert, den Code hat er einfach nur überall kopiert und ein wenig angepasst. Aber es hat ja eh keinen Sinn, sich über sowas aufzuregen. Ich werde mit meinem Lehrer nochmal reden und im schlimmsten Fall, habe ich einfach nur etwas dazu gelernt. Übrigens werde ich in ca. 1 Monat die Diplomarbeit hier hochladen. (Zu dem Zeitpunkt sollte die Dokumentation fertig sein, die ich dann mit hochladen werde) Übrigens zum Zustand des Projektes: Wir haben auch ein STK500 benutzt. Zur Zeit ist alles im Versuchsaufbau auf einem Steckbrett aufgebaut, man kann Messungen machen, Live Modus machen, RTC funktioniert, PC darstellung funktioniert, display usw. funktioniert alles einwandfrei. Die einzigen 2 Mänkel sind, dass es zur Zeit nur ein Versuchsaufbau ist und dass SD Karte nicht geht. Allerdings ist es nur ein Versuchsaufbau, da die Schule kein Geld mehr hatte für die Bauteile bzw. für das Ätzen der Platine.)
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.