Information / Student Resources (don't tell us you didn't know... ;-)
The content on this page was translated automatically.
Please read this page carefully. It contains some important information regarding the implementation of theses and projects and the writing of the thesis and code. Please also note the links to the notes page and the checklist.
Template and software for planning/writing the draft:
We would be delighted if you would use LaTeX to create your paper. To support you, we have prepared a template that you can use as a template to insert your text (see link below).
Link to the TeX template for your written paper.
Links to the Uni Kassel logo images: https://www.uni-kassel.de/go/gestaltung there as .eps file and as .pdf file (for the title page; the EPS file is already included in the template).
If possible, a vector format should always be used for illustrations, diagrams and other images. The most suitable software is
dia from www.gnome.org/projects/dia/
Inkscape from www.inkscape.org/
gimp from www.gimp.org
graphviz from www.graphviz.org
gnuplot from www.gnuplot.info can now also do histograms (version 4.2)
Scribus from www.scribus.net for more unusual things
GanttProject from www.ganttproject.biz for scheduling work
For improving code (Java, VHDL, ...) there is this software, among others:
FindBugs from findbugs.sourceforge.net/ for finding bugs or other problems in Java code
jGRASP from www.eng.auburn.edu/grasp/ for analyzing Java and other languages, including VHDL
These programs are available under almost all operating systems and can save eps. For more primitive drawings, xfig is also available, but only under Unix/Linux. With graphviz, images of graphs can be generated automatically, e.g. also of internal data structures.
jabref jabref.sourceforge.net (managing the bibliography)
Do not use unlicensed software under any circumstances!
Important notes on writing the paper: (including the topic of plagiarism)
Citation style: Citations from the reference literature (primary and secondary literature):
- if shorter than 3 lines: in running text with quotation marks;
- if longer than 3 lines: indented as a separate paragraph.
Sources: when?
After each quotation from the reference literature: (author/page number)
Example: "This text is copied from Reference One, page 14" ([1], p.14).
After each adoption of facts, thoughts, suggestions from works of reference literature (paraphrase).
Example: This statement appears very similarly in Text One [1].
Plagiarism:
It is not permitted to use external sources without reference! (this includes illustrations).
Please also read this text:
de.wikipedia.org/wiki/Plagiarismus (please also see the English link!).
Wikipedia: Wikipedia in general is not a verified encyclopedia! So be careful with the content (please improve contributions if necessary - as a contribution for all!) and do not quote extensively! (In general: encyclopedias should not be used as a source for quotations)
Additional notes on elaboration:
The LaTeX source code must be compilable on our computers!
Unix/Linux file names are case-sensitive, a common error is incorrect file names originating from PC file systems!
(e.g. picture.eps is not the same as picture.EPS or Picture.eps)
We can print a limited number of colored pictures in your design on our color laser printer.
Please note the following instructions for the written elaboration! (List is incomplete and preliminary)
Last but not least: Make backups of your data if you are working at home!
You can (should) always have a current copy of your data/files on our computers that is not older than 2 days; simply copy everything via sftp or USB stick to your digi account! Disk crashes are not a reason for renewal!!!
Checklist for the submission
Writing and documenting code:
Please always remember that comments and documentation make up more than 50% of good code! Uncommented and undocumented code is almost unusable later and therefore almost worthless!
Writing code:
- please write clearly and readably!
- please provide the code with detailed comments(in English, without umlauts)!
- please document all algorithms in pseudocode, if possible already for planning(!)
- for Java please use JavaDoc and for VHDL VHDLDoc.
- Please check the code with FindBugs!
- the code should clearly reflect the architecture diagram (from the documentation!)
For the documentation of Java code:
- First, please provide an overview of the program and class structure as well as the concept of the data structures used and the program flow.
- A sub-chapter for each (important) class
- Description of functionality, variables, methods, functions, function parameters, etc. within the classes; please use tables and images!
- Description of all algorithms
- Examples of the program functions (test cases and data)
- An appendix (or part of the general description) in which all files belonging to the code are listed!
For the documentation of VHDL/Verilog code:
- Top-level diagram of the design and associated description, including the file structure
- A sub-chapter for each (important) module
(please specify the file where the module can be found) - Description of sub-modules, structure (e.g. register transfer idea), interfaces (I/Os), specific timing, other constraints/features
- Description of all algorithms
- Examples of hardware functions (test cases and data)
- Implementation and description of testbenches!!!
- In general: Draw your own pictures, use automatically generated block diagrams (from the design tools) only in exceptional cases!
Notes on the presentation slides:
The presentation should not exceed 20 minutes.
We normally allow 1.5 minutes per slide.
Please do not use animations if possible!