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