Changes for page Writing and Grading Theses
Last modified by Niklas Rentz on 2023/10/10 10:45
Summary
-
Page properties (2 modified, 0 added, 0 removed)
-
Objects (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Author
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki. uru1 +XWiki.cds - Content
-
... ... @@ -23,18 +23,6 @@ 23 23 24 24 Usually, your thesis is a full-time job, also meaning **full-time presence at your desk**. In case you also have other regular work to do, discuss this with your adviser at the beginning of your thesis work. 25 25 26 -= Thesis Proposal = 27 - 28 -The first thing to do after you familiarized yourself with the topic and problem of your thesis is to write a short proposal (~~2-4 pages). The proposal should be prepared as early as possible (within the first or second week) and should show your adviser that you understood the problem and have a rough idea how to solve it. It may be structured as follows. 29 - 30 -* Problem description 31 -* Planned Solutions/Goals 32 -** Hard requirements that have to be fulfilled by the end of your thesis 33 -** Soft requirements that can be solved if time permits 34 -* Schedule outlining your proceeding (this includes writing the thesis, see next section) 35 - 36 -After you finished the proposal, you should give a short (informal) talk during our daily tea meeting presenting your topic to all members of our group. 37 - 38 38 = Timing is (Almost) Everything = 39 39 40 40 Chances are your adviser has already supervised one or more theses. Take advantage of his or her experience! Send him drafts of the chapters of your thesis before submitting the final thesis. Of course, the drafts should be as good as possible from your point of view. Your adviser can only improve your drafts so much. If your draft is of low quality, (s)he can help you push it to an okay-ish level; but if the draft is already of high-quality to start with, (s)he can help you elevate it to pure awesomeness. Note that your drafts need not be complete yet: you can always hand in missing bits and pieces later on. Here's a schedule that has proven to work well regarding when to hand in what. ... ... @@ -84,17 +84,17 @@ 84 84 85 85 = Implementations = 86 86 87 - The firstruleof your implementation is:Thesecondruleofyour implementationis: **"Nocrashes!"**Regardless of what your codedoes andregardless of what theuserdoes,your implementation shouldneithercrashnor freeze. Wheneveryoumakeassumptions,beuretoexplicitlycheckthem. Iftheyarenotmet, yourcodeshouldgenerate(useful!)errormessagesinstead of crashingandtheuser should beable tocontinueworkingwithit.75 +Erste Regel: **"No Crashes!"** Egal was Ihr System tut und welche Nutzereingaben geschehen, die Implementierung sollte nicht abstürzen oder einfrieren. Wo Annahmen gemacht werden, sollten diese explizit überprüft werden. Im Falle der Nichteinhaltung sollte eine brauchbare Fehlermeldung generiert werden, und der Anwender sollte weiter mit der Implementierung arbeiten können. 88 88 89 - Sinceyou're workingin an academiccontext,youwillhave lessresources(lesstime,inparticular)available than ina commercialsetting.Also,yourworkprobablywon'thavetocompetewithcommercialapplications.Itfollowsthateverythingyoudevelopwill beless comprehensiveand will haveless features than acommercialproduct.Whatdoesn'tfollowisatyourimplementation shouldbe lessmeticulous or lessdocumentedthan inaprofessionalsetting.Quitethecontrary,infact: commercially developedcode oftensuffersfromtightdeadlines,theeedoaddnewfeatures,andat timesa certain ignorance.Youimplementation,ontheotherhand,issupposedtobeyour masterpiece.Itshould reflectwhatyou'recurrentlycapableof. Evenhoughyour softwarewon'tauseconsiderable economical damageorkill people,itprobably won't exist in isolation.Itwillmuchratherbe partoftheKIELERproject,whichotherpeoplearesupposedto use ordevelopfurther.Thequality (andgrade) ofyour thesiswill be judged inpartbasedonyourimplementation. Sincehisisthecase,make use of thefactthatyouradviserprobablyhas muchmorexperiencewritingcodethanyou do.Askhimorhertoreviewyourcode andto giveyoufeedbackonhowtoimprove.77 +Generell: Ihre Arbeit wird sehr wahrscheinlich auch einen praktischen Teil enthalten, in welcher Sie Software oder Hardware entwickeln oder erweitern sollen. Das akademische Umfeld Ihrer Arbeit bedeutet in der Regel, dass für diese Entwicklung weniger Ressourcen - insbesondere zeitliche Ressourcen - als in einem kommerziellen Umfeld zur Verfügung stehen, und dass sich Ihre Arbeit nicht am Markt behaupten muss. Die Konsequenz daraus ist, dass Ihre Arbeit in der Regel weniger umfangreich sein sollte und weniger Features bieten sollte als ein kommerzielles Produkt. Die Konsequenz ist nicht, dass Sie ihre Implementierung weniger sorgfältig vornehmen sollen, oder schlechter dokumentieren sollen, als dies in einem professionellem Umfeld der Fall wäre. Im Gegenteil - während bei kommerziellen Produkten der Termindruck, die Notwendigkeit zu ständigen Neuentwicklungen, und zum Teil eine gewisse Ignoranz auf Kunden- und/oder Entwicklerseite den Qualitätsstandard senken können, sollte die von Ihnen hier erstellte Implementierung Ihr „Meisterstück“ sein, welches zeigt, wozu Sie (im positiven Sinne) fähig sind. Es gilt hier zwar, dass Produktfehler keinen erheblichen wirtschaftlichen Schaden verursachen können oder gar Menschenleben gefährden können; jedoch ist auch hier Ihre Arbeit in der Regel nicht isoliert und „nur“ Teil Ihrer Ausarbeitung, sondern etwas, was andere anwenden und weiterentwickeln sollen. Die Qualität (und Benotung) Ihrer Arbeit wird (unter anderem) an der Qualität Ihrer Entwicklung gemessen. 90 90 91 - Let'slook at an example.Supposeyourhesisisaproof of concept.Thismeansthat youshouldconstrainthegoalsofyourthesis (**inaccordancewithyour adviser**) toawell-definedsubsetof the problemyou'retackling. The endusershouldbe wellaware ofwhatyourimplementationcando and whatitcannotdo.A reasonableconstraint couldforinstancebe:"Thetransformationonly worksforot for//valued signals//.Hierarchy-crossingtransitionscannotbedrawn."Anunreasonable constraintcouldbe:"Sometimes,addinga stateworks;othertimes,thesoftwarecrashes." If you notice whileworking on your implementation that youwon't beable tomaketaingoals, talkto your adviser. Together,you will constraintheproblemfurther.Thiswillallow youtosolve themoreconstrainedproblemproperlyinsteadofnot solvingthemoregeneralproblematall. You colleaguesorsuccessorswillbeladtobeabletostart fromasmaller,butwell-developedcode baseandaddfeaturestoitinsteadofhavingto trytogetyourcodeoareasonablequalitystandard—orthrowingitaway andstartingover.79 +Zur Verdeutlichung: wenn Ihre Arbeit eine Machbarkeitsstudie (//proof of concept//) sein soll, bedeutet dies, dass Sie Ihre Arbeit **in Absprache mit dem Betreuer** auf eine wohldefinierte Teilmenge des Gesamtproblems einschränken sollen. Es sollte für den Anwender klar erkennbar und vorhersagbar sein, was Ihre Implementierung leistet und was nicht. Sinnvolle Einschränkungen können zum Beispiel sein: „die Transformation betrachtet nur //pure signals//, keine //valued signals// ... Es können keine hierarchieübergreifenden Transitionen gezeichnet werden“. Keine sinnvolle Einschränkung ist: „Mal funktioniert das Einfügen eines Zustands - mal stürzt das System ab“. Wenn im Laufe Ihrer Implementierungsarbeit ersichtlich wird, dass bestimmte Implementierungsziele nicht erreicht werden können (aufgrund falscher Einschätzung des Problems, oder aufgrund schlechter Ressourcenplanung), sollte sofort mit dem Betreuer abgesprochen werden, wie das Problem sinnvollerweise eingeschränkt werden könnte; es sollte nicht zu einer schlampigen Entwicklung führen. Schließlich gilt: es ist für etwaige Teamkollegen/Nachfolger von Ihnen eine wesentlich dankbarere Aufgabe, auf Ihrer kleinen, sauber entwickelten Arbeit aufzusetzen und diese um neue Features zu erweitern, als zu versuchen, Ihre große, defekte Arbeit auf einen brauchbaren Qualitätsstandard anzuheben - oder diese ganz wegzuschmeißen und von vorne anzufangen. 92 92 93 - Thebottomline:write cleanandpropercodehat adheresto our codingguidelines anddocumentit.Thequalityandthereadabilityofyourcodeandof yourdocumentationwillinfluenceyourgrade.81 +Grundsätzlich gilt: Die Software ist „sauber“ zu schreiben und zu dokumentieren, unter Beachtung eines evtl. vorhandenen Projekthandbuchs. Die Qualität und Leserlichkeit Ihrer Software sowie der Dokumentation geht in die Bewertung Ihrer Arbeit mit ein. 94 94 95 95 == Reviews and Ratings[[url:http://trac.rtsys.informatik.uni-kiel.de/trac/rtsys/wiki/Hinweise_Arbeiten#ReviewsundRatings||style="text-decoration: none;" title="Link to this section" shape="rect" class="anchor"]] == 96 96 97 -To make sure that code is of a certain quality, it must be run through design and code reviews. The way this works is explained [[on this page>>doc:KIELER.Review Process]]. The reviews are not only intended to improve the quality of your code, but also to give feedback to you as a programmer to help you improve. 85 +More often than not, you will write code as part of your thesis. To make sure that code is of a certain quality, it must be run through design and code reviews. The way this works is explained [[on this page>>doc:KIELER.Review Process]]. The reviews are not only intended to improve the quality of your code, but also to give feedback to you as a programmer to help you improve. 98 98 99 99 = What Grade Do I Get For All This? = 100 100
- Confluence.Code.ConfluencePageClass[0]
-
- Id
-
... ... @@ -1,1 +1,1 @@ 1 - 107515011 +9471804 - URL
-
... ... @@ -1,1 +1,1 @@ 1 -https://rtsys.informatik.uni-kiel.de/confluence//wiki/spaces/RTSYS/pages/ 10751501/Writing and Grading Theses1 +https://rtsys.informatik.uni-kiel.de/confluence//wiki/spaces/RTSYS/pages/9471804/Writing and Grading Theses