项目作者: RinatValiullov

项目描述 :
Visualization of common programming constructions...
高级语言:
项目地址: git://github.com/RinatValiullov/visum.js.git
创建时间: 2017-08-19T14:28:53Z
项目社区:https://github.com/RinatValiullov/visum.js

开源协议:MIT License

下载


visum.js

Visualization of general programming constructions…

Я вижу этот проект как некое пособие для новичков, которого мне не хватало, когда я начинал изучать программирование, в частности веб-программирование (к слову сказать это было очень недавно и по-серьезному я начал только несколько месяцев назад; так что мы все здесь на одном уровне).

Если обратиться к аналогиям и примерам, то могу привести пример визуализации алгоритмов сортировки: 15 Sorting Algorithms in 6 Minutes. В этом видео достаточно хорошо видно как же сортировка происходит на самом деле (различные алгоритмы) в реал-тайм, если так можно выразиться. Можно как пример привести различные визуализации математических и физических процессов, концепций и так далее. Наверняка вы видели нечто подобное у Wolfram. Но суть не в этом…

Первым кейсом я вижу работу стека. Сразу скажу, что сам не до конца понимаю и знаю, но постараюсь закрыть эту брешь
wiki

Конечно же с нуля это создавать не целесообразно и трудно, поэтому сделал файл, где привел ссылки на библиотеки: extra_links. Позже, изучив возможности этих библиотек я выберу наиболее подходящую под нужды проекта.

По поводу стека:

У нас есть стек из n элементов. Пользователь может добавлять или убирать элементы из вершины стека посредством перетаскивания либо нажатием на кнопки (юзер-интерфейс короче). Также есть возможность посмотреть анимацию как это происходит с дополнительными объяснениями (в виде субтитров):

  • создание стека
  • включение элемента в стек
  • выборка элемента из стека
  • извлечение данных
  • уничтожение стека

По поводу binary representation:


Можно также в качестве первого примера выбрать бинарное представление чисел. Думаю вполне реально анимировать это красиво. Над конкретной реализацией происходящего на экране, а также как будет происходить интерактив подумаю позже. Предложения в issue приветствуются. Будут рассмотрены все идеи и замечания!