Informatik-Seminar
Vortrag
Anhaltspunkte, wie man einen guten Vortrag zu einem Forschungsthema hält, bieten der Vortrag “How to give a great research talk” von Simon Peyton-Jones sowie der Text “How to Write a Conference Talk” von Michael Hicks.
Ausarbeitung
Die Ausarbeitung soll in LaTeX erstellt werden und das sigconf
-Format der Accociation for Computing Machinery (ACM) verwenden. Dazu nutzen Sie das LaTeX-Paket acmart
mit der Option sigconf
. Sie können hier eine Zip-Datei mit der Dokumentation des Paketes acmart
herunterladen. Im Ordner samples
befinden sich Beispiel-Dateien. Die Dateien sample-sigcon.tex
und sample-sigconf.pdf
illustrieren, wie Sie die Option sigconf
und das acmart
-Paket verwenden und wie das erzeugte PDF-Dokument aussieht.
Recherche
Im Zuge Ihrer Ausarbeitung sollten Sie sich ggf. auch mit Arbeiten beschäftigen, die von Ihrer Arbeit zitiert werden. Um diese Arbeiten ausfindig zu machen, können Sie zum Beispiel die Google-Scholar-Suche nutzen. Sollten Sie nicht in der Lage sein, eine PDF-Version einer Arbeit zu finden, wenden Sie sich bitte an mich.
Themen
Der kurze Text “How to Read a Paper” gibt einen oberflächlichen Einblick in das Lesen von wissenschaftlichen Arbeiten.
Programmiersprachen
- A History of Haskell: being lazy with class (vergeben)
- A History of Erlang (frei)
- Julia: A fast dynamic language for technical computing (vergeben)
- Experience Report: Developing the Servo Web Browser Engine using Rust + weitere Ressourcen zur Sprache Rust (vergeben)
Funktionale Programmierung
- QuickCheck: A Lightweight Tool for Random Testing of Haskell Programs (vergeben)
- LiquidHaskell: Experience with Refinement Types in the Real World (vergeben)
- Theorems for free! (vergeben)
- Playing by the rules: rewriting as a practical optimisation technique in GHC (frei)
- Composable memory transactions (frei)
- Monadic parsing in Haskell (frei)
- Practical probabilistic programming with monads (frei)
Machine Learning
- A Survey of Machine Learning for Big Code and Naturalness (frei)
- code2vec: Learning Distributed Representations of Code (frei)
- Deep learning type inference (frei)
- Predicting Variable Types in Dynamically Typed Programming Languages (frei)
- Neural machine translation by jointly learning to align and translate (frei)
- Phrase-Based Statistical Translation of Programming Languages (frei)
Programming Language Features
- To type or not to type: quantifying detectable bugs in JavaScript (vergeben)
- An empirical study on program comprehension with reactive programming (vergeben)
- Propositions as Types (vergeben)
- Precise Identification of Side-effect-free Methods in Java (frei)
- Debugging data flows in reactive programs (frei)
- JSNOSE: Detecting JavaScript Code Smells (vergeben)
IT-Security
- A Perspective on Information-Flow Control (vergeben)
- Formal verification of a realistic compiler (frei)
- Racing Towards Practical Remote Timing Attacks (frei)
- An empirical study of privacy-violating information flows in JavaScript web applications (vergeben)
- JSFlow: tracking information flow in JavaScript and its APIs (vergeben)
Education
- Learning how to Prove: From the Coq Proof Assistant to Textbook Style (frei)
- Teaching how to program using automated assessment and functional glossy games (vergeben)
- Towards an Analysis of Program Complexity From a Cognitive Perspective (vergeben)
- Teaching Programming with Gamified Semantics (vergeben)
- Identifying student misconceptions of programming (vergeben)