Seminar Papers—How To
—English below—
Hinweise zu den Ausarbeitungen
- Die Ausarbeitung eurer Vorträge erfolgt ausnahmslos in LaTeX. Hierfür soll die zweispaltige Formatvorlage SIGCONF Proceedings der ACM verwendet werden. Ihr könnt die Original-Vorlage herunterladen oder diese reduzierte Version benutzen.
- Für Grafiken empfehlen wir euch im Weiteren das LaTeX-Paket TikZ zu verwenden.
- Die Ausarbeitung soll insgesamt 4-6 Seiten umfassen und auf Englisch verfasst werden.
- [Für unsere Programmierseminare:] Deine Ausarbeitung sollte eine Art Diskussion enthalten, in der du deine Arbeit im Hinblick auf folgende Aspekte kritisch überprüfst:
- Leistungsanalyse (O-Notation). Bitte keine Messungen einfügen, wie lange das Programm auf deinem persönlichen Laptop lief. Diese Zahlen sagen uns nichts.
- Skalierbarkeit. Erhöht sich die Laufzeit erheblich, wenn größere Eingaben gewählt werden? Wann werden Platzbeschränkungen erreicht (z.B. Stack Overflow)?
- Programmiersprache. War die Programmiersprache im Nachhinein für das Problem geeignet? Welche Spracheigenschaften waren besonders nützlich/schwierig?
- deine Implementierung. Gibt es Aspekte der Implementierung, die du beim nächsten Mal anders machen würdest?
- Für sprachliche Korrektheit im Englischen empfehlen wir die Nutzung von Grammarly, DeepL oder ähnlichen Tools (kein ChatGPT).
- Literatur zur Verbesserung deines Schreibstils: Zobel, Justin: Writing for Computer Science
Deadline ist der 15. März im Wintersemester und 15. September im Sommersemester. Bitte schicke eine E-Mail mit deiner Implementierung, den Folien und der Ausarbeitung an deine:n Betreuer:in.
Häufige Fehler
Studentische Ausarbeitungen sind/haben häufig… | Stattdessen bitte… |
---|---|
❌ inhaltlich unvollständig | ✅ Abstract, Introduction, Diskussion (kritische Betrachtung) und Conclusion sind feste Bestandteile einer Ausarbeitung. |
❌ orthographische und grammatikalische Fehler | ✅ Grammarly, DeepL oder ähnliche Tools nutzen. |
❌ Zeichensetzungsfehler | ✅ Verwendung von Kommas, Bindestrichen, Gedankenstrichen, Semikola und Doppelpunkten sind im Englischen anders als im Deutschen. |
❌ Passiv | ✅ möglichst viele Sätze im Aktiv schreiben: “I/we analyse/implement/investigate” ist völlig in Ordnung. |
❌ komplizierte Sätze, die intelligent klingen (sollen) | ✅ KISS ist beim Schreiben genauso wichtig wie beim Programmieren. |
❌ Textwände vs. Ein-Satz-Absätze/Sections | ✅ angemessene Absatzlängen wählen. |
❌ prahlerische Phrasen wie “obviously”, “very easy”, “as we all know” | ✅ objektiv bleiben. Im besten Fall ist etwas “well-known”. |
❌ “ie”, “i. e.”, “… mammals e.g. elephants, …” | ✅ Bedeutungsunterschied i.e. und e.g. inkl. Kommaregeln |
❌ “there are 3 different …” | ✅ Zahlen von 1 bis 10 ausschreiben. When to spell out numbers |
❌ mehrere Synonyme, um Ausdrücke zu variieren und Wiederholungen zu vermeiden | ✅ bei einem Wort/einer Phrase für ein Konzept bleiben, um den Leser nicht zu verwirren. |
❌ verminderte Aussagekraft durch Füllwörter etc. | ✅ klar und deutlich schreiben (auch wenn es kühn klingt). |
❌ “in figure 3…”, “in the upcoming Section…” | ✅ Wenn eine Abbildung, eine Tabelle, ein Abschnitt,… durch eine Nummer referenziert wird, schreibe groß. Wenn nicht, wird im Englischen klein geschrieben. |
Zusätzlich,
- Listings (Codebeispiele): Caption verwenden, im Text darauf verweisen, Zeilennummerierung angeben, Syntaxhervorhebung und angemessene Schriftart (typewriter-style) verwenden
- Abbildungen: Caption verwenden (unter der Abbildung), im Text darauf verweisen, auf ähnliche Abstände nach oben und unten achten
- Tabellen: Caption verwenden, im Text darauf verweisen, Verwendung von Booktabs
Bewertungskriterien
Für die Ausarbeitungen werden folgende Bewertungskriterien herangezogen:
- Form (Textsatz, Abbildungen, Formatierung)
- Sprache (Grammatik, Verständlichkeit)
- Darstellung der eigenen Lösung (Verständlichkeit, Korrektheit, Nachvollziehbarkeit, kritische Betrachtung)
In der Regel macht die Ausarbeitung den Großteil der Endnote aus.
Beispiele vergangener, (sehr) guter Ausarbeitungen
- Befunge-93 in SQL (Tim Fischer) [SQL is a Programming Language]
- Distance-Vector Routing With SQL (Alexej Onken) [SQL is a Programming Language]
Notes on Seminar Papers
- The paper of your programming topic must be written with LaTeX. For this purpose the two-column SIGCONF Proceedings template must be used. You can use the original template or this reduced version.
- For figures, you can use TikZ.
- The paper should be 4-6 pages in total and written in English.
- [for our programming seminars:] Your paper should include some form of discussion where you critically review your work in terms of
- performance analysis (O-notation). Please, do not include measurements on how long the programm ran on your personal laptop. These numbers don’t tell us anything.
- scalability. Does run time increase significantly when choosing larger inputs? When are space limitations met (e.g. stack overflow)?
- programming language. In hindsight, was the programming language appropriate for the problem? Which language properties were especially useful/difficult?
- your implementation. Are there aspects of the implementation you would do differently next time?
- For linguistic correctness in English, we recommend using Grammarly, DeepL or similar tools (not ChatGPT).
- Literature to improve your writing: Zobel, Justin: Writing for Computer Science
Deadline for submissions is March 15 in winter term, and September 15 in summer term. Please send an e-mail including your implementation, slides and paper to your supervisor.
Common pitfalls
we often find student papers to be/have… | please, instead … |
---|---|
❌ incomplete in terms of content | ✅ abstract, introduction, discussion (critical view) and conclusion are also inherent parts of a paper. |
❌ frequent orthographic and grammatical errors | ✅ use Grammarly, DeepL or similar tools. |
❌ punctuation errors | ✅ use commas, hyphens, dashes, semicolons, and colons correctly (different from German). |
❌ passive voice | ✅ use active voice as often as possible: “I/we analyse/implement/investigate” is perfectly fine. |
❌ complicated sentences that (are supposed to) sound intelligent | ✅ KISS is as important for writing as for programming. |
❌ wall of text vs. one sentence paragraphs/sections | ✅ choose appropriate paragraph lengths. |
❌ show off your intellect by using phrases like “obviously”, “very easy”, “as we all know” | ✅ stay objective. At best, something is “well-known”. |
❌ ie, i. e., “… mammals e.g. elephants, …” | ✅ know your latin. |
❌ “there are 3 different …” | ✅ spell out numbers 1-10. When to spell out numbers. |
❌ several synonyms to vary expressions and avoid repitition | ✅ stick to one word/phrase for a concept, no need to confuse the reader. |
❌ lessen the strength of your statements by using filling words etc. | ✅ be clear (even if it feels bold). |
❌ “in figure 3…”, “in the upcoming Section…” | ✅ If a figure, table, section,… is referenced by number, capitalize. If not, don’t. |
Additionally,
- listings: provide a caption, reference it in the text, provide line numbering, use syntax highlighting and a typewriter-style font
- figures: provide a caption (below!), reference it in the text, pay attention to similar spacing above and below the figure
- tables: provide a caption, reference it in the text, use booktabs style
Evaluation Criteria
The following evaluation criteria will be applied to the papers:
- Form (typesetting, illustrations, formatting)
- Language (grammar, comprehensibility)
- Presentation of the own solution (intelligibility, correctness, comprehensibility, critical view)
As a rule, the paper makes up the main part of the final grade.
Examples of past, (very) good seminar papers
- Befunge-93 in SQL (Tim Fischer) [SQL is a Programming Language]
- Distance-Vector Routing With SQL (Alexej Onken) [SQL is a Programming Language]