Software

All software except the Scratch projects can be found on GitHub

  • Robotics: Tutorial on the Visual Programming Language (VPL) and a document with programming examples and projects using the Aseba textual language. Tutorial on the use of Python to program the Thymio robot.
  • Scratch textbook (English, Hebrew).
  • Scratch projects for: learning mathematics, Karel the Robot, Braitenberg vehicles, computer science unplugged, Thymio robot simulation, gear animation.
  • LearnSAT: A program written in Prolog designed to facilitate learning the central algorithms used by modern SAT solvers: the DPLL algorithm together with conflict-directed clause-learning, non-chronological backtracking and lookahead. A very detailed trace of the algorithm's execution is displayed and the specific content of the trace can be set by the user. LearnSAT generates DOT files for the implication graphs and the tree of assignments.
  • Erigone is a partial reimplementation of the Spin model checker intended to facilitate learning concurrency and model checking. It is single, self-contained, executable file so that installation and use are trivial and it produces a detailed trace of the model checking algorithms. The VN tool for visualization of nondeterministic finite automata is integrated into Erigone.
  • DAJ is an interactive, visual aid for studying distributed algorithms. Interactive, because you must explicitly specify every step of the interleaved execution sequence. Visual, because the state of the nodes is continuously displayed. Study aid, because they solve one of the most difficult problems encountered by students of these algorithms by automatically doing the necessary book-keeping. Fourteen algorithms are current implemented, and you can implement other algorithms with  an elementary knowledge of Java.
  • jSpin (outdated) is a simple integrated development environment for the Spin model checker.
  • jBACI (outdated) is a concurrency simulator with an integrated development environment.