Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/kajizukataichi/stem
Stem: Turing Educational Machine
https://github.com/kajizukataichi/stem
computer-science education emulator turing-machine
Last synced: about 11 hours ago
JSON representation
Stem: Turing Educational Machine
- Host: GitHub
- URL: https://github.com/kajizukataichi/stem
- Owner: KajizukaTaichi
- License: mit
- Created: 2024-06-02T05:35:16.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2024-06-25T04:27:19.000Z (6 months ago)
- Last Synced: 2024-11-06T15:21:15.116Z (about 2 months ago)
- Topics: computer-science, education, emulator, turing-machine
- Language: Rust
- Homepage:
- Size: 19.5 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Stem
The simple emulator of turing machine.The name is recursive acronym of "Stem: Turing Educational Machine".
It's designed use for STEM education.## Specification
- "tape": include UTF-8 character as symbol
- "start_state": initial state when start run
- "transitions": define rules of transitions### Key format of transitions
Write split "_" underscore.
The left designate state, the right designate symbol that will read## Example
This is to bit flipping.
```
{
"tape": "11010010",
"start_state": "q0",
"transitions": {
"q0_0": { "write": "1", "direction": "Right", "next_state": "q0" },
"q0_1": { "write": "0", "direction": "Right", "next_state": "q0" }
}
}
``````bash
Stem: Turing Educational Machine
-----------------------------------
Current State: q0, Read: 1
[1] 1 0 1 0 0 1 0
Write: 0, Move: Right, Next State: q0
0[1] 0 1 0 0 1 0Current State: q0, Read: 1
0[1] 0 1 0 0 1 0
Write: 0, Move: Right, Next State: q0
0 0[0] 1 0 0 1 0Current State: q0, Read: 0
0 0[0] 1 0 0 1 0
Write: 1, Move: Right, Next State: q0
0 0 1[1] 0 0 1 0Current State: q0, Read: 1
0 0 1[1] 0 0 1 0
Write: 0, Move: Right, Next State: q0
0 0 1 0[0] 0 1 0Current State: q0, Read: 0
0 0 1 0[0] 0 1 0
Write: 1, Move: Right, Next State: q0
0 0 1 0 1[0] 1 0Current State: q0, Read: 0
0 0 1 0 1[0] 1 0
Write: 1, Move: Right, Next State: q0
0 0 1 0 1 1[1] 0Current State: q0, Read: 1
0 0 1 0 1 1[1] 0
Write: 0, Move: Right, Next State: q0
0 0 1 0 1 1 0[0]Current State: q0, Read: 0
0 0 1 0 1 1 0[0]
Write: 1, Move: Right, Next State: q0
0 0 1 0 1 1 0 1[_]
```