There are two design goals in `sm1`.
One goal is to provide a backend engine for the ring of differential
operators in a
heterotic distributed computing system.
Another interesting design goal is to help to teach basics of
intermediate level computer science quickly
and invite students to mathematical programmers' world.
It is a fun to learn computer science with `sm1`!
Here are some topics that I tried in class rooms.
These are intermediate level topics that should be learned after
students have learned elementary programming by languages like
Pascal, C, C++, Java, Basic, Mathematica, Maple, Macaulay 2, etc.

- Recursive call and the stack
- Implementing a Java-like language
- Interactive distributed computing
- More exercises

Nobuki Takayama 2020-11-24