Students computer science or software engineering can take up projects and participate in the SubScript project. This is a great opportunity to learn Scala and also programming with Process Algebra. Depending on the subject you are even likely to interact with some of the world’s top technologists: the Scala Team at EPFL and JetBrains, the makers of IntelliJ. This makes continued participation attractive.
Below three directions for student projects. Each may would be good for 150 up to 750 working hours, whatever is desired.
Direction 1: Enhance current implementation of SubScript-Scala
There is still plenty to do on the current implementation. You may do:
- make a SubScript plugin for the IntelliJ IDE
- improve the SubScript debugger
- improve the koans
- make a learning environment like 4Clojure, using ScalaJS or even SubScriptJS if that is available in time
The project would involve some of the following tasks:
- create bridge libraries for working with JS GUI controls and NodeJS
- develop examples, both for client-side and server-side/NodeJS applications
- develop a site for easy experimentation with SubScriptJS, like ScalaJS-Fiddle.
Direction 3: Discrete Event Simulation
A predecessor of SubScript was successfully applied to discrete event simulation, e.g., see the paper in these conference proceedings starting at page 229. Something similar, and even better, is possible for SubScript. As a use case you could develop a simulator for railway systems; here is a reference project (shorter paper); it is based on the process theory CSP, that preceded ACP.