1. Regular expression learning game The aim is to develop a game that helps students learn about regular expressions, which is something every CS student in the world has to master. It may not sound like fun at first, and it would certainly be possible to make a very tedious game. However, the aim is to make the game as interesting as possible by coming up with new challenges that are appropriate for the player’s level. At the lowest level, the questions can be fairly obvious, such as: does string w match reg exp e. As the player progresses, more challenges can be unlocked (and badges won), such as: find a string w that matches both of e1 and e2, or only e1 and not e2Íž or: write an the expression e (perhaps of minimal size) such that two given strings w1 and w2 are matched. On the technical level, the reason that a game like this can work is that regular expressions are closed under many operations like union, intersection and negation, so the game can determine correct answers even for quite complex challenges. The game can be implemented in any language that has a good regular expression library, e.g. Java, C++, or Haskell. If implemented in Javascript, it could be brower game, and thus easy to use without having to install anything. 2. IoT architectures. How should devices be connected to the internet? If they are directly addressable, they are vulnerable to attack. If they are mediated by cloud services, it is privacyinvasive and may not be economic (an IoT device is too cheap and lasts too long to pay for a dedicated cloud service). The project involves designing and experimenting with protocols that address these problems.