Wolfram Computation Meets Knowledge

Wolfram Summer School


Miguel Bravo Vidales

Science and Technology

Class of 2019


Miguel Angel is a Master of Computer Science student at Tec de Monterrey, Mexico. After obtaining his bachelor’s in Informatics Technology, he went to co-found two startups and had been a freelance web and mobile developer for five years; he also helped create several communities related to programming, startups, and technology. He has given several talks about Informatic Security, Programming and Business and also been in several hackathons both as a mentor and as a participant. His interests are heavily related to the use of computer science applied to education, but he is also interested in Informatics Security, Startup Development and Video Games.

Computational Essay: Dictionary attacks using Wolfram Language

Project: Wolfram Language using Scratch Blocks


The goal is to create a web application to teach programming to little kids using the Wolfram Language and Scratch Blocks as an interface. The main objectives of the project are to:

  • Create a useful design experience for the kids so that its intuitive and interesting enough for them.
  • Make it possible for them to use their previous outputs to evaluate them using other functions, just like in a regular Wolfram Notebook.
  • Create a persistence layer so that the web application maintains its state and can communicate correctly with the Wolfram Language server.

Summary of Results

I have managed to develop a web application based on the specifications of Scratch 3.0 using React for the front end and the recently released Wolfram Engine in the backend using the Python library wolframwebengine to connect to the application and communicate with the Wolfram Engine. The application works locally right now, but there is the possibility to deploy it in the cloud, and it also works well on mobile devices.

Future Work

A method to have the blocks look less cluttered horizontally is still needed. There is a potential for anyone to add additional Wolfram Language functions and definitions, and they should work just as well; the same is true with additional tutorials and Wolfram Challenges. There is also the possibility to have everything in the cloud so the user just needs to log in to get their project anywhere. There is also the possibility to package everything as a standalone app for desktop or tablets.