# Topic Ideas

- Entity Component System
  - links/resources
    - [Anatomy of a Knockout](http://www.chris-granger.com/2012/12/11/anatomy-of-a-knockout/)
- Material Point Method
- Parser Combinators
- [Conflict-free replicated data type](https://en.wikipedia.org/wiki/Conflict-free_replicated_data_type)
- Blockchain
  - ...
- Neuronale Netze
  - Deep Learning
- Support Vector Machine
- Monte Carlo Tree Search
  - Anwendungsfall: Alpha Go KI
  - [*Silver, David, et al.* "Mastering the game of Go with deep neural networks and tree search" ](https://pdfs.semanticscholar.org/1740/eb993cc8ca81f1e46ddaadce1f917e8000b5.pdf)
- Z3 (Complex Constraint Solver, SMT)
- Constraint Solver (Vergleich)
  - Cassowary
  - Gradient Descent
  - Backtracking/Backtalk
- Prolog
- Path finding Algorithm (Comparison, Dijstra, A*)
- Compression (Zip, ...)
- Regular Expressions
  - NFA- and DFA vs. Backtracking
- Easy Topics:
  - Levenshtein distance
  - Epidemic Change Propagation (Techniques for suppressing duplicate operations)
- Alpha-beta pruning (AI, Treesearch)
- Learnable Programming
  1. Follow the flow
  2. See the state
  3. Create by reacting
  4. Create by abstracting
- Stable Treemap Algorithm
- Graph Layout Vergleich (Simulated Annealing vs force Layout)
- GPU Graph Base Search
- Your Topic!

## SWD 2009

- SketchPad
- ThingLab
- Fabrik
- Actors
- Prototypes
- Self
- Erlang
- E / Caja (Object-capability security)
- Newspeak (No global state through dynamic lookup of classes and methods)
- TeX (Page layout as an optimization problem)
- Operational Transformations
- CouchDB
- Scala

## SWD 2010

###  Example Demos

Example Demos
- An rectangle packing algorithm – http://lively-kernel.org/repository/webwerkstatt/demos/RectanglePacker.xhtml
- Simple constraints – http://lively-kernel.org/repository/webwerkstatt/demos/SimpleConstraints.xhtml
- TeX Paragraph Layout – http://lively-kernel.org/repository/webwerkstatt/demos/contextjs/media/Pape_2010_WDE_TeX_Screencast.mov


### Topics

- Constraint Solver
- Programming with Constraints
- Object-capabilities
- Alternative Property Lookup (NewtonScript)
  - Integrating the UI Scene Graph into name lookup (message dispatch / method lookup)
- Perspectives (Self / Us)
  - Static layer composition as perspectives (Us)
- Pathfinding algorithms
- Lempel-Ziv-Welch-Algorithm
- Discrete cosine transform (JPEG)
- Operational Transformations
- Distribution Boundary (Distributed Systems / Jini)
- Regular Expressions
  - NFA- and DFA vs. Backtracking
- Levenshtein distance
 - Epidemic Change Propagation (Techniques for suppressing duplicate operations)
- Object Abstractions in Maxine

## SWD 2011

- Promise Pipelining
- Alternative Property Lookup
- Nested Classes Lookup (Newspeak)
- Online Object Observation

## SWD 2012

- Constraints in user interaction
- Iteration in Data Flow Languages
- Constraint based Layouting
- Paragraph Layout in TeX
- Alpha-beta pruning
- Levenshtein distance
- Learnable Programming 1. Follow the flow
- Learnable Programming 2 See the state
- Learnable Programming 3 Create by reacting
- Learnable Programming 4 Create by abstracting
- Algorithmen zum Lösen eines Sudokus
- Monte-Calo Tree Search
- Route calculation on navigation systems
- Bundleviews
- Layouting von Treemaps 
- Diff-Algorithmen




